tabpy 2.6.0__tar.gz → 2.7.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tabpy-2.7.1/.github/ISSUE_TEMPLATE/tabpy-issue-report.md +28 -0
- tabpy-2.7.1/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +36 -0
- tabpy-2.7.1/.github/workflows/coverage.yml +39 -0
- tabpy-2.7.1/.github/workflows/docker-publish.yml +47 -0
- tabpy-2.7.1/.github/workflows/lint.yml +39 -0
- tabpy-2.7.1/.github/workflows/pull_request.yml +31 -0
- tabpy-2.7.1/.github/workflows/push.yml +32 -0
- tabpy-2.7.1/.gitignore +131 -0
- tabpy-2.7.1/.pep8speaks.yml +4 -0
- tabpy-2.7.1/.scrutinizer.yml +35 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/CHANGELOG +228 -221
- tabpy-2.7.1/CONTRIBUTING.md +146 -0
- tabpy-2.7.1/Dockerfile +14 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/LICENSE +21 -21
- {tabpy-2.6.0 → tabpy-2.7.1}/MANIFEST.in +0 -0
- {tabpy-2.6.0/tabpy.egg-info → tabpy-2.7.1}/PKG-INFO +269 -262
- {tabpy-2.6.0 → tabpy-2.7.1}/README.md +54 -54
- tabpy-2.7.1/_config.yml +1 -0
- tabpy-2.7.1/app.json +19 -0
- tabpy-2.7.1/codeql-analysis.yml +71 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/TableauConfiguration.md +164 -164
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/about.md +18 -18
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/deploy-to-heroku.md +13 -13
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/img/Example1-SimpleFunctionCall.png +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/img/Example2-MultipleFunctionCalls.png +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/img/python-calculated-field.png +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/security.md +23 -23
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/server-config.md +348 -309
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/server-install.md +65 -65
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/server-rest.md +179 -179
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/tabpy-tools.md +449 -449
- {tabpy-2.6.0 → tabpy-2.7.1}/docs/tabpy-virtualenv.md +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/misc/TabPy.postman_collection.json +180 -180
- {tabpy-2.6.0 → tabpy-2.7.1}/misc/TabPy.yml +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/requirements.txt +2 -2
- {tabpy-2.6.0 → tabpy-2.7.1}/requirements_dev.txt +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/setup.cfg +29 -29
- {tabpy-2.6.0 → tabpy-2.7.1}/setup.py +108 -107
- tabpy-2.7.1/start.sh +23 -0
- tabpy-2.7.1/tabpy/VERSION +1 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/deploy_models.py +26 -26
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/scripts/ANOVA.py +22 -22
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/scripts/PCA.py +60 -60
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/scripts/SentimentAnalysis.py +52 -52
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/scripts/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/scripts/tTest.py +39 -39
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/utils/setup_utils.py +58 -58
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy.py +48 -48
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/app/app.py +499 -445
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/app/app_parameters.py +47 -40
- tabpy-2.7.1/tabpy/tabpy_server/app/arrow_server.py +143 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/app/util.py +88 -88
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/common/default.conf +69 -69
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/common/endpoint_file_mgr.py +94 -94
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/common/messages.py +172 -172
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/common/util.py +3 -3
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/__init__.py +17 -13
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/base_handler.py +444 -444
- tabpy-2.7.1/tabpy/tabpy_server/handlers/basic_auth_server_middleware_factory.py +48 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/endpoint_handler.py +142 -142
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/endpoints_handler.py +76 -76
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/evaluation_plane_handler.py +206 -161
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/management_handler.py +150 -150
- tabpy-2.7.1/tabpy/tabpy_server/handlers/no_op_auth_handler.py +8 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/query_plane_handler.py +234 -234
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/service_info_handler.py +23 -23
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/status_handler.py +29 -29
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/upload_destination_handler.py +21 -21
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/util.py +38 -38
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/management/state.py +643 -643
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/management/util.py +45 -45
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/psws/callbacks.py +205 -205
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/psws/python_service.py +275 -275
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/state.ini.template +15 -15
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/static/index.html +71 -71
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/client.py +389 -389
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/custom_query_object.py +83 -83
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/query_object.py +108 -108
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/rest.py +423 -423
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/rest_client.py +252 -252
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/schema.py +108 -108
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/utils/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/utils/tabpy_user.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1/tabpy.egg-info}/PKG-INFO +269 -262
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy.egg-info/SOURCES.txt +21 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy.egg-info/requires.txt +1 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/integ_test_base.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/resources/2019_04_24_to_3018_08_25.crt +23 -23
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/resources/2019_04_24_to_3018_08_25.key +27 -27
- tabpy-2.7.1/tests/integration/resources/data.csv +47 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/resources/deploy_and_evaluate_model.conf +57 -57
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/resources/deploy_and_evaluate_model_auth.conf +57 -57
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/resources/pwdfile.txt +0 -0
- tabpy-2.7.1/tests/integration/test_arrow_server.py +59 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_auth.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_custom_evaluate_timeout.py +38 -38
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_and_evaluate_model.py +29 -29
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_and_evaluate_model_auth_on.py +34 -34
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_and_evaluate_model_ssl.py +43 -43
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_model_ssl_off_auth_off.py +20 -20
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_model_ssl_off_auth_on.py +26 -26
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_model_ssl_on_auth_off.py +30 -30
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_model_ssl_on_auth_on.py +80 -80
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_evaluate.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_gzip.py +101 -101
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_url.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_url_ssl.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/resources/expired.crt +13 -13
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/resources/future.crt +72 -72
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/resources/valid.crt +23 -23
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_config.py +365 -365
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_endpoint_file_manager.py +13 -13
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_endpoint_handler.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_endpoints_handler.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_evaluation_plane_handler.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_pwd_file.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_service_info_handler.py +141 -141
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/tools_tests/__init__.py +4 -4
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/tools_tests/test_client.py +92 -92
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/tools_tests/test_rest.py +234 -234
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/tools_tests/test_rest_object.py +63 -63
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/tools_tests/test_schema.py +33 -33
- tabpy-2.6.0/tabpy/VERSION +0 -1
- {tabpy-2.6.0 → tabpy-2.7.1}/Procfile +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/utils/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/app/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/common/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/management/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/psws/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/static/TabPy_logo.png +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/static/tableau.png +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy.egg-info/dependency_links.txt +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy.egg-info/entry_points.txt +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tabpy.egg-info/top_level.txt +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/__init__.py +0 -0
- {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/__init__.py +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: TabPy Issue Report
|
|
3
|
+
about: Create a report to help us improve
|
|
4
|
+
title: ''
|
|
5
|
+
labels: question
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Environment information:**
|
|
11
|
+
- OS: [Windows, Linux, Mac] and version
|
|
12
|
+
- Python version: [e.g. 3.6.5]
|
|
13
|
+
- TabPy release: [e.g. 0.4.1]
|
|
14
|
+
|
|
15
|
+
**Describe the issue**
|
|
16
|
+
A clear and concise description of what the issue is.
|
|
17
|
+
|
|
18
|
+
**To Reproduce**
|
|
19
|
+
Steps to reproduce the behavior: what commands to run, what files to modify, where to look for an error.
|
|
20
|
+
|
|
21
|
+
**Expected behavior**
|
|
22
|
+
A clear and concise description of what you expected to happen.
|
|
23
|
+
|
|
24
|
+
**Screenshots**
|
|
25
|
+
If applicable, add screenshots to help explain your problem.
|
|
26
|
+
|
|
27
|
+
**Additional context**
|
|
28
|
+
Add any other context about the problem here.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Description
|
|
2
|
+
|
|
3
|
+
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
|
|
4
|
+
|
|
5
|
+
Fixes # (issue)
|
|
6
|
+
|
|
7
|
+
## Type of change
|
|
8
|
+
|
|
9
|
+
Please delete options that are not relevant.
|
|
10
|
+
|
|
11
|
+
- [ ] Bug fix (non-breaking change which fixes an issue)
|
|
12
|
+
- [ ] New feature (non-breaking change which adds functionality)
|
|
13
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
|
14
|
+
- [ ] This change requires a documentation update
|
|
15
|
+
|
|
16
|
+
# How Has This Been Tested?
|
|
17
|
+
|
|
18
|
+
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
|
|
19
|
+
|
|
20
|
+
- [ ] Test A
|
|
21
|
+
- [ ] Test B
|
|
22
|
+
|
|
23
|
+
**Test Configuration**:
|
|
24
|
+
* OS and version:
|
|
25
|
+
* Python version:
|
|
26
|
+
|
|
27
|
+
# Checklist:
|
|
28
|
+
|
|
29
|
+
- [ ] My code follows the style guidelines of this project
|
|
30
|
+
- [ ] I have performed a self-review of my own code
|
|
31
|
+
- [ ] I have commented my code, particularly in hard-to-understand areas
|
|
32
|
+
- [ ] I have made corresponding changes to the documentation
|
|
33
|
+
- [ ] My changes generate no new warnings
|
|
34
|
+
- [ ] I have added tests that prove my fix is effective or that my feature works
|
|
35
|
+
- [ ] New and existing unit tests pass locally with my changes
|
|
36
|
+
- [ ] Any dependent changes have been merged and published in downstream modules
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: Code coverage
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
name: ${{ matrix.python-version }} on ${{ matrix.os }}
|
|
8
|
+
runs-on: ${{ matrix.os }}
|
|
9
|
+
|
|
10
|
+
strategy:
|
|
11
|
+
matrix:
|
|
12
|
+
python-version: [3.7]
|
|
13
|
+
os: [ubuntu-latest]
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v1
|
|
17
|
+
|
|
18
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
19
|
+
uses: actions/setup-python@v1
|
|
20
|
+
with:
|
|
21
|
+
python-version: ${{ matrix.python-version }}
|
|
22
|
+
|
|
23
|
+
- name: Install dependencies
|
|
24
|
+
run: |
|
|
25
|
+
python -m pip install --upgrade pip
|
|
26
|
+
pip install -r requirements.txt
|
|
27
|
+
pip install -r requirements_dev.txt
|
|
28
|
+
|
|
29
|
+
- name: Test with pytest
|
|
30
|
+
run:
|
|
31
|
+
pytest tests --cov=tabpy --cov-config=setup.cfg
|
|
32
|
+
env:
|
|
33
|
+
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
|
34
|
+
|
|
35
|
+
- name: Run coveralls
|
|
36
|
+
run:
|
|
37
|
+
coveralls --service=github
|
|
38
|
+
env:
|
|
39
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: Publish Docker Image for Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
env:
|
|
8
|
+
IMAGE_NAME: tabpy
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
# Push image to GitHub Packages.
|
|
12
|
+
# See also https://docs.docker.com/docker-hub/builds/
|
|
13
|
+
push:
|
|
14
|
+
name: Push Docker image to GitHub Packages
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout the repo
|
|
19
|
+
uses: actions/checkout@v2
|
|
20
|
+
|
|
21
|
+
- name: Build image
|
|
22
|
+
run: docker build . --file Dockerfile --tag $IMAGE_NAME
|
|
23
|
+
|
|
24
|
+
- name: Log into GitHub Container Registry
|
|
25
|
+
run: echo "${{ secrets.CR_PAT }}" | docker login https://ghcr.io -u ${{ github.actor }} --password-stdin
|
|
26
|
+
|
|
27
|
+
- name: Push image to GitHub Container Registry
|
|
28
|
+
run: |
|
|
29
|
+
IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME
|
|
30
|
+
|
|
31
|
+
# Change all uppercase to lowercase
|
|
32
|
+
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
|
|
33
|
+
|
|
34
|
+
# Strip git ref prefix from version
|
|
35
|
+
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
|
|
36
|
+
|
|
37
|
+
# Strip "v" prefix from tag name
|
|
38
|
+
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')
|
|
39
|
+
|
|
40
|
+
# Use Docker `latest` tag convention
|
|
41
|
+
[ "$VERSION" == "master" ] && VERSION=latest
|
|
42
|
+
|
|
43
|
+
echo IMAGE_ID=$IMAGE_ID
|
|
44
|
+
echo VERSION=$VERSION
|
|
45
|
+
|
|
46
|
+
docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
|
|
47
|
+
docker push $IMAGE_ID:$VERSION
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
name: Lint
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
lint:
|
|
7
|
+
name: ${{ matrix.python-version }} on ${{ matrix.os }}
|
|
8
|
+
runs-on: ${{ matrix.os }}
|
|
9
|
+
|
|
10
|
+
strategy:
|
|
11
|
+
matrix:
|
|
12
|
+
python-version: [3.7]
|
|
13
|
+
os: [ubuntu-latest]
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v1
|
|
17
|
+
|
|
18
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
19
|
+
uses: actions/setup-python@v1
|
|
20
|
+
with:
|
|
21
|
+
python-version: ${{ matrix.python-version }}
|
|
22
|
+
|
|
23
|
+
- name: Install dependencies
|
|
24
|
+
run: |
|
|
25
|
+
python -m pip install --upgrade pip
|
|
26
|
+
pip install -r requirements.txt
|
|
27
|
+
pip install -r requirements_dev.txt
|
|
28
|
+
|
|
29
|
+
- name: Lint with flake8
|
|
30
|
+
run: |
|
|
31
|
+
# stop the build if there are Python syntax errors or undefined names
|
|
32
|
+
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
|
|
33
|
+
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
|
|
34
|
+
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
|
|
35
|
+
|
|
36
|
+
- name: Markdownlint
|
|
37
|
+
uses: nosborn/github-action-markdown-cli@v1.1.1
|
|
38
|
+
with:
|
|
39
|
+
files: .
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: Test Run on Pull Request
|
|
2
|
+
|
|
3
|
+
on: [pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
name: ${{ matrix.python-version }} on ${{ matrix.os }}
|
|
8
|
+
runs-on: ${{ matrix.os }}
|
|
9
|
+
|
|
10
|
+
strategy:
|
|
11
|
+
matrix:
|
|
12
|
+
python-version: [3.7, 3.8, 3.9]
|
|
13
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v1
|
|
17
|
+
|
|
18
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
19
|
+
uses: actions/setup-python@v1
|
|
20
|
+
with:
|
|
21
|
+
python-version: ${{ matrix.python-version }}
|
|
22
|
+
|
|
23
|
+
- name: Install dependencies
|
|
24
|
+
run: |
|
|
25
|
+
python -m pip install --upgrade pip
|
|
26
|
+
pip install -r requirements.txt
|
|
27
|
+
pip install -r requirements_dev.txt
|
|
28
|
+
|
|
29
|
+
- name: Test with pytest
|
|
30
|
+
run: |
|
|
31
|
+
pytest tests
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: Test Run on Push
|
|
2
|
+
|
|
3
|
+
on: [push]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
name: ${{ matrix.python-version }} on ${{ matrix.os }}
|
|
8
|
+
runs-on: ${{ matrix.os }}
|
|
9
|
+
|
|
10
|
+
strategy:
|
|
11
|
+
matrix:
|
|
12
|
+
python-version: [3.7, 3.8, 3.9]
|
|
13
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v1
|
|
17
|
+
|
|
18
|
+
- name: Set up Python ${{ matrix.python-version }}
|
|
19
|
+
uses: actions/setup-python@v1
|
|
20
|
+
with:
|
|
21
|
+
python-version: ${{ matrix.python-version }}
|
|
22
|
+
|
|
23
|
+
- name: Install dependencies
|
|
24
|
+
run: |
|
|
25
|
+
python -m pip install --upgrade pip
|
|
26
|
+
pip install -r requirements.txt
|
|
27
|
+
pip install -r requirements_dev.txt
|
|
28
|
+
|
|
29
|
+
- name: Test with pytest
|
|
30
|
+
run: |
|
|
31
|
+
pytest tests
|
|
32
|
+
|
tabpy-2.7.1/.gitignore
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.pyc
|
|
6
|
+
|
|
7
|
+
# C extensions
|
|
8
|
+
*.so
|
|
9
|
+
|
|
10
|
+
# Distribution / packaging
|
|
11
|
+
.Python
|
|
12
|
+
build/
|
|
13
|
+
develop-eggs/
|
|
14
|
+
dist/
|
|
15
|
+
downloads/
|
|
16
|
+
eggs/
|
|
17
|
+
.eggs/
|
|
18
|
+
lib/
|
|
19
|
+
lib64/
|
|
20
|
+
parts/
|
|
21
|
+
sdist/
|
|
22
|
+
var/
|
|
23
|
+
wheels/
|
|
24
|
+
*.egg-info/
|
|
25
|
+
.installed.cfg
|
|
26
|
+
*.egg
|
|
27
|
+
MANIFEST
|
|
28
|
+
|
|
29
|
+
# PyInstaller
|
|
30
|
+
# Usually these files are written by a python script from a template
|
|
31
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
32
|
+
*.manifest
|
|
33
|
+
*.spec
|
|
34
|
+
|
|
35
|
+
# Installer logs
|
|
36
|
+
pip-log.txt
|
|
37
|
+
pip-delete-this-directory.txt
|
|
38
|
+
|
|
39
|
+
# Unit test / coverage reports
|
|
40
|
+
htmlcov/
|
|
41
|
+
.tox/
|
|
42
|
+
.coverage
|
|
43
|
+
.coverage.*
|
|
44
|
+
.cache
|
|
45
|
+
nosetests.xml
|
|
46
|
+
coverage.xml
|
|
47
|
+
*.cover
|
|
48
|
+
.hypothesis/
|
|
49
|
+
.pytest_cache/
|
|
50
|
+
*_trial_temp*
|
|
51
|
+
|
|
52
|
+
# Translations
|
|
53
|
+
*.mo
|
|
54
|
+
*.pot
|
|
55
|
+
|
|
56
|
+
# Django stuff:
|
|
57
|
+
*.log
|
|
58
|
+
local_settings.py
|
|
59
|
+
db.sqlite3
|
|
60
|
+
|
|
61
|
+
# Flask stuff:
|
|
62
|
+
instance/
|
|
63
|
+
.webassets-cache
|
|
64
|
+
|
|
65
|
+
# Scrapy stuff:
|
|
66
|
+
.scrapy
|
|
67
|
+
|
|
68
|
+
# Sphinx documentation
|
|
69
|
+
docs/_build/
|
|
70
|
+
|
|
71
|
+
# PyBuilder
|
|
72
|
+
target/
|
|
73
|
+
|
|
74
|
+
# Jupyter Notebook
|
|
75
|
+
.ipynb_checkpoints
|
|
76
|
+
|
|
77
|
+
# pyenv
|
|
78
|
+
.python-version
|
|
79
|
+
|
|
80
|
+
# celery beat schedule file
|
|
81
|
+
celerybeat-schedule
|
|
82
|
+
|
|
83
|
+
# SageMath parsed files
|
|
84
|
+
*.sage.py
|
|
85
|
+
|
|
86
|
+
# Environments
|
|
87
|
+
.env
|
|
88
|
+
.venv
|
|
89
|
+
env/
|
|
90
|
+
venv/
|
|
91
|
+
ENV/
|
|
92
|
+
env.bak/
|
|
93
|
+
venv.bak/
|
|
94
|
+
|
|
95
|
+
# Spyder project settings
|
|
96
|
+
.spyderproject
|
|
97
|
+
.spyproject
|
|
98
|
+
|
|
99
|
+
# Rope project settings
|
|
100
|
+
.ropeproject
|
|
101
|
+
|
|
102
|
+
# mkdocs documentation
|
|
103
|
+
/site
|
|
104
|
+
|
|
105
|
+
# mypy
|
|
106
|
+
.mypy_cache/
|
|
107
|
+
|
|
108
|
+
# NodeJS files and folders
|
|
109
|
+
node_modules/
|
|
110
|
+
package.json
|
|
111
|
+
package-lock.json
|
|
112
|
+
|
|
113
|
+
# OS generated
|
|
114
|
+
.DS_Store
|
|
115
|
+
|
|
116
|
+
# PyCharm
|
|
117
|
+
.idea/
|
|
118
|
+
|
|
119
|
+
# TabPy server artifacts
|
|
120
|
+
tabpy/tabpy_server/state.ini
|
|
121
|
+
tabpy/tabpy_server/query_objects
|
|
122
|
+
tabpy/tabpy_server/staging
|
|
123
|
+
|
|
124
|
+
# VS Code
|
|
125
|
+
*.code-workspace
|
|
126
|
+
.vscode/
|
|
127
|
+
|
|
128
|
+
# etc
|
|
129
|
+
setup.bat
|
|
130
|
+
*~
|
|
131
|
+
tabpy_log.log.1
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
build:
|
|
2
|
+
environment:
|
|
3
|
+
python: 3.7.6
|
|
4
|
+
nodes:
|
|
5
|
+
coverage:
|
|
6
|
+
project_setup:
|
|
7
|
+
override:
|
|
8
|
+
- pip install -r requirements.txt
|
|
9
|
+
- pip install -r requirements_dev.txt
|
|
10
|
+
tests:
|
|
11
|
+
override:
|
|
12
|
+
- command: 'pytest tests --cov=tabpy --cov-config=setup.cfg'
|
|
13
|
+
coverage:
|
|
14
|
+
file: '.coverage'
|
|
15
|
+
config_file: 'setup.cfg'
|
|
16
|
+
format: 'py-cc'
|
|
17
|
+
analysis:
|
|
18
|
+
project_setup:
|
|
19
|
+
override:
|
|
20
|
+
- pip install -r requirements.txt
|
|
21
|
+
tests:
|
|
22
|
+
override: [py-scrutinizer-run]
|
|
23
|
+
tests:
|
|
24
|
+
before:
|
|
25
|
+
- pip install -r requirements.txt
|
|
26
|
+
override: [pytest]
|
|
27
|
+
checks:
|
|
28
|
+
python:
|
|
29
|
+
code_rating: true
|
|
30
|
+
duplicate_code: true
|
|
31
|
+
filter:
|
|
32
|
+
excluded_paths:
|
|
33
|
+
- '*/tests/*'
|
|
34
|
+
dependency_paths:
|
|
35
|
+
- 'lib/*'
|