tabpy 2.13.0
Web server Tableau uses to run Python scripts.
License: MIT
Requires Python: >=3.7
Keywords: tabpy tableau


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