{ "info": { "author": null, "author_email": "Vincent Sarago ", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Topic :: Scientific/Engineering :: GIS" ], "description": "

\n \n

A lightweight PostGIS based dynamic vector tile server.

\n

\n\n

\n \n \"Test\"\n \n \n \"Coverage\"\n \n \n \"Package\n \n \n \"License\"\n\n \n

\n\n---\n\n**Documentation**: https://developmentseed.org/timvt/\n\n**Source Code**: https://github.com/developmentseed/timvt\n\n---\n\n`TiMVT`, pronounced **tee-MVT**, is a python package which helps creating lightweight [Vector Tiles](https://github.com/mapbox/vector-tile-spec) service from [PostGIS](https://github.com/postgis/postgis) Database.\n\nBuilt on top of the *modern and fast* [FastAPI](https://fastapi.tiangolo.com) framework, timvt is written in Python using async/await asynchronous code to improve the performances and handle heavy loads.\n\n`TiMVT` is mostly inspired from the awesome [urbica/martin](https://github.com/urbica/martin) and [CrunchyData/pg_tileserv](https://github.com/CrunchyData/pg_tileserv) projects.\n\n## Features\n\n- Multiple TileMatrixSets via [morecantile](https://github.com/developmentseed/morecantile). Default is set to WebMercatorQuad which is the usual Web Mercator projection used in most of Wep Map libraries.)\n- Built with [FastAPI](https://fastapi.tiangolo.com)\n- Table and Function layers\n- Async API using [asyncpg](https://github.com/MagicStack/asyncpg)\n\n\n## Install\n\nInstall `TiMVT` from pypi\n```bash\n# update pip (optional)\npython -m pip install pip -U\n\n# install timvt\npython -m pip install timvt\n```\n\nor install from source:\n\n```bash\n$ git clone https://github.com/developmentseed/timvt.git\n$ cd timvt\n$ python -m pip install -e .\n```\n\n## PostGIS/Postgres\n\n`TiMVT` rely mostly on [`ST_AsMVT`](https://postgis.net/docs/ST_AsMVT.html) function and will need PostGIS >= 2.5.\n\nIf you want more info about `ST_AsMVT` function or on the subject of creating Vector Tile from PostGIS, please read this great article from Paul Ramsey: https://info.crunchydata.com/blog/dynamic-vector-tiles-from-postgis\n\n### Configuration\n\nTo be able to create Vector Tile, the application will need access to the PostGIS database. `TiMVT` uses [pydantic](https://pydantic-docs.helpmanual.io/usage/settings/)'s configuration pattern which make use of environment variable and/or `.env` file to pass variable to the application.\n\nExample of `.env` file can be found in [.env.example](https://github.com/developmentseed/timvt/blob/master/.env.example)\n```\nPOSTGRES_USER=username\nPOSTGRES_PASS=password\nPOSTGRES_DBNAME=postgis\nPOSTGRES_HOST=0.0.0.0\nPOSTGRES_PORT=5432\n\n# Or you can also define the DATABASE_URL directly\nDATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis\n```\n\n## Minimal Application\n\n```python\nfrom timvt.db import close_db_connection, connect_to_db\nfrom timvt.factory import VectorTilerFactory\nfrom timvt.layer import FunctionRegistry\nfrom fastapi import FastAPI, Request\n\n# Create Application.\napp = FastAPI()\n\n# Add Function registry to the application state\napp.state.function_catalog = FunctionRegistry()\n\n# Register Start/Stop application event handler to setup/stop the database connection\n# and populate `app.state.table_catalog`\n@app.on_event(\"startup\")\nasync def startup_event():\n \"\"\"Application startup: register the database connection and create table list.\"\"\"\n await connect_to_db(app)\n\n\n@app.on_event(\"shutdown\")\nasync def shutdown_event():\n \"\"\"Application shutdown: de-register the database connection.\"\"\"\n await close_db_connection(app)\n\n# Register endpoints.\nmvt_tiler = VectorTilerFactory(\n with_tables_metadata=True,\n with_functions_metadata=True, # add Functions metadata endpoints (/functions.json, /{function_name}.json)\n with_viewer=True,\n)\napp.include_router(mvt_tiler.router, tags=[\"Tiles\"])\n```\n\n## Default Application\n\nWhile we encourage users to write their own application using `TiMVT` package, we also provide a default `production ready` application:\n\n```bash\n# Install timvt dependencies and Uvicorn (a lightning-fast ASGI server)\n$ pip install timvt 'uvicorn[standard]>=0.12.0,<0.14.0'\n\n# Set Database URL environment variable so TiMVT can access it\n$ export DATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis\n\n# Launch Demo Application\n$ uvicorn timvt.main:app --reload\n```\n\nYou can also use the official docker image\n\n```\n$ docker run \\\n -p 8081:8081 \\\n -e PORT=8081 \\\n -e DATABASE_URL=postgresql://username:password@0.0.0.0:5432/postgis \\\n ghcr.io/developmentseed/timvt:latest\n```\n\n`:endpoint:/docs`\n\n![](https://user-images.githubusercontent.com/10407788/136578935-e1170784-5a4f-4946-842c-9a6de39165f6.jpg)\n\n\n## Contribution & Development\n\nSee [CONTRIBUTING.md](https://github.com/developmentseed/timvt/blob/master/CONTRIBUTING.md)\n\n## License\n\nSee [LICENSE](https://github.com/developmentseed/timvt/blob/master/LICENSE)\n\n## Authors\n\nCreated by [Development Seed]()\n\n## Changes\n\nSee [CHANGES.md](https://github.com/developmentseed/timvt/blob/master/CHANGES.md).\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": null, "keywords": "FastAPI,MVT,POSTGIS", "license": null, "maintainer": null, "maintainer_email": null, "name": "timvt", "package_url": "https://pypi.org/project/timvt/", "platform": null, "project_url": "https://pypi.org/project/timvt/", "project_urls": { "Documentation": "https://developmentseed.org/timvt/", "Source": "https://github.com/developmentseed/timvt" }, "release_url": "https://pypi.org/project/timvt/0.7.0/", "requires_dist": [ "asyncpg>=0.23.0", "buildpg>=0.3", "fastapi>=0.73", "jinja2>=2.11.2,<4.0.0", "morecantile>=3.1,<4.0", "starlette-cramjam>=0.3,<0.4", "importlib_resources>=1.1.0; python_version < '3.9'", "pre-commit ; extra == \"dev\"", "nbconvert ; extra == \"docs\"", "mkdocs ; extra == \"docs\"", "mkdocs-material ; extra == \"docs\"", "mkdocs-jupyter ; extra == \"docs\"", "pygments ; extra == \"docs\"", "pdocs ; extra == \"docs\"", "uvicorn[standard]>=0.12.0,<0.16.0 ; extra == \"server\"", "pytest ; extra == \"test\"", "pytest-cov ; extra == \"test\"", "pytest-asyncio ; extra == \"test\"", "requests ; extra == \"test\"", "psycopg2 ; extra == \"test\"", "pytest-pgsql ; extra == \"test\"", "mapbox-vector-tile ; extra == \"test\"", "protobuf>=3.0,<4.0 ; extra == \"test\"", "numpy ; extra == \"test\"" ], "requires_python": ">=3.7", "summary": "A lightweight PostGIS based dynamic vector tile server.", "version": "0.7.0", "yanked": false, "yanked_reason": null }, "last_serial": 17300398, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "blake2b_256": "9e11541ff6f2d0a4df937ac65a5774c21aa9c63fb229046ff814794cefbddc34", "md5": "db1cf2b670042a3aaa8fd3abe2606ddf", "sha256": "58c6868348c51699bf9fe4142fff136e98c99f9d4cb0be568a961cb24571d083" }, "downloads": -1, "filename": "timvt-0.1.0.tar.gz", "has_sig": false, "md5_digest": "db1cf2b670042a3aaa8fd3abe2606ddf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 23040, "upload_time": "2021-10-12T09:44:27", "upload_time_iso_8601": "2021-10-12T09:44:27.845094Z", "url": "https://files.pythonhosted.org/packages/9e/11/541ff6f2d0a4df937ac65a5774c21aa9c63fb229046ff814794cefbddc34/timvt-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "blake2b_256": "8c3faf277f2b2c8cb0acac25aeceede84dc4863454e166a7f0b22728d5dcf5a3", "md5": "8a98ff552f9aff63ca5b925f3b5b8644", "sha256": "240356ebf8aff2d58afadd9524e6c59c2bfb1c01990b86e0f98b072146b77a3f" }, "downloads": -1, "filename": "timvt-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8a98ff552f9aff63ca5b925f3b5b8644", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 23747, "upload_time": "2022-01-05T14:56:37", "upload_time_iso_8601": "2022-01-05T14:56:37.879472Z", "url": "https://files.pythonhosted.org/packages/8c/3f/af277f2b2c8cb0acac25aeceede84dc4863454e166a7f0b22728d5dcf5a3/timvt-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "blake2b_256": "8a246782f7733e3a44979323324eb992742a17ba48469dd57d905469e80ae5af", "md5": "6d722bc315308ecb8c31802c8b3e3326", "sha256": "b132f1bfd6823ea1a4984768b771588b7424c3e230ad3b432c8c7661c497b556" }, "downloads": -1, "filename": "timvt-0.2.1.tar.gz", "has_sig": false, "md5_digest": "6d722bc315308ecb8c31802c8b3e3326", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 23678, "upload_time": "2022-01-25T15:40:35", "upload_time_iso_8601": "2022-01-25T15:40:35.245562Z", "url": "https://files.pythonhosted.org/packages/8a/24/6782f7733e3a44979323324eb992742a17ba48469dd57d905469e80ae5af/timvt-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "blake2b_256": "461a28944c41e5a9963b321dfa48fc6c4bbb3b8fe569646334fda37843f85c9d", "md5": "2ca896567e8c33b09e5f435b60d012dd", "sha256": "48614af1f7c1c497e7acdaa811bdec5590f2299b3f1d2e444a172785e02e4d59" }, "downloads": -1, "filename": "timvt-0.3.0.tar.gz", "has_sig": false, "md5_digest": "2ca896567e8c33b09e5f435b60d012dd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 24137, "upload_time": "2022-02-09T21:58:40", "upload_time_iso_8601": "2022-02-09T21:58:40.174293Z", "url": "https://files.pythonhosted.org/packages/46/1a/28944c41e5a9963b321dfa48fc6c4bbb3b8fe569646334fda37843f85c9d/timvt-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "blake2b_256": "8e221da00ac01182e7773d05c34ae818f6d240e77994520d570ee9793d4240f9", "md5": "1dc88c87825c8d2a71967160dad1fda5", "sha256": "330a5fefb9387d02516d7c0e6284f6fa3714d6c7de2e457114d76e9bcf1f98b4" }, "downloads": -1, "filename": "timvt-0.4.0.tar.gz", "has_sig": false, "md5_digest": "1dc88c87825c8d2a71967160dad1fda5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 24195, "upload_time": "2022-02-10T14:27:55", "upload_time_iso_8601": "2022-02-10T14:27:55.343265Z", "url": "https://files.pythonhosted.org/packages/8e/22/1da00ac01182e7773d05c34ae818f6d240e77994520d570ee9793d4240f9/timvt-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "blake2b_256": "41b8877de64d8f4d87d9af35074e6ba551d2767ec896c30f53e20edeee1ede45", "md5": "f942000df9c1a286555575f41eba4003", "sha256": "8af660eb009b2fc8f6c03c4ee93daebe26d636cad70fab09c1c31a90a9d4218d" }, "downloads": -1, "filename": "timvt-0.4.1.tar.gz", "has_sig": false, "md5_digest": "f942000df9c1a286555575f41eba4003", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 24483, "upload_time": "2022-02-10T20:59:00", "upload_time_iso_8601": "2022-02-10T20:59:00.539281Z", "url": "https://files.pythonhosted.org/packages/41/b8/877de64d8f4d87d9af35074e6ba551d2767ec896c30f53e20edeee1ede45/timvt-0.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.0": [ { "comment_text": null, "digests": { "blake2b_256": "ad02965ad41a3c4d5c4fb89b6e7b7d89e7094803a4140136fffbc3e3321196a7", "md5": "3af4f327d50113c9aa27f1dd77a92959", "sha256": "24b5ad544ff4651b5ac063fd65bdc22851d5282c27f9df87b63106be71b2a56f" }, "downloads": -1, "filename": "timvt-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3af4f327d50113c9aa27f1dd77a92959", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 24486, "upload_time": "2022-04-13T15:07:17", "upload_time_iso_8601": "2022-04-13T15:07:17.592116Z", "url": "https://files.pythonhosted.org/packages/ad/02/965ad41a3c4d5c4fb89b6e7b7d89e7094803a4140136fffbc3e3321196a7/timvt-0.5.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "c735b0bcaad95f272cc879d5e2eab4386b1377edceffb32b2abb29053e515aa1", "md5": "6ec099e08e66e9a9eb8363863a8b0639", "sha256": "09b15e961798265e7d3eabb74dd0b0256949c21772181b509505ba402970f862" }, "downloads": -1, "filename": "timvt-0.5.0.tar.gz", "has_sig": false, "md5_digest": "6ec099e08e66e9a9eb8363863a8b0639", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 24331, "upload_time": "2022-04-13T15:07:18", "upload_time_iso_8601": "2022-04-13T15:07:18.758607Z", "url": "https://files.pythonhosted.org/packages/c7/35/b0bcaad95f272cc879d5e2eab4386b1377edceffb32b2abb29053e515aa1/timvt-0.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.0": [ { "comment_text": null, "digests": { "blake2b_256": "7b44045009232cb1b74e5c7427f22f54c34f1c4e7ca26ea8b0a6e4698b5802f1", "md5": "17b96c82d99fdf91838ac780e254ca6a", "sha256": "8b38ab31d20fd0ad3e3888d41bdf3888d6cb148e3541a9675a4ddff45b390bd5" }, "downloads": -1, "filename": "timvt-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "17b96c82d99fdf91838ac780e254ca6a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 24482, "upload_time": "2022-04-14T13:27:42", "upload_time_iso_8601": "2022-04-14T13:27:42.625876Z", "url": "https://files.pythonhosted.org/packages/7b/44/045009232cb1b74e5c7427f22f54c34f1c4e7ca26ea8b0a6e4698b5802f1/timvt-0.6.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "5e571febe747625e287ea848dd17f33fe6bdcb27a1d690d1e1b5f51fc1f11c01", "md5": "6ff95688e404864bfa8736be1cd3bbc5", "sha256": "456360adcec4e6ad3461608a7e080d822464cd5df893cb62b76a7f4fa0a88dca" }, "downloads": -1, "filename": "timvt-0.6.0.tar.gz", "has_sig": false, "md5_digest": "6ff95688e404864bfa8736be1cd3bbc5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 24326, "upload_time": "2022-04-14T13:27:43", "upload_time_iso_8601": "2022-04-14T13:27:43.918179Z", "url": "https://files.pythonhosted.org/packages/5e/57/1febe747625e287ea848dd17f33fe6bdcb27a1d690d1e1b5f51fc1f11c01/timvt-0.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.0": [ { "comment_text": null, "digests": { "blake2b_256": "c4b780c68b9648498dad12e4d01e00cbba7bd60bcbad6ccef8804dfc41da9eb9", "md5": "0ecbc4beddcfd1510be991af9f05f8c2", "sha256": "d7f04b7e797ff2888559748ab1148fe532767069624c7f8b4a466c6bc7bbf090" }, "downloads": -1, "filename": "timvt-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0ecbc4beddcfd1510be991af9f05f8c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 24802, "upload_time": "2022-06-09T09:16:46", "upload_time_iso_8601": "2022-06-09T09:16:46.109424Z", "url": "https://files.pythonhosted.org/packages/c4/b7/80c68b9648498dad12e4d01e00cbba7bd60bcbad6ccef8804dfc41da9eb9/timvt-0.7.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "a9550558dc40bcb80c03d23b91ea6812f2a5cd78f831d04eec7ce0388ddb58f3", "md5": "2c0f27df204e382185ac545583e69b9b", "sha256": "ebd251d4df217e840f9f36271e91b0d48a1c94763d6982429edce01bc8a6d304" }, "downloads": -1, "filename": "timvt-0.7.0.tar.gz", "has_sig": false, "md5_digest": "2c0f27df204e382185ac545583e69b9b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 24599, "upload_time": "2022-06-09T09:16:48", "upload_time_iso_8601": "2022-06-09T09:16:48.025141Z", "url": "https://files.pythonhosted.org/packages/a9/55/0558dc40bcb80c03d23b91ea6812f2a5cd78f831d04eec7ce0388ddb58f3/timvt-0.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.0a0": [ { "comment_text": null, "digests": { "blake2b_256": "b28dfa9af44c69562dc717fc78460e173db70a48432c16dba258ed258977a8d0", "md5": "b3fce74cd8482b51b42eab94c84f75c4", "sha256": "515d6bde80418c92b6789ac6b76de148d2273063b6ee3f69df7a4663ee983902" }, "downloads": -1, "filename": "timvt-0.8.0a0-py3-none-any.whl", "has_sig": false, "md5_digest": "b3fce74cd8482b51b42eab94c84f75c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8", "size": 30305, "upload_time": "2022-11-16T09:58:00", "upload_time_iso_8601": "2022-11-16T09:58:00.858606Z", "url": "https://files.pythonhosted.org/packages/b2/8d/fa9af44c69562dc717fc78460e173db70a48432c16dba258ed258977a8d0/timvt-0.8.0a0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "d95b39537fc36d506edcf66b7e22254ca05aa24dd06fcca2b86eb5461d58f496", "md5": "5a8581a2e9614a24b88070af264d1c02", "sha256": "252a2585093458421648d364238d4d61f9632020e13cc463757cc533cd406bdc" }, "downloads": -1, "filename": "timvt-0.8.0a0.tar.gz", "has_sig": false, "md5_digest": "5a8581a2e9614a24b88070af264d1c02", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8", "size": 28692, "upload_time": "2022-11-16T09:57:59", "upload_time_iso_8601": "2022-11-16T09:57:59.072126Z", "url": "https://files.pythonhosted.org/packages/d9/5b/39537fc36d506edcf66b7e22254ca05aa24dd06fcca2b86eb5461d58f496/timvt-0.8.0a0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.0a1": [ { "comment_text": null, "digests": { "blake2b_256": "0f0b5dea357840d3acc20085b41914d3bac07e7db97b1d79f14ce08cd10aa54b", "md5": "e58812e790b8ad7979cafa110001dee1", "sha256": "9933ef95a71735c35f5b88d2b4ea0f7d80b69cc496510c90934bffaa53e8d03e" }, "downloads": -1, "filename": "timvt-0.8.0a1-py3-none-any.whl", "has_sig": false, "md5_digest": "e58812e790b8ad7979cafa110001dee1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8", "size": 30304, "upload_time": "2022-11-21T09:29:27", "upload_time_iso_8601": "2022-11-21T09:29:27.616977Z", "url": "https://files.pythonhosted.org/packages/0f/0b/5dea357840d3acc20085b41914d3bac07e7db97b1d79f14ce08cd10aa54b/timvt-0.8.0a1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "b3f5799ae4e64f8526450566835ec992c2a93fcb02ea3e4fa4bfb20e41d30c47", "md5": "272ebae27ea423adbb3ff8989d99e7c9", "sha256": "f9c20d186f76e3437de6673613155333c4b460eb0cdcff39c46494351bba3b98" }, "downloads": -1, "filename": "timvt-0.8.0a1.tar.gz", "has_sig": false, "md5_digest": "272ebae27ea423adbb3ff8989d99e7c9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8", "size": 25892, "upload_time": "2022-11-21T09:29:29", "upload_time_iso_8601": "2022-11-21T09:29:29.520306Z", "url": "https://files.pythonhosted.org/packages/b3/f5/799ae4e64f8526450566835ec992c2a93fcb02ea3e4fa4bfb20e41d30c47/timvt-0.8.0a1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.0a2": [ { "comment_text": null, "digests": { "blake2b_256": "b6fd30235c412f0dac2b71d2ff9244da614a80a4ec02e3243ca4acad767564dc", "md5": "60c99aea29e14295a72fb23ee932e3c5", "sha256": "448c69006c44a765d4aa9adf04e06d9b78174c599cc418f89774178314241e99" }, "downloads": -1, "filename": "timvt-0.8.0a2-py3-none-any.whl", "has_sig": false, "md5_digest": "60c99aea29e14295a72fb23ee932e3c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8", "size": 30247, "upload_time": "2022-12-14T22:23:49", "upload_time_iso_8601": "2022-12-14T22:23:49.429247Z", "url": "https://files.pythonhosted.org/packages/b6/fd/30235c412f0dac2b71d2ff9244da614a80a4ec02e3243ca4acad767564dc/timvt-0.8.0a2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "6533f531513936557797580c3913b749da9c7285d46b2976156f681c3dd816b4", "md5": "7e4e5de16d2f58a6bb87e91252816a23", "sha256": "4f6d12fd16cdd893405f5457ab00ce410a319ed33ba2ec36c02b95efa3aa6509" }, "downloads": -1, "filename": "timvt-0.8.0a2.tar.gz", "has_sig": false, "md5_digest": "7e4e5de16d2f58a6bb87e91252816a23", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8", "size": 25883, "upload_time": "2022-12-14T22:23:48", "upload_time_iso_8601": "2022-12-14T22:23:48.193314Z", "url": "https://files.pythonhosted.org/packages/65/33/f531513936557797580c3913b749da9c7285d46b2976156f681c3dd816b4/timvt-0.8.0a2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.0a3": [ { "comment_text": null, "digests": { "blake2b_256": "f52aca46d6e300893e178750ecd32981e8061d619190f970df90faa7ca030594", "md5": "3ff4b7edd3fa788f694c1f7c3cdc527c", "sha256": "886579d92ef980ff227ed722e5fd88c13f8984dc73fa2b343125e8edc5537821" }, "downloads": -1, "filename": "timvt-0.8.0a3-py3-none-any.whl", "has_sig": false, "md5_digest": "3ff4b7edd3fa788f694c1f7c3cdc527c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8", "size": 30329, "upload_time": "2023-03-15T08:07:22", "upload_time_iso_8601": "2023-03-15T08:07:22.120162Z", "url": "https://files.pythonhosted.org/packages/f5/2a/ca46d6e300893e178750ecd32981e8061d619190f970df90faa7ca030594/timvt-0.8.0a3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "623dcc59468b30b99524fab23e2bd2656976b49129242d7daca67a2dbcdc6398", "md5": "bc22d66b6b2c248533df6b9d2bf4ee59", "sha256": "db87408a0132836fae976edf7e973ed7f87ccc5f32ece699ecb52f5d85ccb261" }, "downloads": -1, "filename": "timvt-0.8.0a3.tar.gz", "has_sig": false, "md5_digest": "bc22d66b6b2c248533df6b9d2bf4ee59", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8", "size": 25544, "upload_time": "2023-03-15T08:07:20", "upload_time_iso_8601": "2023-03-15T08:07:20.386167Z", "url": "https://files.pythonhosted.org/packages/62/3d/cc59468b30b99524fab23e2bd2656976b49129242d7daca67a2dbcdc6398/timvt-0.8.0a3.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": null, "digests": { "blake2b_256": "c4b780c68b9648498dad12e4d01e00cbba7bd60bcbad6ccef8804dfc41da9eb9", "md5": "0ecbc4beddcfd1510be991af9f05f8c2", "sha256": "d7f04b7e797ff2888559748ab1148fe532767069624c7f8b4a466c6bc7bbf090" }, "downloads": -1, "filename": "timvt-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0ecbc4beddcfd1510be991af9f05f8c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 24802, "upload_time": "2022-06-09T09:16:46", "upload_time_iso_8601": "2022-06-09T09:16:46.109424Z", "url": "https://files.pythonhosted.org/packages/c4/b7/80c68b9648498dad12e4d01e00cbba7bd60bcbad6ccef8804dfc41da9eb9/timvt-0.7.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "a9550558dc40bcb80c03d23b91ea6812f2a5cd78f831d04eec7ce0388ddb58f3", "md5": "2c0f27df204e382185ac545583e69b9b", "sha256": "ebd251d4df217e840f9f36271e91b0d48a1c94763d6982429edce01bc8a6d304" }, "downloads": -1, "filename": "timvt-0.7.0.tar.gz", "has_sig": false, "md5_digest": "2c0f27df204e382185ac545583e69b9b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 24599, "upload_time": "2022-06-09T09:16:48", "upload_time_iso_8601": "2022-06-09T09:16:48.025141Z", "url": "https://files.pythonhosted.org/packages/a9/55/0558dc40bcb80c03d23b91ea6812f2a5cd78f831d04eec7ce0388ddb58f3/timvt-0.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }