{ "info": { "author": "Tableau", "author_email": "github@tableau.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Information Analysis" ], "description": "\nTabPy (the Tableau Python Server) is an external service implementation\nwhich expands Tableau's capabilities by allowing users to execute Python\nscripts and saved functions via Tableau's table calculations.\n\n# Changelog\n\n## v2.5.0\n\n### Improvements\n\n- A server with Adhoc Disabled Flag on with the wrong credentials will now\n return wrong credentials error instead of telling the user\n that Adhoc Scripts are not allowed on this server.\n- Added documentation for how to run TabPy projects with local changes\n\n### Breaking changes\n\n- Discontinued support for Python 3.6\n- Added support for Python 3.9\n\n## v2.4.0\n\n### Improvements\n\n- Add toggle to turn off evaluate API.\n\n### Breaking changes\n\n- Changing error code to 406 when server not configured for authentication\n but credentials are provided by client.\n\n## v2.3.2\n\n### Improvements\n\n- Test files added to tar.gz and zip releases.\n\n## v2.3.1\n\n### Bug fixes\n\n- Overriding deployed models.\n\n## v2.3.0\n\n### Improvements\n\n- Fixed scrutinizer test run failure.\n\n## v2.2.0\n\n### Breaking changes\n\n- TabPy fails with 400 when it is not configure for authentication\n but credentials are provided by client.\n\n### Bug fixes\n\n- When TabPy is running with no console attached it is not failing\n with 500 when trying to respond with 401 status.\n- tabpy.query() failing when auth is configured.\n\n### Improvements\n\n- Minor code cleanup.\n\n## v1.1.0\n\n### Improvements\n\n- Authorization is now required for the /info API method.\n This method did not check authentication previously. This change is\n backwards compatible with Tableau clients.\n- Improved config parsing flexibility. Previously the\n TABPY_EVALUATE_TIMEOUT setting would be set to a default if\n tabpy couldn't parse the value. Now it will throw an exception\n at startup.\n\n## v1.0.0\n\n### Improvements\n\n- Minor: feature name changed to analytics extensions.\n- Startup script files deleted.\n- Index page updated.\n\n### Other\n\n- TabPy is now Tableau Supported (used to be Community Supported).\n\n## v0.9.0\n\n### Improvements\n\n- Models deployment doesn't depend on pip._internal anymore.\n- Package size reduced.\n\n## v0.8.13\n\n### Improvements\n\n- TabPy works with Python 3.8 now.\n- Documentation updates with referencing Tableau Help pages.\n- Added Client.remove() method for deleting deployed models.\n\n### Bug Fixes\n\n- Fixed failing Ctrl+C handler.\n- Fixed query_timeout bug.\n- Fixed None in result collection bug.\n- Fixed script evaluation with missing result/return bug.\n- Fixed startup failure on Windows for Python 3.8.\n\n## v0.8.9\n\n### Improvements\n\n- Added Ctrl+C handler\n- Added configurable buffer size for HTTP requests\n- Added anvoa to supported pre-deployed models in tabpy\n\n## v0.8.7\n\n### Improvements\n\n- Enabled the use of environment variables in the config file.\n\n## v0.8.6\n\n### Fixes\n\n- Fixed file names for package building.\n- Fixed reading version info for /info call.\n\n## v0.8\n\n### Improvements\n\n- TabPy is pip package now\n- Models are deployed with updated script\n\n## v0.7\n\n### Improvements\n\n- Added t-test model\n- Fixed models call with /evaluate for HTTPS\n- Migrated to Tornado 6\n- Timeout is configurable with TABPY_EVALUATE_TIMEOUT config\n file option\n\n## v0.6.1\n\n### Improvements\n\n- Scripts, documentation, and integration tests for models\n- Small bug fixes \n- Added request context logging as a feature controlled with\n TABPY_LOG_DETAILS configuration setting.\n- Updated documentation for /info method and v1 API.\n- Added integration tests.\n\n## v0.4\n\n### Improvements\n\n- Added basic access authentication (all methods except /info)\n- tabpy-tools can deploy models to TabPy with authentication on\n- Increased unit tests coverage\n- Travis CI for merge requests: unit tests executed, code style checking\n\n## v0.3.2\n\n### Breaking changes\n\n- Logger configuration now is in TabPy config file.\n\n### Improvements\n\n- Remove versioneer and just replace it with VERSION file\n- Require Python 3.6.5\n- Require jsonschema to be compatible with 2.3.0\n- Added setup instructions (known issues) for CentOS\n\n## v0.3.1\n\n- Fixed dependency on tabpy-tools in startup scripts\n- Fixed Python version dependency in tabpy-server setup script\n\n## v0.3\n\n### Breaking changes\n\n- The config file is now not just Python code but an actual config\n- Tornado config file has a different setting for CORS\n- Setup scripts are deleted - setup (if needed) happens with the startup script\n- tabpy-client is tabpy-tools now\n\n### Improvements\n\n- Secure connection (HTTPS) is supported with Tableau 2019.2 and newer versions\n- Documentation is improved with more examples added\n- Versioning is done with Versioneer and github release tags\n- Improved logging\n- Unit tests are passing now\n- Configurations for Postman and Swagger are available to use those against running TabPy\n\n## v0.2\n\n- Initial version\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://pypi.org/project/tabpy", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tableau/TabPy", "keywords": "tabpy tableau", "license": "MIT", "maintainer": "Tableau", "maintainer_email": "github@tableau.com", "name": "tabpy", "package_url": "https://pypi.org/project/tabpy/", "platform": "Windows", "project_url": "https://pypi.org/project/tabpy/", "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" }, "release_url": "https://pypi.org/project/tabpy/2.5.0/", "requires_dist": [ "cloudpickle", "configparser", "coverage", "coveralls", "docopt", "future", "genson", "hypothesis", "jsonschema", "mock", "nltk", "numpy", "pandas", "pyopenssl", "pytest", "pytest-cov", "requests", "scipy", "simplejson", "sklearn", "textblob", "tornado", "twisted", "urllib3" ], "requires_python": ">=3.7", "summary": "Web server Tableau uses to run Python scripts.", "version": "2.5.0", "yanked": false, "yanked_reason": null }, "last_serial": 12638058, "releases": { "0.8.1": [ { "comment_text": "", "digests": { "md5": "052cf3ca46f93d44e1324ee8ae911085", "sha256": "9499ec7977fef872b230d906e36c37646a1f23d31568ca77d69d84a3f12317ab" }, "downloads": -1, "filename": "tabpy-0.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "052cf3ca46f93d44e1324ee8ae911085", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 61081, "upload_time": "2019-08-21T19:43:31", "upload_time_iso_8601": "2019-08-21T19:43:31.501691Z", "url": "https://files.pythonhosted.org/packages/47/07/33061d7db51b0ce1a5b347b145f632f9c0f325dcc0b7998b3b35411fadc4/tabpy-0.8.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "159cef1bf1822d62d83ea63d9f47ec62", "sha256": "fc1d53a16598007ebf64134f3bf35f9992f530cea059e17989b1647be944bf2d" }, "downloads": -1, "filename": "tabpy-0.8.1.tar.gz", "has_sig": false, "md5_digest": "159cef1bf1822d62d83ea63d9f47ec62", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 67865, "upload_time": "2019-08-21T19:43:34", "upload_time_iso_8601": "2019-08-21T19:43:34.050205Z", "url": "https://files.pythonhosted.org/packages/73/50/1ceed9a38b50864cec9db248d1cb85bf086c7b3c065ed76c1c2268421e32/tabpy-0.8.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.6": [ { "comment_text": "", "digests": { "md5": "13f2a6af91115b29147f491b8f7ebf9c", "sha256": "7bd2238385d36b2fcc7a42c3aec49d08909fe91570833399ae18948b1f5c5e56" }, "downloads": -1, "filename": "tabpy-0.8.6-py3-none-any.whl", "has_sig": false, "md5_digest": "13f2a6af91115b29147f491b8f7ebf9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 61397, "upload_time": "2019-08-21T23:12:22", "upload_time_iso_8601": "2019-08-21T23:12:22.629802Z", "url": "https://files.pythonhosted.org/packages/5d/38/578820555077143c8e102c5c209a12e2b554869137f5c3c32f1201a946f8/tabpy-0.8.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4adbb86e5bbda1b3df69452cdb960dfb", "sha256": "acbb7f895440ed87cadb3cfcd3442d3e27fc1d8b9e9e45d74fdf01e3ec2519b0" }, "downloads": -1, "filename": "tabpy-0.8.6.tar.gz", "has_sig": false, "md5_digest": "4adbb86e5bbda1b3df69452cdb960dfb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 67995, "upload_time": "2019-08-21T23:12:24", "upload_time_iso_8601": "2019-08-21T23:12:24.085151Z", "url": "https://files.pythonhosted.org/packages/03/37/1b25e6f8def52c1c78561dd9e392ba79d60ebb1a57100bafee5a53209e84/tabpy-0.8.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.7": [ { "comment_text": "", "digests": { "md5": "53e626f807ec5dd31d4a6efe1d361874", "sha256": "80f5e9f1597ae1bb0d7a576317a9b6753df17759763ccaa519692e0c4cd8cf67" }, "downloads": -1, "filename": "tabpy-0.8.7-py3-none-any.whl", "has_sig": false, "md5_digest": "53e626f807ec5dd31d4a6efe1d361874", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 61220, "upload_time": "2019-10-03T18:05:14", "upload_time_iso_8601": "2019-10-03T18:05:14.573098Z", "url": "https://files.pythonhosted.org/packages/b2/a9/d0e03ff9ea1dec994964958a216af4ba6c16e65f2d3f863b4802adbac19b/tabpy-0.8.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7bf826552050170687944a2d79d74c94", "sha256": "3f306e381e4bba8d60777720445e5a92267ba45802ec0cded6ddc4e8ab4c9edf" }, "downloads": -1, "filename": "tabpy-0.8.7.tar.gz", "has_sig": false, "md5_digest": "7bf826552050170687944a2d79d74c94", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 67991, "upload_time": "2019-10-03T18:05:16", "upload_time_iso_8601": "2019-10-03T18:05:16.361739Z", "url": "https://files.pythonhosted.org/packages/62/61/caaf6cf8ea14ab0cb69da7e0bd0a0f23d7e23dc89840c556590b77b788d5/tabpy-0.8.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.9": [ { "comment_text": "", "digests": { "md5": "5940fb4bbcf28ab204f9a8800f785fbb", "sha256": "4539cfd547a5a04035a90650b72e3338bd2840826c0a602e7b29a5f94e4ad88b" }, "downloads": -1, "filename": "tabpy-0.8.9-py3-none-any.whl", "has_sig": false, "md5_digest": "5940fb4bbcf28ab204f9a8800f785fbb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 61104, "upload_time": "2019-10-22T00:20:49", "upload_time_iso_8601": "2019-10-22T00:20:49.958893Z", "url": "https://files.pythonhosted.org/packages/cd/9d/10d90aef137321a0acf0c7863500af5856d04a643539514af27e8977c199/tabpy-0.8.9-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5dce18f3605c563470b2b7e3c94fa522", "sha256": "9977de27ece7e75fdaf632cecf4dbbb99445eedc49d358d4192f8e9750bc4c55" }, "downloads": -1, "filename": "tabpy-0.8.9.tar.gz", "has_sig": false, "md5_digest": "5dce18f3605c563470b2b7e3c94fa522", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 67753, "upload_time": "2019-10-22T00:20:51", "upload_time_iso_8601": "2019-10-22T00:20:51.457309Z", "url": "https://files.pythonhosted.org/packages/bb/bd/774bfbe3526a361bb5e5fd16eb3adcc80c1f894444afb680158432b05dc4/tabpy-0.8.9.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "ab657627932ce6a199a0e9f50722b1e1", "sha256": "51b7bd51bd59002055200097a6e73c9e6ad5306a25aa21e147a59b4c7bf4f877" }, "downloads": -1, "filename": "tabpy-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ab657627932ce6a199a0e9f50722b1e1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 81705, "upload_time": "2020-02-04T21:39:19", "upload_time_iso_8601": "2020-02-04T21:39:19.584613Z", "url": "https://files.pythonhosted.org/packages/73/ab/f8f9a49efd8655d18fb25ce275ebd20d20bb11abbd1979c322af0557d6f6/tabpy-0.9.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "02a5316fc5f1e4cd3452a43ba7de9cfb", "sha256": "be1431e39727136739dfe0c1fb1c1101469606cf6aca603dc82507baab925ce5" }, "downloads": -1, "filename": "tabpy-0.9.0.tar.gz", "has_sig": false, "md5_digest": "02a5316fc5f1e4cd3452a43ba7de9cfb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 69151, "upload_time": "2020-02-04T21:39:20", "upload_time_iso_8601": "2020-02-04T21:39:20.816895Z", "url": "https://files.pythonhosted.org/packages/cd/4a/ff5986b292824c38a6686310e42d90905a1758ec83e6204164264348a897/tabpy-0.9.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "ec7afd69a2aaec9d728c8b798d315b9a", "sha256": "f4b6f7cd7f6e2378e57b404634f874e6839a07d2e72815ea7a5fdc7b2779de7d" }, "downloads": -1, "filename": "tabpy-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ec7afd69a2aaec9d728c8b798d315b9a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 81822, "upload_time": "2020-02-18T20:04:26", "upload_time_iso_8601": "2020-02-18T20:04:26.538555Z", "url": "https://files.pythonhosted.org/packages/c8/77/7b346d326c7135a8d7b24e5177a1731383a391ccdc836c619c8bc5f3600e/tabpy-1.0.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "274e4ec01fe372588d498a99255fa9d9", "sha256": "e89bc99da30cfae2438479a0bc728f98901451a380a69c104e5cc1aa2b99d7d7" }, "downloads": -1, "filename": "tabpy-1.0.0.tar.gz", "has_sig": false, "md5_digest": "274e4ec01fe372588d498a99255fa9d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 69639, "upload_time": "2020-02-18T20:04:27", "upload_time_iso_8601": "2020-02-18T20:04:27.852925Z", "url": "https://files.pythonhosted.org/packages/32/16/3551c5e05a649649e07d589993b57ccc6a21574980f139446621d233d53f/tabpy-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "3eea9e08236de7f2072726bbc9b5f191", "sha256": "36b35fd1b9238c2de40787ed41b63d35f9f0a1ca6b193abfef37b1af6a92dec2" }, "downloads": -1, "filename": "tabpy-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3eea9e08236de7f2072726bbc9b5f191", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 81875, "upload_time": "2020-05-13T18:37:20", "upload_time_iso_8601": "2020-05-13T18:37:20.177144Z", "url": "https://files.pythonhosted.org/packages/57/5a/cc4a6138487e05336f03b0d2b44857da0e5349fae63656d6a9e59bab96e9/tabpy-1.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b64567e5a078807b598398178303a3bb", "sha256": "9e7955aa2fbb9f06ed6af68fcbc9f15d5bd55a0faa326b628a9bc844dfa6a773" }, "downloads": -1, "filename": "tabpy-1.1.0.tar.gz", "has_sig": false, "md5_digest": "b64567e5a078807b598398178303a3bb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 69878, "upload_time": "2020-05-13T18:37:21", "upload_time_iso_8601": "2020-05-13T18:37:21.253906Z", "url": "https://files.pythonhosted.org/packages/cd/b4/35d521ded6d92c4a8e92ec63b57b9bb01b10aeae8f1d8bb55e9359e797c6/tabpy-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "6e042dfdf84382721300e44bfbb6de41", "sha256": "64cc06777d3eab414226c0d52eeee4d8c669da11d7e5dffaa424ef8f0b47e1fe" }, "downloads": -1, "filename": "tabpy-2.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6e042dfdf84382721300e44bfbb6de41", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 108496, "upload_time": "2020-09-02T19:15:42", "upload_time_iso_8601": "2020-09-02T19:15:42.188750Z", "url": "https://files.pythonhosted.org/packages/1a/45/b98f0af76d750cab1aa6ca9c6b31c4dd8a3e9ed585a6c3d20dfe6f17a544/tabpy-2.2.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c4209790dc17ff3222a337556b57c047", "sha256": "5c072242e8dbf31df0dbccf3e58f34eca7d7f7570843af9a129c469f0bd62c23" }, "downloads": -1, "filename": "tabpy-2.2.0.tar.gz", "has_sig": false, "md5_digest": "c4209790dc17ff3222a337556b57c047", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 83156, "upload_time": "2020-09-02T19:15:44", "upload_time_iso_8601": "2020-09-02T19:15:44.568353Z", "url": "https://files.pythonhosted.org/packages/85/f0/53fe8146d4a6b142f3556e795d2c992bb72485933b5a4b4ca2ba4fc20a56/tabpy-2.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "3ff581b10a7b1375ea9d6afbab489748", "sha256": "92ba80551879528675457cf26801602037094d3e7998e2aae5f95648cb3f680e" }, "downloads": -1, "filename": "tabpy-2.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3ff581b10a7b1375ea9d6afbab489748", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 108002, "upload_time": "2020-11-11T19:06:41", "upload_time_iso_8601": "2020-11-11T19:06:41.505215Z", "url": "https://files.pythonhosted.org/packages/40/6e/ed3271c76b91f9689b25f012a0d5d7807a997eea203dfbe23dc7e4f1652f/tabpy-2.3.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c494fca3ceb4d0de7df3864664c41f43", "sha256": "1025fe1c7c0cab5da80a45b602d616dedc17323f70c09bb72621bc911c953624" }, "downloads": -1, "filename": "tabpy-2.3.1.tar.gz", "has_sig": false, "md5_digest": "c494fca3ceb4d0de7df3864664c41f43", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 82707, "upload_time": "2020-11-11T19:06:42", "upload_time_iso_8601": "2020-11-11T19:06:42.923194Z", "url": "https://files.pythonhosted.org/packages/5d/9e/c653c26ea1d852bd4d17aca77702543edbae438a61d290c4a871080b8e0b/tabpy-2.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "a69970ec0418e64b3349eaf6d7244e87", "sha256": "98e8e4fdfec12351f47adb6f98472d2170095d694b0fd4ef73f05e95e4ac286a" }, "downloads": -1, "filename": "tabpy-2.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a69970ec0418e64b3349eaf6d7244e87", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 110371, "upload_time": "2021-08-20T14:18:35", "upload_time_iso_8601": "2021-08-20T14:18:35.906999Z", "url": "https://files.pythonhosted.org/packages/0b/d9/97f728cae259ef8dbd02a4e52050fbf0032840e8a9dc80bd0d0cc7b5d788/tabpy-2.4.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "06624f6f691978234d74f123a544ff7b", "sha256": "ae95977192b0a1c9be823ba4490051359e4b83ed900f349d89977c1ce91377a9" }, "downloads": -1, "filename": "tabpy-2.4.0.tar.gz", "has_sig": false, "md5_digest": "06624f6f691978234d74f123a544ff7b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 446661, "upload_time": "2021-08-20T14:18:37", "upload_time_iso_8601": "2021-08-20T14:18:37.118778Z", "url": "https://files.pythonhosted.org/packages/46/3d/c4ace4c7fc5c62a9cfc985e2fda172dcec7031671e199953ee1324db819d/tabpy-2.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.5.0": [ { "comment_text": "", "digests": { "md5": "778f3bd409b0200a4c27092262b499da", "sha256": "87abd64c52a0f48ddd3405bf107151fb4e60f1e2c0aadc5f5effac45de5e587d" }, "downloads": -1, "filename": "tabpy-2.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "778f3bd409b0200a4c27092262b499da", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 110602, "upload_time": "2022-01-20T22:19:32", "upload_time_iso_8601": "2022-01-20T22:19:32.361878Z", "url": "https://files.pythonhosted.org/packages/77/00/3db67faf60a0ea0022a56f09c2d148f1117ba71303c275b7c9365a343894/tabpy-2.5.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bbbbd186e472d31a4a932cb8f2bf19f7", "sha256": "d5723174f255bc4360fa12e0c341e306c0f3f36ee39483dc7b93899c0fb5940e" }, "downloads": -1, "filename": "tabpy-2.5.0.tar.gz", "has_sig": false, "md5_digest": "bbbbd186e472d31a4a932cb8f2bf19f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 443818, "upload_time": "2022-01-20T22:19:33", "upload_time_iso_8601": "2022-01-20T22:19:33.865089Z", "url": "https://files.pythonhosted.org/packages/7c/0a/5f2a4d706dac8144d8c1b58f9036363ae0131b2b8d82d9b68374dfc3bbbd/tabpy-2.5.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "778f3bd409b0200a4c27092262b499da", "sha256": "87abd64c52a0f48ddd3405bf107151fb4e60f1e2c0aadc5f5effac45de5e587d" }, "downloads": -1, "filename": "tabpy-2.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "778f3bd409b0200a4c27092262b499da", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 110602, "upload_time": "2022-01-20T22:19:32", "upload_time_iso_8601": "2022-01-20T22:19:32.361878Z", "url": "https://files.pythonhosted.org/packages/77/00/3db67faf60a0ea0022a56f09c2d148f1117ba71303c275b7c9365a343894/tabpy-2.5.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bbbbd186e472d31a4a932cb8f2bf19f7", "sha256": "d5723174f255bc4360fa12e0c341e306c0f3f36ee39483dc7b93899c0fb5940e" }, "downloads": -1, "filename": "tabpy-2.5.0.tar.gz", "has_sig": false, "md5_digest": "bbbbd186e472d31a4a932cb8f2bf19f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 443818, "upload_time": "2022-01-20T22:19:33", "upload_time_iso_8601": "2022-01-20T22:19:33.865089Z", "url": "https://files.pythonhosted.org/packages/7c/0a/5f2a4d706dac8144d8c1b58f9036363ae0131b2b8d82d9b68374dfc3bbbd/tabpy-2.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }