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.
Files changed (142) hide show
  1. tabpy-2.7.1/.github/ISSUE_TEMPLATE/tabpy-issue-report.md +28 -0
  2. tabpy-2.7.1/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +36 -0
  3. tabpy-2.7.1/.github/workflows/coverage.yml +39 -0
  4. tabpy-2.7.1/.github/workflows/docker-publish.yml +47 -0
  5. tabpy-2.7.1/.github/workflows/lint.yml +39 -0
  6. tabpy-2.7.1/.github/workflows/pull_request.yml +31 -0
  7. tabpy-2.7.1/.github/workflows/push.yml +32 -0
  8. tabpy-2.7.1/.gitignore +131 -0
  9. tabpy-2.7.1/.pep8speaks.yml +4 -0
  10. tabpy-2.7.1/.scrutinizer.yml +35 -0
  11. {tabpy-2.6.0 → tabpy-2.7.1}/CHANGELOG +228 -221
  12. tabpy-2.7.1/CONTRIBUTING.md +146 -0
  13. tabpy-2.7.1/Dockerfile +14 -0
  14. {tabpy-2.6.0 → tabpy-2.7.1}/LICENSE +21 -21
  15. {tabpy-2.6.0 → tabpy-2.7.1}/MANIFEST.in +0 -0
  16. {tabpy-2.6.0/tabpy.egg-info → tabpy-2.7.1}/PKG-INFO +269 -262
  17. {tabpy-2.6.0 → tabpy-2.7.1}/README.md +54 -54
  18. tabpy-2.7.1/_config.yml +1 -0
  19. tabpy-2.7.1/app.json +19 -0
  20. tabpy-2.7.1/codeql-analysis.yml +71 -0
  21. {tabpy-2.6.0 → tabpy-2.7.1}/docs/TableauConfiguration.md +164 -164
  22. {tabpy-2.6.0 → tabpy-2.7.1}/docs/about.md +18 -18
  23. {tabpy-2.6.0 → tabpy-2.7.1}/docs/deploy-to-heroku.md +13 -13
  24. {tabpy-2.6.0 → tabpy-2.7.1}/docs/img/Example1-SimpleFunctionCall.png +0 -0
  25. {tabpy-2.6.0 → tabpy-2.7.1}/docs/img/Example2-MultipleFunctionCalls.png +0 -0
  26. {tabpy-2.6.0 → tabpy-2.7.1}/docs/img/python-calculated-field.png +0 -0
  27. {tabpy-2.6.0 → tabpy-2.7.1}/docs/security.md +23 -23
  28. {tabpy-2.6.0 → tabpy-2.7.1}/docs/server-config.md +348 -309
  29. {tabpy-2.6.0 → tabpy-2.7.1}/docs/server-install.md +65 -65
  30. {tabpy-2.6.0 → tabpy-2.7.1}/docs/server-rest.md +179 -179
  31. {tabpy-2.6.0 → tabpy-2.7.1}/docs/tabpy-tools.md +449 -449
  32. {tabpy-2.6.0 → tabpy-2.7.1}/docs/tabpy-virtualenv.md +0 -0
  33. {tabpy-2.6.0 → tabpy-2.7.1}/misc/TabPy.postman_collection.json +180 -180
  34. {tabpy-2.6.0 → tabpy-2.7.1}/misc/TabPy.yml +0 -0
  35. {tabpy-2.6.0 → tabpy-2.7.1}/requirements.txt +2 -2
  36. {tabpy-2.6.0 → tabpy-2.7.1}/requirements_dev.txt +0 -0
  37. {tabpy-2.6.0 → tabpy-2.7.1}/setup.cfg +29 -29
  38. {tabpy-2.6.0 → tabpy-2.7.1}/setup.py +108 -107
  39. tabpy-2.7.1/start.sh +23 -0
  40. tabpy-2.7.1/tabpy/VERSION +1 -0
  41. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/__init__.py +0 -0
  42. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/__init__.py +0 -0
  43. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/deploy_models.py +26 -26
  44. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/scripts/ANOVA.py +22 -22
  45. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/scripts/PCA.py +60 -60
  46. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/scripts/SentimentAnalysis.py +52 -52
  47. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/scripts/__init__.py +0 -0
  48. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/scripts/tTest.py +39 -39
  49. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/utils/setup_utils.py +58 -58
  50. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy.py +48 -48
  51. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/app/app.py +499 -445
  52. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/app/app_parameters.py +47 -40
  53. tabpy-2.7.1/tabpy/tabpy_server/app/arrow_server.py +143 -0
  54. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/app/util.py +88 -88
  55. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/common/default.conf +69 -69
  56. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/common/endpoint_file_mgr.py +94 -94
  57. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/common/messages.py +172 -172
  58. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/common/util.py +3 -3
  59. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/__init__.py +17 -13
  60. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/base_handler.py +444 -444
  61. tabpy-2.7.1/tabpy/tabpy_server/handlers/basic_auth_server_middleware_factory.py +48 -0
  62. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/endpoint_handler.py +142 -142
  63. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/endpoints_handler.py +76 -76
  64. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/evaluation_plane_handler.py +206 -161
  65. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/management_handler.py +150 -150
  66. tabpy-2.7.1/tabpy/tabpy_server/handlers/no_op_auth_handler.py +8 -0
  67. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/query_plane_handler.py +234 -234
  68. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/service_info_handler.py +23 -23
  69. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/status_handler.py +29 -29
  70. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/upload_destination_handler.py +21 -21
  71. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/handlers/util.py +38 -38
  72. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/management/state.py +643 -643
  73. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/management/util.py +45 -45
  74. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/psws/callbacks.py +205 -205
  75. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/psws/python_service.py +275 -275
  76. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/state.ini.template +15 -15
  77. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/static/index.html +71 -71
  78. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/client.py +389 -389
  79. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/custom_query_object.py +83 -83
  80. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/query_object.py +108 -108
  81. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/rest.py +423 -423
  82. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/rest_client.py +252 -252
  83. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/schema.py +108 -108
  84. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/utils/__init__.py +0 -0
  85. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/utils/tabpy_user.py +0 -0
  86. {tabpy-2.6.0 → tabpy-2.7.1/tabpy.egg-info}/PKG-INFO +269 -262
  87. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy.egg-info/SOURCES.txt +21 -0
  88. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy.egg-info/requires.txt +1 -0
  89. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/integ_test_base.py +0 -0
  90. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/resources/2019_04_24_to_3018_08_25.crt +23 -23
  91. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/resources/2019_04_24_to_3018_08_25.key +27 -27
  92. tabpy-2.7.1/tests/integration/resources/data.csv +47 -0
  93. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/resources/deploy_and_evaluate_model.conf +57 -57
  94. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/resources/deploy_and_evaluate_model_auth.conf +57 -57
  95. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/resources/pwdfile.txt +0 -0
  96. tabpy-2.7.1/tests/integration/test_arrow_server.py +59 -0
  97. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_auth.py +0 -0
  98. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_custom_evaluate_timeout.py +38 -38
  99. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_and_evaluate_model.py +29 -29
  100. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_and_evaluate_model_auth_on.py +34 -34
  101. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_and_evaluate_model_ssl.py +43 -43
  102. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_model_ssl_off_auth_off.py +20 -20
  103. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_model_ssl_off_auth_on.py +26 -26
  104. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_model_ssl_on_auth_off.py +30 -30
  105. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_deploy_model_ssl_on_auth_on.py +80 -80
  106. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_evaluate.py +0 -0
  107. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_gzip.py +101 -101
  108. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_url.py +0 -0
  109. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/test_url_ssl.py +0 -0
  110. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/resources/expired.crt +13 -13
  111. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/resources/future.crt +72 -72
  112. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/resources/valid.crt +23 -23
  113. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_config.py +365 -365
  114. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_endpoint_file_manager.py +13 -13
  115. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_endpoint_handler.py +0 -0
  116. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_endpoints_handler.py +0 -0
  117. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_evaluation_plane_handler.py +0 -0
  118. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_pwd_file.py +0 -0
  119. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/server_tests/test_service_info_handler.py +141 -141
  120. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/tools_tests/__init__.py +4 -4
  121. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/tools_tests/test_client.py +92 -92
  122. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/tools_tests/test_rest.py +234 -234
  123. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/tools_tests/test_rest_object.py +63 -63
  124. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/tools_tests/test_schema.py +33 -33
  125. tabpy-2.6.0/tabpy/VERSION +0 -1
  126. {tabpy-2.6.0 → tabpy-2.7.1}/Procfile +0 -0
  127. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/models/utils/__init__.py +0 -0
  128. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/__init__.py +0 -0
  129. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/app/__init__.py +0 -0
  130. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/common/__init__.py +0 -0
  131. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/management/__init__.py +0 -0
  132. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/psws/__init__.py +0 -0
  133. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/static/TabPy_logo.png +0 -0
  134. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_server/static/tableau.png +0 -0
  135. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy/tabpy_tools/__init__.py +0 -0
  136. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy.egg-info/dependency_links.txt +0 -0
  137. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy.egg-info/entry_points.txt +0 -0
  138. {tabpy-2.6.0 → tabpy-2.7.1}/tabpy.egg-info/top_level.txt +0 -0
  139. {tabpy-2.6.0 → tabpy-2.7.1}/tests/__init__.py +0 -0
  140. {tabpy-2.6.0 → tabpy-2.7.1}/tests/integration/__init__.py +0 -0
  141. {tabpy-2.6.0 → tabpy-2.7.1}/tests/unit/__init__.py +0 -0
  142. {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,4 @@
1
+ # File : .pep8speaks.yml
2
+
3
+ flake8:
4
+ max-line-length: 98
@@ -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/*'