TabPy (the Tableau Python Server) is an external service implementation
which expands Tableau's capabilities by allowing users to execute Python
scripts and saved functions via Tableau's table calculations.
# Changelog
## v2.13.0
### Improvements
- Add support for deploying functions to a remote TabPy server by setting
`remote_server=True` when creating the Client instance.
## v2.12.0
### Improvements
- Add support for public deployed functions that will be visible to users
in Tableau when using the Custom Functions Explorer
- Add functionality to allow users to update existing deployed functions
without needing to redeploy the function itself
## v2.11.0
### Improvements
- Add support for Python 3.10, 3.11, and 3.12. End support Python for
3.7 and 3.8.
## v2.10.0
### Improvements
- Add TabPy parameter (TABPY_MINIMUM_TLS_VERSION) to specify the minimum TLS
version that the server will accept for secure connections. Default is
set to TLSv1_2.
## v2.9.0
### Improvements
- Require confirmation to continue when starting TabPy without authentication,
with a warning that this is an insecure state and not recommended.
## v2.8.0
### Improvements
- Returns 413 error code when request payload exceeds
TABPY_MAX_REQUEST_SIZE_MB config setting.
## v2.7.0
### Improvements
- Adds support for data streaming in Arrow columnar format via Apache
Arrow Flight.
## v2.6.0
### Improvements
- Fixes deprecation of sklearn in favor of current package name
scikit-learn
## v2.5.1
### Improvements
- Gzip encoded requests are now supported by default. This can be disabled in
the config file.
- The INFO method will return the enabled status of features.
## v2.5.0
### Improvements
- A server with Adhoc Disabled Flag on with the wrong credentials will now
return wrong credentials error instead of telling the user
that Adhoc Scripts are not allowed on this server.
- Added documentation for how to run TabPy projects with local changes
### Breaking changes
- Discontinued support for Python 3.6
- Added support for Python 3.9
## v2.4.0
### Improvements
- Add toggle to turn off evaluate API.
### Breaking changes
- Changing error code to 406 when server not configured for authentication
but credentials are provided by client.
## v2.3.2
### Improvements
- Test files added to tar.gz and zip releases.
## v2.3.1
### Bug fixes
- Overriding deployed models.
## v2.3.0
### Improvements
- Fixed scrutinizer test run failure.
## v2.2.0
### Breaking changes
- TabPy fails with 400 when it is not configure for authentication
but credentials are provided by client.
### Bug fixes
- When TabPy is running with no console attached it is not failing
with 500 when trying to respond with 401 status.
- tabpy.query() failing when auth is configured.
### Improvements
- Minor code cleanup.
## v1.1.0
### Improvements
- Authorization is now required for the /info API method.
This method did not check authentication previously. This change is
backwards compatible with Tableau clients.
- Improved config parsing flexibility. Previously the
TABPY_EVALUATE_TIMEOUT setting would be set to a default if
tabpy couldn't parse the value. Now it will throw an exception
at startup.
## v1.0.0
### Improvements
- Minor: feature name changed to analytics extensions.
- Startup script files deleted.
- Index page updated.
### Other
- TabPy is now Tableau Supported (used to be Community Supported).
## v0.9.0
### Improvements
- Models deployment doesn't depend on pip._internal anymore.
- Package size reduced.
## v0.8.13
### Improvements
- TabPy works with Python 3.8 now.
- Documentation updates with referencing Tableau Help pages.
- Added Client.remove() method for deleting deployed models.
### Bug Fixes
- Fixed failing Ctrl+C handler.
- Fixed query_timeout bug.
- Fixed None in result collection bug.
- Fixed script evaluation with missing result/return bug.
- Fixed startup failure on Windows for Python 3.8.
## v0.8.9
### Improvements
- Added Ctrl+C handler
- Added configurable buffer size for HTTP requests
- Added anvoa to supported pre-deployed models in tabpy
## v0.8.7
### Improvements
- Enabled the use of environment variables in the config file.
## v0.8.6
### Fixes
- Fixed file names for package building.
- Fixed reading version info for /info call.
## v0.8
### Improvements
- TabPy is pip package now
- Models are deployed with updated script
## v0.7
### Improvements
- Added t-test model
- Fixed models call with /evaluate for HTTPS
- Migrated to Tornado 6
- Timeout is configurable with TABPY_EVALUATE_TIMEOUT config
file option
## v0.6.1
### Improvements
- Scripts, documentation, and integration tests for models
- Small bug fixes
- Added request context logging as a feature controlled with
TABPY_LOG_DETAILS configuration setting.
- Updated documentation for /info method and v1 API.
- Added integration tests.
## v0.4
### Improvements
- Added basic access authentication (all methods except /info)
- tabpy-tools can deploy models to TabPy with authentication on
- Increased unit tests coverage
- Travis CI for merge requests: unit tests executed, code style checking
## v0.3.2
### Breaking changes
- Logger configuration now is in TabPy config file.
### Improvements
- Remove versioneer and just replace it with VERSION file
- Require Python 3.6.5
- Require jsonschema to be compatible with 2.3.0
- Added setup instructions (known issues) for CentOS
## v0.3.1
- Fixed dependency on tabpy-tools in startup scripts
- Fixed Python version dependency in tabpy-server setup script
## v0.3
### Breaking changes
- The config file is now not just Python code but an actual config
- Tornado config file has a different setting for CORS
- Setup scripts are deleted - setup (if needed) happens with the startup script
- tabpy-client is tabpy-tools now
### Improvements
- Secure connection (HTTPS) is supported with Tableau 2019.2 and newer versions
- Documentation is improved with more examples added
- Versioning is done with Versioneer and github release tags
- Improved logging
- Unit tests are passing now
- Configurations for Postman and Swagger are available to use those against running TabPy
## v0.2
- Initial version
Raw data
{
"_id": null,
"home_page": "https://github.com/tableau/TabPy",
"name": "tabpy",
"maintainer": "Tableau",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "github@tableau.com",
"keywords": "tabpy tableau",
"author": "Tableau",
"author_email": "github@tableau.com",
"download_url": "https://files.pythonhosted.org/packages/81/f1/dc9758976cc73460d3aca6da94fce9bb6792a005ca41ef155c0a23a4bb0c/tabpy-2.13.0.tar.gz",
"platform": "Windows",
"description": "\r\nTabPy (the Tableau Python Server) is an external service implementation\r\nwhich expands Tableau's capabilities by allowing users to execute Python\r\nscripts and saved functions via Tableau's table calculations.\r\n\r\n# Changelog\r\n\r\n## v2.13.0\r\n\r\n### Improvements\r\n\r\n- Add support for deploying functions to a remote TabPy server by setting \r\n `remote_server=True` when creating the Client instance.\r\n\r\n## v2.12.0\r\n\r\n### Improvements\r\n\r\n- Add support for public deployed functions that will be visible to users\r\n in Tableau when using the Custom Functions Explorer\r\n- Add functionality to allow users to update existing deployed functions\r\n without needing to redeploy the function itself\r\n\r\n## v2.11.0\r\n\r\n### Improvements\r\n\r\n- Add support for Python 3.10, 3.11, and 3.12. End support Python for\r\n 3.7 and 3.8.\r\n\r\n## v2.10.0\r\n\r\n### Improvements\r\n\r\n- Add TabPy parameter (TABPY_MINIMUM_TLS_VERSION) to specify the minimum TLS \r\n version that the server will accept for secure connections. Default is \r\n set to TLSv1_2.\r\n\r\n## v2.9.0\r\n\r\n### Improvements\r\n\r\n- Require confirmation to continue when starting TabPy without authentication, \r\n with a warning that this is an insecure state and not recommended.\r\n\r\n## v2.8.0\r\n\r\n### Improvements\r\n\r\n- Returns 413 error code when request payload exceeds \r\nTABPY_MAX_REQUEST_SIZE_MB config setting.\r\n\r\n## v2.7.0\r\n\r\n### Improvements\r\n\r\n- Adds support for data streaming in Arrow columnar format via Apache\r\nArrow Flight.\r\n\r\n## v2.6.0\r\n\r\n### Improvements\r\n\r\n- Fixes deprecation of sklearn in favor of current package name\r\nscikit-learn\r\n\r\n## v2.5.1\r\n\r\n### Improvements\r\n\r\n- Gzip encoded requests are now supported by default. This can be disabled in\r\nthe config file.\r\n- The INFO method will return the enabled status of features.\r\n\r\n## v2.5.0\r\n\r\n### Improvements\r\n\r\n- A server with Adhoc Disabled Flag on with the wrong credentials will now\r\n return wrong credentials error instead of telling the user\r\n that Adhoc Scripts are not allowed on this server.\r\n- Added documentation for how to run TabPy projects with local changes\r\n\r\n### Breaking changes\r\n\r\n- Discontinued support for Python 3.6\r\n- Added support for Python 3.9\r\n\r\n## v2.4.0\r\n\r\n### Improvements\r\n\r\n- Add toggle to turn off evaluate API.\r\n\r\n### Breaking changes\r\n\r\n- Changing error code to 406 when server not configured for authentication\r\n but credentials are provided by client.\r\n\r\n## v2.3.2\r\n\r\n### Improvements\r\n\r\n- Test files added to tar.gz and zip releases.\r\n\r\n## v2.3.1\r\n\r\n### Bug fixes\r\n\r\n- Overriding deployed models.\r\n\r\n## v2.3.0\r\n\r\n### Improvements\r\n\r\n- Fixed scrutinizer test run failure.\r\n\r\n## v2.2.0\r\n\r\n### Breaking changes\r\n\r\n- TabPy fails with 400 when it is not configure for authentication\r\n but credentials are provided by client.\r\n\r\n### Bug fixes\r\n\r\n- When TabPy is running with no console attached it is not failing\r\n with 500 when trying to respond with 401 status.\r\n- tabpy.query() failing when auth is configured.\r\n\r\n### Improvements\r\n\r\n- Minor code cleanup.\r\n\r\n## v1.1.0\r\n\r\n### Improvements\r\n\r\n- Authorization is now required for the /info API method.\r\n This method did not check authentication previously. This change is\r\n backwards compatible with Tableau clients.\r\n- Improved config parsing flexibility. Previously the\r\n TABPY_EVALUATE_TIMEOUT setting would be set to a default if\r\n tabpy couldn't parse the value. Now it will throw an exception\r\n at startup.\r\n\r\n## v1.0.0\r\n\r\n### Improvements\r\n\r\n- Minor: feature name changed to analytics extensions.\r\n- Startup script files deleted.\r\n- Index page updated.\r\n\r\n### Other\r\n\r\n- TabPy is now Tableau Supported (used to be Community Supported).\r\n\r\n## v0.9.0\r\n\r\n### Improvements\r\n\r\n- Models deployment doesn't depend on pip._internal anymore.\r\n- Package size reduced.\r\n\r\n## v0.8.13\r\n\r\n### Improvements\r\n\r\n- TabPy works with Python 3.8 now.\r\n- Documentation updates with referencing Tableau Help pages.\r\n- Added Client.remove() method for deleting deployed models.\r\n\r\n### Bug Fixes\r\n\r\n- Fixed failing Ctrl+C handler.\r\n- Fixed query_timeout bug.\r\n- Fixed None in result collection bug.\r\n- Fixed script evaluation with missing result/return bug.\r\n- Fixed startup failure on Windows for Python 3.8.\r\n\r\n## v0.8.9\r\n\r\n### Improvements\r\n\r\n- Added Ctrl+C handler\r\n- Added configurable buffer size for HTTP requests\r\n- Added anvoa to supported pre-deployed models in tabpy\r\n\r\n## v0.8.7\r\n\r\n### Improvements\r\n\r\n- Enabled the use of environment variables in the config file.\r\n\r\n## v0.8.6\r\n\r\n### Fixes\r\n\r\n- Fixed file names for package building.\r\n- Fixed reading version info for /info call.\r\n\r\n## v0.8\r\n\r\n### Improvements\r\n\r\n- TabPy is pip package now\r\n- Models are deployed with updated script\r\n\r\n## v0.7\r\n\r\n### Improvements\r\n\r\n- Added t-test model\r\n- Fixed models call with /evaluate for HTTPS\r\n- Migrated to Tornado 6\r\n- Timeout is configurable with TABPY_EVALUATE_TIMEOUT config\r\n file option\r\n\r\n## v0.6.1\r\n\r\n### Improvements\r\n\r\n- Scripts, documentation, and integration tests for models\r\n- Small bug fixes \r\n- Added request context logging as a feature controlled with\r\n TABPY_LOG_DETAILS configuration setting.\r\n- Updated documentation for /info method and v1 API.\r\n- Added integration tests.\r\n\r\n## v0.4\r\n\r\n### Improvements\r\n\r\n- Added basic access authentication (all methods except /info)\r\n- tabpy-tools can deploy models to TabPy with authentication on\r\n- Increased unit tests coverage\r\n- Travis CI for merge requests: unit tests executed, code style checking\r\n\r\n## v0.3.2\r\n\r\n### Breaking changes\r\n\r\n- Logger configuration now is in TabPy config file.\r\n\r\n### Improvements\r\n\r\n- Remove versioneer and just replace it with VERSION file\r\n- Require Python 3.6.5\r\n- Require jsonschema to be compatible with 2.3.0\r\n- Added setup instructions (known issues) for CentOS\r\n\r\n## v0.3.1\r\n\r\n- Fixed dependency on tabpy-tools in startup scripts\r\n- Fixed Python version dependency in tabpy-server setup script\r\n\r\n## v0.3\r\n\r\n### Breaking changes\r\n\r\n- The config file is now not just Python code but an actual config\r\n- Tornado config file has a different setting for CORS\r\n- Setup scripts are deleted - setup (if needed) happens with the startup script\r\n- tabpy-client is tabpy-tools now\r\n\r\n### Improvements\r\n\r\n- Secure connection (HTTPS) is supported with Tableau 2019.2 and newer versions\r\n- Documentation is improved with more examples added\r\n- Versioning is done with Versioneer and github release tags\r\n- Improved logging\r\n- Unit tests are passing now\r\n- Configurations for Postman and Swagger are available to use those against running TabPy\r\n\r\n## v0.2\r\n\r\n- Initial version\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Web server Tableau uses to run Python scripts.",
"version": "2.13.0",
"project_urls": {
"Bug Tracker": "https://github.com/tableau/TabPy/issues",
"Documentation": "https://tableau.github.io/TabPy/",
"Download": "https://pypi.org/project/tabpy",
"Homepage": "https://github.com/tableau/TabPy",
"Source Code": "https://github.com/tableau/TabPy"
},
"split_keywords": [
"tabpy",
"tableau"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "81f1dc9758976cc73460d3aca6da94fce9bb6792a005ca41ef155c0a23a4bb0c",
"md5": "67ab5c4957babb026469fc73fb4877d4",
"sha256": "e9985342e2481ff93c71d94fa89e362d11083a78eb45b9f4d5f64bb9d1350568"
},
"downloads": -1,
"filename": "tabpy-2.13.0.tar.gz",
"has_sig": false,
"md5_digest": "67ab5c4957babb026469fc73fb4877d4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 466812,
"upload_time": "2024-11-25T22:37:09",
"upload_time_iso_8601": "2024-11-25T22:37:09.753233Z",
"url": "https://files.pythonhosted.org/packages/81/f1/dc9758976cc73460d3aca6da94fce9bb6792a005ca41ef155c0a23a4bb0c/tabpy-2.13.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-25 22:37:09",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tableau",
"github_project": "TabPy",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "tabpy"
}