{ "info": { "author": "Lev Rubel", "author_email": "l@datacorp.ee", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9" ], "description": "===============\nFastAPI Contrib\n===============\n\n\n.. image:: https://img.shields.io/pypi/v/fastapi_contrib.svg\n :target: https://pypi.python.org/pypi/fastapi_contrib\n\n.. image:: https://img.shields.io/travis/identixone/fastapi_contrib.svg\n :target: https://travis-ci.org/identixone/fastapi_contrib\n\n.. image:: https://readthedocs.org/projects/fastapi-contrib/badge/?version=latest\n :target: https://fastapi-contrib.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n\n.. image:: https://pyup.io/repos/github/identixone/fastapi_contrib/shield.svg\n :target: https://pyup.io/repos/github/identixone/fastapi_contrib/\n :alt: Updates\n\n\n\nOpinionated set of utilities on top of FastAPI\n\n\n* Free software: MIT license\n* Documentation: https://fastapi-contrib.readthedocs.io.\n\n\nFeatures\n--------\n\n* Auth Backend & Middleware (User or None in every request object)\n* Permissions: reusable class permissions, specify multiple as FastAPI Dependency\n* ModelSerializers: serialize (pydantic) incoming request, connect data with DB model and save\n* UJSONResponse: correctly show slashes in fields with URLs\n* Limit-Offset Pagination: use it as FastAPI Dependency (works only with ModelSerializers for now)\n* MongoDB integration: Use models as if it was Django (based on pydantic models)\n* MongoDB indices verification on startup of the app\n* Custom Exceptions and Custom Exception Handlers\n* Opentracing middleware & setup utility with Jaeger tracer + root span available in every Request's state\n* StateRequestIDMiddleware: receives configurable header and saves it in request state\n\nRoadmap\n--------\n\nSee GitHub Project `Roadmap `_.\n\nInstallation\n------------\n\nTo install just Contrib (without mongodb, pytz, ujson):\n\n.. code-block:: console\n\n $ pip install fastapi_contrib\n\nTo install contrib with mongodb support:\n\n.. code-block:: console\n\n $ pip install fastapi_contrib[mongo]\n\nTo install contrib with ujson support:\n\n.. code-block:: console\n\n $ pip install fastapi_contrib[ujson]\n\nTo install contrib with pytz support:\n\n.. code-block:: console\n\n $ pip install fastapi_contrib[pytz]\n\nTo install contrib with opentracing & Jaeger tracer:\n\n.. code-block:: console\n\n $ pip install fastapi_contrib[jaegertracing]\n\nTo install everything:\n\n.. code-block:: console\n\n $ pip install fastapi_contrib[all]\n\nUsage\n-----\n\nTo use Limit-Offset pagination:\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.pagination import Pagination\n from fastapi_contrib.serializers.common import ModelSerializer\n from yourapp.models import SomeModel\n\n app = FastAPI()\n\n class SomeSerializer(ModelSerializer):\n class Meta:\n model = SomeModel\n\n @app.get(\"/\")\n async def list(pagination: Pagination = Depends()):\n filter_kwargs = {}\n return await pagination.paginate(\n serializer_class=SomeSerializer, **filter_kwargs\n )\n\nSubclass this pagination to define custom default & maximum values for offset & limit:\n\n.. code-block:: python\n\n class CustomPagination(Pagination):\n default_offset = 90\n default_limit = 1\n max_offset = 100\n max_limit = 2000\n\n\nTo use State Request ID Middleware:\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.common.middlewares import StateRequestIDMiddleware\n\n app = FastAPI()\n\n @app.on_event('startup')\n async def startup():\n app.add_middleware(StateRequestIDMiddleware)\n\n\nTo use Authentication Middleware:\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.auth.backends import AuthBackend\n from fastapi_contrib.auth.middlewares import AuthenticationMiddleware\n\n app = FastAPI()\n\n @app.on_event('startup')\n async def startup():\n app.add_middleware(AuthenticationMiddleware, backend=AuthBackend())\n\n\nDefine & use custom permissions based on FastAPI Dependency framework:\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.permissions import BasePermission, PermissionsDependency\n\n class TeapotUserAgentPermission(BasePermission):\n\n def has_required_permissions(self, request: Request) -> bool:\n return request.headers.get('User-Agent') == \"Teapot v1.0\"\n\n app = FastAPI()\n\n @app.get(\n \"/teapot/\",\n dependencies=[Depends(\n PermissionsDependency([TeapotUserAgentPermission]))]\n )\n async def teapot() -> dict:\n return {\"teapot\": True}\n\n\nSetup uniform exception-handling:\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.exception_handlers import setup_exception_handlers\n\n app = FastAPI()\n\n @app.on_event('startup')\n async def startup():\n setup_exception_handlers(app)\n\n\nIf you want to correctly handle scenario when request is an empty body (IMPORTANT: non-multipart):\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.routes import ValidationErrorLoggingRoute\n\n app = FastAPI()\n app.router.route_class = ValidationErrorLoggingRoute\n\n\nOr if you use multiple routes for handling different namespaces (IMPORTANT: non-multipart):\n\n.. code-block:: python\n\n from fastapi import APIRouter, FastAPI\n from fastapi_contrib.routes import ValidationErrorLoggingRoute\n\n app = FastAPI()\n\n my_router = APIRouter(route_class=ValidationErrorLoggingRoute)\n\n\nTo correctly show slashes in fields with URLs + ascii locking:\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.common.responses import UJSONResponse\n\n app = FastAPI()\n\n @app.get(\"/\", response_class=UJSONResponse)\n async def root():\n return {\"a\": \"b\"}\n\n\nOr specify it as default response class for the whole app (FastAPI >= 0.39.0):\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.common.responses import UJSONResponse\n\n app = FastAPI(default_response_class=UJSONResponse)\n\n\nTo setup Jaeger tracer and enable Middleware that captures every request in opentracing span:\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.tracing.middlewares import OpentracingMiddleware\n from fastapi_contrib.tracing.utils import setup_opentracing\n\n app = FastAPI()\n\n @app.on_event('startup')\n async def startup():\n setup_opentracing(app)\n app.add_middleware(OpentracingMiddleware)\n\n\n\nTo setup mongodb connection at startup and never worry about it again:\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.db.utils import setup_mongodb\n\n app = FastAPI()\n\n @app.on_event('startup')\n async def startup():\n setup_mongodb(app)\n\n\nUse models to map data to MongoDB:\n\n.. code-block:: python\n\n from fastapi_contrib.db.models import MongoDBModel\n\n class MyModel(MongoDBModel):\n additional_field1: str\n optional_field2: int = 42\n\n class Meta:\n collection = \"mymodel_collection\"\n\n\n mymodel = MyModel(additional_field1=\"value\")\n mymodel.save()\n\n assert mymodel.additional_field1 == \"value\"\n assert mymodel.optional_field2 == 42\n assert isinstance(mymodel.id, int)\n\n\nOr use TimeStamped model with creation datetime:\n\n.. code-block:: python\n\n from fastapi_contrib.db.models import MongoDBTimeStampedModel\n\n class MyTimeStampedModel(MongoDBTimeStampedModel):\n\n class Meta:\n collection = \"timestamped_collection\"\n\n\n mymodel = MyTimeStampedModel()\n mymodel.save()\n\n assert isinstance(mymodel.id, int)\n assert isinstance(mymodel.created, datetime)\n\n\nUse serializers and their response models to correctly show Schemas and convert from JSON/dict to models and back:\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.db.models import MongoDBModel\n from fastapi_contrib.serializers import openapi\n from fastapi_contrib.serializers.common import Serializer\n\n from yourapp.models import SomeModel\n\n app = FastAPI()\n\n\n class SomeModel(MongoDBModel):\n field1: str\n\n\n @openapi.patch\n class SomeSerializer(Serializer):\n read_only1: str = \"const\"\n write_only2: int\n not_visible: str = \"42\"\n\n class Meta:\n model = SomeModel\n exclude = {\"not_visible\"}\n write_only_fields = {\"write_only2\"}\n read_only_fields = {\"read_only1\"}\n\n\n @app.get(\"/\", response_model=SomeSerializer.response_model)\n async def root(serializer: SomeSerializer):\n model_instance = await serializer.save()\n return model_instance.dict()\n\n\nPOST-ing to this route following JSON:\n\n.. code-block:: json\n\n {\"read_only1\": \"a\", \"write_only2\": 123, \"field1\": \"b\"}\n\n\nShould return following response:\n\n.. code-block:: json\n\n {\"id\": 1, \"field1\": \"b\", \"read_only1\": \"const\"}\n\n\nAuto-creation of MongoDB indexes\n----------------------------------------------------------------\n\nSuppose we have this directory structure:\n\n.. code-block:: console\n\n -- project_root/\n -- apps/\n -- app1/\n -- models.py (with MongoDBModel inside with indices declared)\n -- app2/\n -- models.py (with MongoDBModel inside with indices declared)\n\nBased on this, your name of the folder with all the apps would be \"apps\". This is the default name for fastapi_contrib package to pick up your structure automatically. You can change that by setting ENV variable `CONTRIB_APPS_FOLDER_NAME` (by the way, all the setting of this package are overridable via ENV vars with `CONTRIB_` prefix before them).\n\nYou also need to tell fastapi_contrib which apps to look into for your models. This is controlled by `CONTRIB_APPS` ENV variable, which is list of str names of the apps with models. In the example above, this would be `CONTRIB_APPS=[\"app1\",\"app2\"]`.\n\nJust use create_indexes function after setting up mongodb:\n\n.. code-block:: python\n\n from fastapi import FastAPI\n from fastapi_contrib.db.utils import setup_mongodb, create_indexes\n\n app = FastAPI()\n\n @app.on_event(\"startup\")\n async def startup():\n setup_mongodb(app)\n await create_indexes()\n\n\nThis will scan all the specified `CONTRIB_APPS` in the `CONTRIB_APPS_FOLDER_NAME` for models, that are subclassed from either MongoDBModel or MongoDBTimeStampedModel and create indices for any of them that has Meta class with indexes attribute:\n\nmodels.py:\n\n.. code-block:: python\n\n import pymongo\n from fastapi_contrib.db.models import MongoDBTimeStampedModel\n\n\n class MyModel(MongoDBTimeStampedModel):\n\n class Meta:\n collection = \"mymodel\"\n indexes = [\n pymongo.IndexModel(...),\n pymongo.IndexModel(...),\n ]\n\n\nThis would not create duplicate indices because it relies on pymongo and motor to do all the job.\n\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/identixone/fastapi_contrib", "keywords": "fastapi_contrib", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "fastapi-contrib", "package_url": "https://pypi.org/project/fastapi-contrib/", "platform": "", "project_url": "https://pypi.org/project/fastapi-contrib/", "project_urls": { "Homepage": "https://github.com/identixone/fastapi_contrib" }, "release_url": "https://pypi.org/project/fastapi-contrib/0.2.11/", "requires_dist": [ "fastapi (>=0.63.0)", "motor (>=2.0.0) ; extra == 'all'", "ujson (<2.0.0) ; extra == 'all'", "pytz ; extra == 'all'", "jaeger-client (>=4.1.0) ; extra == 'all'", "opentracing (>=2.2.0) ; extra == 'all'", "jaeger-client (>=4.1.0) ; extra == 'jaegertracing'", "opentracing (>=2.2.0) ; extra == 'jaegertracing'", "motor (>=2.0.0) ; extra == 'mongo'", "pytz ; extra == 'pytz'", "ujson (<2.0.0) ; extra == 'ujson'" ], "requires_python": "", "summary": "Opinionated set of utilities on top of FastAPI", "version": "0.2.11", "yanked": false, "yanked_reason": null }, "last_serial": 10548743, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d4d5fabcbd61c3e447a6e276bdd3e421", "sha256": "677bbbf31b76bffc25e69226fbf975c91063e3b054e954277e44b185d5ea5625" }, "downloads": -1, "filename": "fastapi_contrib-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d4d5fabcbd61c3e447a6e276bdd3e421", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24978, "upload_time": "2019-09-13T12:40:30", "upload_time_iso_8601": "2019-09-13T12:40:30.631072Z", "url": "https://files.pythonhosted.org/packages/bc/05/e2c6af8ecdc156ebbcd99242555e1cbad5d33e5379c885d69b9cfd31f64b/fastapi_contrib-0.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5ff7e198a1c8921e8d7ce9b21e52c597", "sha256": "92d41f54b1563434b2438e38befefdd9716f13996ecc40a3e1eb3d6a78e1684a" }, "downloads": -1, "filename": "fastapi_contrib-0.1.0.tar.gz", "has_sig": false, "md5_digest": "5ff7e198a1c8921e8d7ce9b21e52c597", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22938, "upload_time": "2019-09-13T12:40:33", "upload_time_iso_8601": "2019-09-13T12:40:33.713786Z", "url": "https://files.pythonhosted.org/packages/6b/c4/951eadea973571f64cda1ae64ed33bebe1b1ac270cd2d65f3b699f9c03fe/fastapi_contrib-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5e1c3e18e370843df8b90166f0c43e46", "sha256": "a7d355d3ef9838b3ea6ebb6bb25049580d7a17c7c0908957cf34eba1b27e834f" }, "downloads": -1, "filename": "fastapi_contrib-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5e1c3e18e370843df8b90166f0c43e46", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24939, "upload_time": "2019-09-16T21:02:21", "upload_time_iso_8601": "2019-09-16T21:02:21.475645Z", "url": "https://files.pythonhosted.org/packages/8a/d4/03dddc774ee0b24e10e0f1751b31f06243b33ab63c9e4d79a277ae47d266/fastapi_contrib-0.1.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ccff672ea0fe337c1b8c6c8de5c1f6e0", "sha256": "c551dafd75ad23edb8eb6f58d8609c5709e1ccb707cf38ae942053ad2985bded" }, "downloads": -1, "filename": "fastapi_contrib-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ccff672ea0fe337c1b8c6c8de5c1f6e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22902, "upload_time": "2019-09-16T21:02:23", "upload_time_iso_8601": "2019-09-16T21:02:23.254583Z", "url": "https://files.pythonhosted.org/packages/c1/27/392435b1b82689f0b3039437736204247ab1ca926bbb6ef9bfe8faffa748/fastapi_contrib-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "3bcdac69d256a7e5a97a230fdb8bc440", "sha256": "ba5d52ed7f754a84c8394b36afbe7893f96052369953c535cda7fcab0215c563" }, "downloads": -1, "filename": "fastapi_contrib-0.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3bcdac69d256a7e5a97a230fdb8bc440", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25681, "upload_time": "2019-10-08T12:25:58", "upload_time_iso_8601": "2019-10-08T12:25:58.715411Z", "url": "https://files.pythonhosted.org/packages/3a/81/50202fb55963bf6043f8b029cdff9c584b9fd7489cadd20a24525585d1e9/fastapi_contrib-0.1.10-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5087f484c53001d82b22114a7f4f26d8", "sha256": "34854576cb2034e7d3b36496ebe38130e3ab531ff75aeac7a81e156a883865ee" }, "downloads": -1, "filename": "fastapi_contrib-0.1.10.tar.gz", "has_sig": false, "md5_digest": "5087f484c53001d82b22114a7f4f26d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23574, "upload_time": "2019-10-08T12:26:00", "upload_time_iso_8601": "2019-10-08T12:26:00.312127Z", "url": "https://files.pythonhosted.org/packages/e0/a4/49b557d37c63c2c73bb8bd3ab640a27abb58db11482e8a4f655c2ee2de62/fastapi_contrib-0.1.10.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "0c88cf0a3c8b929d844de5fb80a59db2", "sha256": "3adbcb159e4dcca51ea8d0847af449e390bcc7c945762c57842f17af6f043e23" }, "downloads": -1, "filename": "fastapi_contrib-0.1.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0c88cf0a3c8b929d844de5fb80a59db2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25993, "upload_time": "2019-10-09T21:38:02", "upload_time_iso_8601": "2019-10-09T21:38:02.263399Z", "url": "https://files.pythonhosted.org/packages/f2/cb/efb67d6d406a110096649285b1cc748022b886aa05b0e391b4f58d3cc15f/fastapi_contrib-0.1.11-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a8ae6445b3423aaa27330c78f669257d", "sha256": "a5bdaf159abba1db2d97a42e33774102b13dd2b4a707725eb5c6ea2968da864f" }, "downloads": -1, "filename": "fastapi_contrib-0.1.11.tar.gz", "has_sig": false, "md5_digest": "a8ae6445b3423aaa27330c78f669257d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23869, "upload_time": "2019-10-09T21:38:04", "upload_time_iso_8601": "2019-10-09T21:38:04.022985Z", "url": "https://files.pythonhosted.org/packages/8b/88/cfeb600554311544074c37b81a3b958af1740de0aa5c0a6d20751967fdee/fastapi_contrib-0.1.11.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "52826fa08b803d79aafec5a55f615943", "sha256": "7bb0c15caeebcc7c67f7a189eb356e1d72c6b13c8a43fb7907a7a1968234bc3e" }, "downloads": -1, "filename": "fastapi_contrib-0.1.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "52826fa08b803d79aafec5a55f615943", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26273, "upload_time": "2019-10-17T19:21:01", "upload_time_iso_8601": "2019-10-17T19:21:01.626983Z", "url": "https://files.pythonhosted.org/packages/c5/50/b98997524deae1f2424c58ed45b1997fc26645d610b8a3a1b5de95ddb5fe/fastapi_contrib-0.1.12-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0441ba53fde37b3eeb1352249c37a032", "sha256": "96042fb69fc64e7f657fc779824aa11509046044736c998153c046618d7067ff" }, "downloads": -1, "filename": "fastapi_contrib-0.1.12.tar.gz", "has_sig": false, "md5_digest": "0441ba53fde37b3eeb1352249c37a032", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24207, "upload_time": "2019-10-17T19:21:03", "upload_time_iso_8601": "2019-10-17T19:21:03.360221Z", "url": "https://files.pythonhosted.org/packages/d0/0d/d12aa5dd8b9ac6697b539f2163a0c5e1e5734e4d8aefd69a2522e7729546/fastapi_contrib-0.1.12.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "6eff22923e524634974c015eda58d4d9", "sha256": "60c074288d2fc9deaf1da00c0a3045894bab84af000de8c2f1db0a642249bc09" }, "downloads": -1, "filename": "fastapi_contrib-0.1.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6eff22923e524634974c015eda58d4d9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26542, "upload_time": "2019-10-22T16:01:01", "upload_time_iso_8601": "2019-10-22T16:01:01.618781Z", "url": "https://files.pythonhosted.org/packages/9e/4f/6e203c1e94077174eb6a78f4413ff2504275b62a7ce734ca86cb9cbf3720/fastapi_contrib-0.1.13-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f70c378e4038ae73af1ddd5133e071ee", "sha256": "12c44d7de32f5dbf27034d708824ed5e052d4b2c12f25474090ca74cb6d0c2b3" }, "downloads": -1, "filename": "fastapi_contrib-0.1.13.tar.gz", "has_sig": false, "md5_digest": "f70c378e4038ae73af1ddd5133e071ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24428, "upload_time": "2019-10-22T16:01:03", "upload_time_iso_8601": "2019-10-22T16:01:03.529481Z", "url": "https://files.pythonhosted.org/packages/de/f4/344119b59eb73aeb8b5499c90a840fcaefdd113b08e7c42ab4f9c8e4f563/fastapi_contrib-0.1.13.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "58f1c3bd7ce69549450ac2c4a0249c05", "sha256": "9dab9a1d988053f421ae70e0e7c0e690fceac6824190ba97c215edfd48d27fd7" }, "downloads": -1, "filename": "fastapi_contrib-0.1.14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "58f1c3bd7ce69549450ac2c4a0249c05", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 26567, "upload_time": "2019-10-23T14:27:48", "upload_time_iso_8601": "2019-10-23T14:27:48.343633Z", "url": "https://files.pythonhosted.org/packages/5f/be/cd692c2afb22a4a0cd8237cf14a4a7e22a64f3a0000daf7c27d97cf918c6/fastapi_contrib-0.1.14-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "984d611f47f70b629d048925f0a53de1", "sha256": "b49422b382cfcdc9ef7d6ab7f217c3b11f855cf09e4a4871ce8ddca5f8f69041" }, "downloads": -1, "filename": "fastapi_contrib-0.1.14.tar.gz", "has_sig": false, "md5_digest": "984d611f47f70b629d048925f0a53de1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24455, "upload_time": "2019-10-23T14:27:49", "upload_time_iso_8601": "2019-10-23T14:27:49.962800Z", "url": "https://files.pythonhosted.org/packages/68/ba/e79bdcd8cfbd24aa691e46d6878376fb61ec167d483a0590b0bde5e24555/fastapi_contrib-0.1.14.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "aa006f8bc76a69fb31e83a4cef8ec02c", "sha256": "bb2844e25a136461758aac5dde3c84ee78062d020f72072a401da5bfebca38b0" }, "downloads": -1, "filename": "fastapi_contrib-0.1.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aa006f8bc76a69fb31e83a4cef8ec02c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29375, "upload_time": "2019-10-25T11:07:02", "upload_time_iso_8601": "2019-10-25T11:07:02.765076Z", "url": "https://files.pythonhosted.org/packages/88/86/e2657ccf578bed053072f68c4f17a381af72accc1593e681a1c280d05428/fastapi_contrib-0.1.15-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c94a290c2cce29e7377ddb5e5690a33d", "sha256": "7e07b6e0001d3f0ae45f03eae29bc146828255f38c99393655006fbc8bbea6ab" }, "downloads": -1, "filename": "fastapi_contrib-0.1.15.tar.gz", "has_sig": false, "md5_digest": "c94a290c2cce29e7377ddb5e5690a33d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27476, "upload_time": "2019-10-25T11:07:04", "upload_time_iso_8601": "2019-10-25T11:07:04.340449Z", "url": "https://files.pythonhosted.org/packages/f7/66/1972493e97884c795941e685965d423c9bb28b9068fe725d5f89684957f4/fastapi_contrib-0.1.15.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "701a0778f96f26d3c8b018a6e3e64b9e", "sha256": "d102bc2121dcd2d45b7207e6f8c4070614e523ad5a5db9b1ac92b40533fb8e5a" }, "downloads": -1, "filename": "fastapi_contrib-0.1.16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "701a0778f96f26d3c8b018a6e3e64b9e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29414, "upload_time": "2019-11-14T10:40:39", "upload_time_iso_8601": "2019-11-14T10:40:39.952319Z", "url": "https://files.pythonhosted.org/packages/78/a4/60a2adc9991765ffe6430e8f8a2199069dba060ba27782538879f0e2e139/fastapi_contrib-0.1.16-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "661350cb7bdc641ee179c00e998c7bd0", "sha256": "996f6fdc25a8ec8b98955ff9e6927b0179de138ba8781a785d7fd2ac91fee213" }, "downloads": -1, "filename": "fastapi_contrib-0.1.16.tar.gz", "has_sig": false, "md5_digest": "661350cb7bdc641ee179c00e998c7bd0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27596, "upload_time": "2019-11-14T10:40:41", "upload_time_iso_8601": "2019-11-14T10:40:41.600862Z", "url": "https://files.pythonhosted.org/packages/03/05/c40fc9718664857873901dcccfae3d798bb44ccd31728b98defde6b34c30/fastapi_contrib-0.1.16.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "7ffc3ea56ea9fb898848293d1275b588", "sha256": "d526bd95988ecd0e6bafabc3755fde10614b0ce0f1ed4b444906b0817152d51c" }, "downloads": -1, "filename": "fastapi_contrib-0.1.17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ffc3ea56ea9fb898848293d1275b588", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 29883, "upload_time": "2019-11-18T10:20:31", "upload_time_iso_8601": "2019-11-18T10:20:31.371312Z", "url": "https://files.pythonhosted.org/packages/2a/57/61eeb5fa89c47c801a127b1d0d797774a7799a4e6c03e493bc9ba1855f0d/fastapi_contrib-0.1.17-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7c2748e64e03107b6bbd8082af95c354", "sha256": "b1bd57e55ec335c8999f2a1c012b62ef41c155a04167912a31549fae47e67044" }, "downloads": -1, "filename": "fastapi_contrib-0.1.17.tar.gz", "has_sig": false, "md5_digest": "7c2748e64e03107b6bbd8082af95c354", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28345, "upload_time": "2019-11-18T10:20:33", "upload_time_iso_8601": "2019-11-18T10:20:33.040156Z", "url": "https://files.pythonhosted.org/packages/fd/e6/df97bfde74327dfd8f385a04358462e1972a03d53531614c09fc5af96400/fastapi_contrib-0.1.17.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "3612b53f34a8c7d96bd76197ac7af26c", "sha256": "2e9b2f82ed1dd64ec973c3a16fe59ff0f26bfd2feced3876140f637c1467609a" }, "downloads": -1, "filename": "fastapi_contrib-0.1.18-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3612b53f34a8c7d96bd76197ac7af26c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30001, "upload_time": "2019-12-02T14:24:55", "upload_time_iso_8601": "2019-12-02T14:24:55.897929Z", "url": "https://files.pythonhosted.org/packages/7b/ba/ca1034ca4c7a52b4b3abb1d582dd56c2c8df1a20f86df9cbb57c92fee8b3/fastapi_contrib-0.1.18-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "495015c10995e75f5abe7e0b0443bf50", "sha256": "c7e001034221e74a2324a01a4a5882daee042420d71023620762a40213a796bd" }, "downloads": -1, "filename": "fastapi_contrib-0.1.18.tar.gz", "has_sig": false, "md5_digest": "495015c10995e75f5abe7e0b0443bf50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28498, "upload_time": "2019-12-02T14:24:57", "upload_time_iso_8601": "2019-12-02T14:24:57.735708Z", "url": "https://files.pythonhosted.org/packages/45/e3/7dabcc010ffe2fde1002d97e7f85828dccd6a2d59304c72950dc44954fe5/fastapi_contrib-0.1.18.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.19": [ { "comment_text": "", "digests": { "md5": "43117a6cabbb2f873215932e9e635315", "sha256": "aa10aac6f8f82588f3e4a2adedd805fc52532eaf8d3bf8d7497b6b990f22319e" }, "downloads": -1, "filename": "fastapi_contrib-0.1.19-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "43117a6cabbb2f873215932e9e635315", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30108, "upload_time": "2020-01-13T15:06:15", "upload_time_iso_8601": "2020-01-13T15:06:15.614585Z", "url": "https://files.pythonhosted.org/packages/53/78/d5545a4b553253a845f99d89715e056ada3a823020c307ea6d7f1391f364/fastapi_contrib-0.1.19-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5c684709ea18a5ac46220aabff3d13c5", "sha256": "527d524efd7006ab30a35e8451f37ae466be2253691a95993ae874ce997af99a" }, "downloads": -1, "filename": "fastapi_contrib-0.1.19.tar.gz", "has_sig": false, "md5_digest": "5c684709ea18a5ac46220aabff3d13c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28595, "upload_time": "2020-01-13T15:06:17", "upload_time_iso_8601": "2020-01-13T15:06:17.253018Z", "url": "https://files.pythonhosted.org/packages/fe/02/28e71de6fb98530e2ef8a9856eb0d192da65b4d69ba36d2b29e341b68aeb/fastapi_contrib-0.1.19.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5db9e436d176dc58557ef8a85e082e27", "sha256": "ed90df199e0ad94068ecdac91722bd3b77c3944a40ab93eed85d06aa9e4e9dae" }, "downloads": -1, "filename": "fastapi_contrib-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5db9e436d176dc58557ef8a85e082e27", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25171, "upload_time": "2019-09-17T13:07:53", "upload_time_iso_8601": "2019-09-17T13:07:53.596060Z", "url": "https://files.pythonhosted.org/packages/48/f5/a017483d6232bbea1a1be7e16761e0279f92250d8cf0ab793d7955467df2/fastapi_contrib-0.1.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1403ba331ea86c8fc40542e8fc956d30", "sha256": "08bfaa8ce92999d5d4c711b56b40a715a2e3e0eded2ff575ee05e6a9fb7793d6" }, "downloads": -1, "filename": "fastapi_contrib-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1403ba331ea86c8fc40542e8fc956d30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23171, "upload_time": "2019-09-17T13:07:56", "upload_time_iso_8601": "2019-09-17T13:07:56.101017Z", "url": "https://files.pythonhosted.org/packages/06/6c/d6b9c163ee9d18f47c8d7892414faeaa1da9074d84827b4e92f0e98b5082/fastapi_contrib-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.20": [ { "comment_text": "", "digests": { "md5": "8e1de2e21cefac3b51d1ffef79a1ff02", "sha256": "4ab66c423e358473d0af812b865a6a32dbf44b221fb81444c7ce9d37b3b9f621" }, "downloads": -1, "filename": "fastapi_contrib-0.1.20-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8e1de2e21cefac3b51d1ffef79a1ff02", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30143, "upload_time": "2020-01-14T14:29:41", "upload_time_iso_8601": "2020-01-14T14:29:41.187490Z", "url": "https://files.pythonhosted.org/packages/fb/72/5b4e29f7274e32ecd2738cbc46dda38bd0e94258c9764b60f15927316f43/fastapi_contrib-0.1.20-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7d1bc15c09971ee81db30528908236f8", "sha256": "b64074748262ca4b7beed3dc8bee6a7c612e01bf328c4669c15e20c6f25330e2" }, "downloads": -1, "filename": "fastapi_contrib-0.1.20.tar.gz", "has_sig": false, "md5_digest": "7d1bc15c09971ee81db30528908236f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31795, "upload_time": "2020-01-14T14:29:42", "upload_time_iso_8601": "2020-01-14T14:29:42.957978Z", "url": "https://files.pythonhosted.org/packages/c5/31/26dd916a8597853bb33d1bf544b69fc4732d6d6ce6b70a3a7a9936839dba/fastapi_contrib-0.1.20.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.21": [ { "comment_text": "", "digests": { "md5": "a84cac52345f9bdf39ab0920fb6ebaad", "sha256": "6ea09f3c171669674ff0e4f1c7a88b467ef81520f26b9f4a7dca65c06f2ed0b8" }, "downloads": -1, "filename": "fastapi_contrib-0.1.21-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a84cac52345f9bdf39ab0920fb6ebaad", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30427, "upload_time": "2020-01-15T14:34:03", "upload_time_iso_8601": "2020-01-15T14:34:03.180392Z", "url": "https://files.pythonhosted.org/packages/01/7b/9704002b1d6a9f4c5fa99a18fb31332f59036457a7c3c30b9e261851eab2/fastapi_contrib-0.1.21-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4086d30303059107a501f30c0435b2ee", "sha256": "b0431f55daec93bd5b860d0c1bcf69567dee43b840f09dc4e7d0f275324ca4f0" }, "downloads": -1, "filename": "fastapi_contrib-0.1.21.tar.gz", "has_sig": false, "md5_digest": "4086d30303059107a501f30c0435b2ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32064, "upload_time": "2020-01-15T14:34:05", "upload_time_iso_8601": "2020-01-15T14:34:05.124823Z", "url": "https://files.pythonhosted.org/packages/22/2e/1e1b7f1afe11fffb2b3fb341216ae0441a8c54060c5e3cd7f4062831d841/fastapi_contrib-0.1.21.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "3111a8653ebca08fec280b77ec277060", "sha256": "4273cb112c84a5f05dacd2ad2d2d6533040bfb943654ef6cab1c517dbbd0512c" }, "downloads": -1, "filename": "fastapi_contrib-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3111a8653ebca08fec280b77ec277060", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25234, "upload_time": "2019-09-19T09:24:48", "upload_time_iso_8601": "2019-09-19T09:24:48.475319Z", "url": "https://files.pythonhosted.org/packages/70/f1/ae871c18b615f624526422a2945acade6baeb519aeb2b869b32cfd434bba/fastapi_contrib-0.1.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5f6ae4f6edde209d2e655656692febb0", "sha256": "67da660173ba8d76b963a7b370aa2b894d4f1b29e61fdae5399dcf189d6c32cf" }, "downloads": -1, "filename": "fastapi_contrib-0.1.3.tar.gz", "has_sig": false, "md5_digest": "5f6ae4f6edde209d2e655656692febb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23206, "upload_time": "2019-09-19T09:24:50", "upload_time_iso_8601": "2019-09-19T09:24:50.495007Z", "url": "https://files.pythonhosted.org/packages/6a/8f/152f489d0a9b0b8ce710b5d9d6a35242098672ab8ff3f9b0d76a920bd12b/fastapi_contrib-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "1d4c41df652974ccf2e4b9d603502117", "sha256": "b75f6ba0baac2619c602e7ea3770c68f2391d4d42e7fa9318f8f6cce11278a43" }, "downloads": -1, "filename": "fastapi_contrib-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1d4c41df652974ccf2e4b9d603502117", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25222, "upload_time": "2019-09-20T13:44:34", "upload_time_iso_8601": "2019-09-20T13:44:34.531028Z", "url": "https://files.pythonhosted.org/packages/97/0e/f7569eb5f20b54b0ddd24ba5b9db0cd719bdb92241ae3de274b3cd6b0041/fastapi_contrib-0.1.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "adfb19483df188f137f97281d7457f25", "sha256": "b3dea729e308e5def991320bbb7f112f183e86208536e1fbf63c2fb120476ac3" }, "downloads": -1, "filename": "fastapi_contrib-0.1.4.tar.gz", "has_sig": false, "md5_digest": "adfb19483df188f137f97281d7457f25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23197, "upload_time": "2019-09-20T13:44:36", "upload_time_iso_8601": "2019-09-20T13:44:36.600624Z", "url": "https://files.pythonhosted.org/packages/db/da/b978414f7374e7d4f8f82d301c92adce80addb942a636b59054b602dedd0/fastapi_contrib-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "47da16a1b1d7d868aff4149e82b3e717", "sha256": "2d17c89bc70271abeb927cfd1d907a96e5ade3ffa9e272902380bf7e0dc43e51" }, "downloads": -1, "filename": "fastapi_contrib-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47da16a1b1d7d868aff4149e82b3e717", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25233, "upload_time": "2019-09-22T13:28:16", "upload_time_iso_8601": "2019-09-22T13:28:16.198370Z", "url": "https://files.pythonhosted.org/packages/28/6f/773692f489032f71983bf28d3566717293f6b07b5ff0f553e75252d8c6d0/fastapi_contrib-0.1.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6806da0fe298ec3d13ba5921939982d5", "sha256": "f22106ca2ca4c39e7ce68ce5398c1235ff5609a5ea8da7c6fe0770f2e199752c" }, "downloads": -1, "filename": "fastapi_contrib-0.1.5.tar.gz", "has_sig": false, "md5_digest": "6806da0fe298ec3d13ba5921939982d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23207, "upload_time": "2019-09-22T13:28:18", "upload_time_iso_8601": "2019-09-22T13:28:18.287220Z", "url": "https://files.pythonhosted.org/packages/1b/77/1698a9bcb1ab9a394e0cdb118ace11ad3c13a9d5b541f347351f38ce2322/fastapi_contrib-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "35672588dc11fdfab8c8f804d336a198", "sha256": "797e8e18162d367c1ceba0ac8099370c89d6a23822476d99c7eaff813a4243ee" }, "downloads": -1, "filename": "fastapi_contrib-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "35672588dc11fdfab8c8f804d336a198", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25344, "upload_time": "2019-09-23T08:57:14", "upload_time_iso_8601": "2019-09-23T08:57:14.243410Z", "url": "https://files.pythonhosted.org/packages/8d/f8/16550a7308e67f091ba820618168a10f48b68716141015a140ed7ad27e62/fastapi_contrib-0.1.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f633698ff90f80877a792461b57ab03a", "sha256": "c3675d0da154a5ff7af2404f6f778261b91fcf45dbae5988a538929be38e31f9" }, "downloads": -1, "filename": "fastapi_contrib-0.1.6.tar.gz", "has_sig": false, "md5_digest": "f633698ff90f80877a792461b57ab03a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23325, "upload_time": "2019-09-23T08:57:16", "upload_time_iso_8601": "2019-09-23T08:57:16.400821Z", "url": "https://files.pythonhosted.org/packages/a3/93/f40a151ab03effafd3ec70d5ca379e24529a496f6ebb4a8532526c398270/fastapi_contrib-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "82588cf3e6c794796caa695fde501191", "sha256": "13b3e672b599269b672c1c3e6c25f090a6ca208721a4d25c7dd7ae19f34f41ed" }, "downloads": -1, "filename": "fastapi_contrib-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "82588cf3e6c794796caa695fde501191", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25313, "upload_time": "2019-09-24T09:58:25", "upload_time_iso_8601": "2019-09-24T09:58:25.883889Z", "url": "https://files.pythonhosted.org/packages/71/f9/758b02b82241dec00c406e96217e6a4e69f42dc0964eecac53d1d622f509/fastapi_contrib-0.1.7-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3716de64d43b350f303852d2231e1b41", "sha256": "8bcbfe88c4ac2da45e684b8e80c6abce1ad01b84fa3e5b9ed5bceaaf91ef441a" }, "downloads": -1, "filename": "fastapi_contrib-0.1.7.tar.gz", "has_sig": false, "md5_digest": "3716de64d43b350f303852d2231e1b41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23274, "upload_time": "2019-09-24T09:58:27", "upload_time_iso_8601": "2019-09-24T09:58:27.681064Z", "url": "https://files.pythonhosted.org/packages/bc/15/5442d91f365b84fe02466454149234861195216b066a0f203d2075ecf86b/fastapi_contrib-0.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "8bd7fa8e28c18bbc1540b649375b68c7", "sha256": "e4a90ad5cba510dfa63c974c9df5097c8835a50c5f397b12044fd5013e56a609" }, "downloads": -1, "filename": "fastapi_contrib-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8bd7fa8e28c18bbc1540b649375b68c7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25371, "upload_time": "2019-09-24T20:43:02", "upload_time_iso_8601": "2019-09-24T20:43:02.147721Z", "url": "https://files.pythonhosted.org/packages/c0/2d/85731786fb6394a22e9dda8ad51267154d3af2a3b50648c3553e11565c25/fastapi_contrib-0.1.8-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "386bb078af0a8ff7905c3a8342e09c63", "sha256": "896f1439a9c447663c7d416c52100b24d0da87f6d47f83f353f5294c2e6f3048" }, "downloads": -1, "filename": "fastapi_contrib-0.1.8.tar.gz", "has_sig": false, "md5_digest": "386bb078af0a8ff7905c3a8342e09c63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23336, "upload_time": "2019-09-24T20:43:03", "upload_time_iso_8601": "2019-09-24T20:43:03.686781Z", "url": "https://files.pythonhosted.org/packages/0e/9d/ceb1512cc7283bcdd4ee7f86c0952439af87a662ea827054fbf6282f25c3/fastapi_contrib-0.1.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "6a81ee42a1e5fe5e7d712253f5844e74", "sha256": "ab3245615c1d7b2f43542a9654a474db55ac68ed4a0e5b6e919a4989d007e50f" }, "downloads": -1, "filename": "fastapi_contrib-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6a81ee42a1e5fe5e7d712253f5844e74", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 25665, "upload_time": "2019-09-26T05:48:07", "upload_time_iso_8601": "2019-09-26T05:48:07.298790Z", "url": "https://files.pythonhosted.org/packages/87/47/e53dc3a556caf9aed34fe2a0f0d4181010033b9b7d04cd01ab26252e481f/fastapi_contrib-0.1.9-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "883112da2808bc2d6a1f2f5e184da5d3", "sha256": "7edaf7ee4ca4337c0b29f8df18ef20e2e7dfb0fa46092d5afc924a1d11ed1122" }, "downloads": -1, "filename": "fastapi_contrib-0.1.9.tar.gz", "has_sig": false, "md5_digest": "883112da2808bc2d6a1f2f5e184da5d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23567, "upload_time": "2019-09-26T05:48:09", "upload_time_iso_8601": "2019-09-26T05:48:09.093448Z", "url": "https://files.pythonhosted.org/packages/40/e2/5451fa039ed22df37aea634a09b8453b00a2a5be5367355846d874eeaeef/fastapi_contrib-0.1.9.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "36843418bb138dda112b62a1fb623eeb", "sha256": "d669187d3673ed5bcd4dddf387ac3ac38fbba5b97c4b8397a7fd1fc88795ed65" }, "downloads": -1, "filename": "fastapi_contrib-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "36843418bb138dda112b62a1fb623eeb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30762, "upload_time": "2020-01-17T12:20:43", "upload_time_iso_8601": "2020-01-17T12:20:43.163722Z", "url": "https://files.pythonhosted.org/packages/5c/79/507fb756cb645d09d5f7c4382fbc034b578b0ed667dfd4b85c006fc512ef/fastapi_contrib-0.2.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "391198637a470e864a6f6cdd837b17df", "sha256": "0c6585d0cdc1a48a9cc85e47700199dc91de5ab1cd18c93d48d85d144254a335" }, "downloads": -1, "filename": "fastapi_contrib-0.2.0.tar.gz", "has_sig": false, "md5_digest": "391198637a470e864a6f6cdd837b17df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32811, "upload_time": "2020-01-17T12:20:45", "upload_time_iso_8601": "2020-01-17T12:20:45.405320Z", "url": "https://files.pythonhosted.org/packages/9a/b6/fd9d6780ba7065d6c6522f33e5e186c3e03af7ce237765a59198e7a6e76c/fastapi_contrib-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "da545f3067b476ae6f92c9e5fa046c9e", "sha256": "35a08df1338e4e16031d71e70db38d5031534a079c9e7319334a4004fdc244b8" }, "downloads": -1, "filename": "fastapi_contrib-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "da545f3067b476ae6f92c9e5fa046c9e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30748, "upload_time": "2020-01-17T13:07:26", "upload_time_iso_8601": "2020-01-17T13:07:26.368950Z", "url": "https://files.pythonhosted.org/packages/4e/43/0d8ad0706d2252e459ad7dcdc2833985990589b6c40e6858677a79399206/fastapi_contrib-0.2.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "98af691a0c1759c074a821fd63677e30", "sha256": "2fa7f609c4b439e9be3e2b583068d1d5243b834429151186976d49972eaaaf5a" }, "downloads": -1, "filename": "fastapi_contrib-0.2.1.tar.gz", "has_sig": false, "md5_digest": "98af691a0c1759c074a821fd63677e30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32799, "upload_time": "2020-01-17T13:07:28", "upload_time_iso_8601": "2020-01-17T13:07:28.157256Z", "url": "https://files.pythonhosted.org/packages/4a/4b/0a9f6370cdf90c3da5d89ad16eb0b5ea3eb38cb177145ad6e0fe2b8b2c5e/fastapi_contrib-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "b53ca921ec57aa4834f8277bcf43a8e0", "sha256": "185a7cf40643fe5f39345c62efdf43168cde3cb1d9b45573c5a90ddffce65737" }, "downloads": -1, "filename": "fastapi_contrib-0.2.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b53ca921ec57aa4834f8277bcf43a8e0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31281, "upload_time": "2021-03-01T10:45:43", "upload_time_iso_8601": "2021-03-01T10:45:43.697307Z", "url": "https://files.pythonhosted.org/packages/10/88/a014836fc44a0a4a67ea456e82e080f6cd16252f6f1368ea39913d4f4ecc/fastapi_contrib-0.2.10-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "97c430a1e95fe024b9bbba8a511b604b", "sha256": "8a14e4fc2be2d318b9c672638d7762e7c0727e384931bf75691a9b1b0d6c3eb6" }, "downloads": -1, "filename": "fastapi_contrib-0.2.10.tar.gz", "has_sig": false, "md5_digest": "97c430a1e95fe024b9bbba8a511b604b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34975, "upload_time": "2021-03-01T10:45:45", "upload_time_iso_8601": "2021-03-01T10:45:45.407144Z", "url": "https://files.pythonhosted.org/packages/e5/9c/a602e6755ee4e4531df083739d67d1f510844fd5a6a0e6a780cf0795f1a1/fastapi_contrib-0.2.10.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "5daac6187a52c81faea3588511e53ad3", "sha256": "c7ee2f9e4ea3ea6fa839d44c86c69accda78cdd0ffed2fadf4d7d51b5abc7abb" }, "downloads": -1, "filename": "fastapi_contrib-0.2.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5daac6187a52c81faea3588511e53ad3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31304, "upload_time": "2021-06-03T13:49:33", "upload_time_iso_8601": "2021-06-03T13:49:33.097316Z", "url": "https://files.pythonhosted.org/packages/f3/e9/9bc9a6092dd8ee81462efce52cb13dbb3bf271f6e9117d673c0cc1f5d776/fastapi_contrib-0.2.11-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e07f8c25864254e7c248b944942f6571", "sha256": "e628393839aec1057067a66b328a021afdb1c57bbde090b719216c5b2088d04d" }, "downloads": -1, "filename": "fastapi_contrib-0.2.11.tar.gz", "has_sig": false, "md5_digest": "e07f8c25864254e7c248b944942f6571", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34012, "upload_time": "2021-06-03T13:49:34", "upload_time_iso_8601": "2021-06-03T13:49:34.398274Z", "url": "https://files.pythonhosted.org/packages/8e/b0/7e9a53900b2d19e2532defadcdaff327e4faf1649afc4624efa5257496b9/fastapi_contrib-0.2.11.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "f37f414b049718deccec83449bcd4ddc", "sha256": "906bc8e16c714a2d722eac56da5a8d8219e912db05645f6ab853df6d2806f59b" }, "downloads": -1, "filename": "fastapi_contrib-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f37f414b049718deccec83449bcd4ddc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30796, "upload_time": "2020-01-20T12:25:46", "upload_time_iso_8601": "2020-01-20T12:25:46.258011Z", "url": "https://files.pythonhosted.org/packages/08/f4/097c3643c94c84c4b32424246377d538338880c5bf6c7876a8cba178d695/fastapi_contrib-0.2.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2b396cbd9534347d24ca56c9633b5186", "sha256": "1378bc6aaf54571bbff02519ad4c65c237bceeefd93ef9df0b9010a8e416867b" }, "downloads": -1, "filename": "fastapi_contrib-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2b396cbd9534347d24ca56c9633b5186", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32856, "upload_time": "2020-01-20T12:25:48", "upload_time_iso_8601": "2020-01-20T12:25:48.321761Z", "url": "https://files.pythonhosted.org/packages/a6/fe/7ae3caed13441048096e15298065670bb6d731ab9920af2b9b418f180851/fastapi_contrib-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "217e2bbac7a47df440e8eaf71ba082d5", "sha256": "b4716570f9ab45378015f93d0c2a9b3ca3daab5fd7f0c813502b2d1deceffd5a" }, "downloads": -1, "filename": "fastapi_contrib-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "217e2bbac7a47df440e8eaf71ba082d5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30938, "upload_time": "2020-01-29T10:57:22", "upload_time_iso_8601": "2020-01-29T10:57:22.657700Z", "url": "https://files.pythonhosted.org/packages/a6/07/c188e7f05ffc7e972b1a16b4df41f6ba17556a119c2af330acfe3bcf08be/fastapi_contrib-0.2.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "25bf7d04a898629528b07e81205c80e0", "sha256": "2775747384e12bb292811262786726e9ca3554996c7b0b7a0b71f0c891dcffb2" }, "downloads": -1, "filename": "fastapi_contrib-0.2.3.tar.gz", "has_sig": false, "md5_digest": "25bf7d04a898629528b07e81205c80e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32978, "upload_time": "2020-01-29T10:57:24", "upload_time_iso_8601": "2020-01-29T10:57:24.390020Z", "url": "https://files.pythonhosted.org/packages/53/ba/dcb66858dd8392c0306a021779182afd8232d22fa483a1df27c7302b4795/fastapi_contrib-0.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "344ca14e9ce8bac6ebf0dd0160a089c6", "sha256": "024757f9e776139598e9012cb5e3413535420e2e9b60cc0b9e3c4506fb4eff4b" }, "downloads": -1, "filename": "fastapi_contrib-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "344ca14e9ce8bac6ebf0dd0160a089c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31061, "upload_time": "2020-03-05T13:45:32", "upload_time_iso_8601": "2020-03-05T13:45:32.795247Z", "url": "https://files.pythonhosted.org/packages/7b/12/bdb62a9881a8af31d3b03a8f703aef6cdeee2e70167663e1d1ed8cac8b19/fastapi_contrib-0.2.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7ec0a64f685dd5cf8f09508b7cb9a475", "sha256": "a493605e30bafb5bfda38711fa037fdc0e4d99f2e20b84afc1765c48d3eb426a" }, "downloads": -1, "filename": "fastapi_contrib-0.2.4.tar.gz", "has_sig": false, "md5_digest": "7ec0a64f685dd5cf8f09508b7cb9a475", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35381, "upload_time": "2020-03-05T13:45:34", "upload_time_iso_8601": "2020-03-05T13:45:34.589634Z", "url": "https://files.pythonhosted.org/packages/6d/8a/6c822d308d984fa8d5b58d4900f676a2a8666b0bdc132419e6d1ea1d5b40/fastapi_contrib-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "f7fe08a7d3e6311b688c33e7ed8f7605", "sha256": "02ad8b4624eebb59f15a7d6e13c397a929f4854d3296b06103b91a3e01dff55b" }, "downloads": -1, "filename": "fastapi_contrib-0.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f7fe08a7d3e6311b688c33e7ed8f7605", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31135, "upload_time": "2020-03-12T14:32:07", "upload_time_iso_8601": "2020-03-12T14:32:07.026166Z", "url": "https://files.pythonhosted.org/packages/b1/af/e3d19874db4427868c736246f150b9637441840e1f0216207043238c4060/fastapi_contrib-0.2.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c445145b4ed3189ecd7f75d5329e5a5a", "sha256": "a31bc2c8a6fe4399217609e80a37a6871ef763a61d8604153540dd404520867d" }, "downloads": -1, "filename": "fastapi_contrib-0.2.5.tar.gz", "has_sig": false, "md5_digest": "c445145b4ed3189ecd7f75d5329e5a5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35522, "upload_time": "2020-03-12T14:32:08", "upload_time_iso_8601": "2020-03-12T14:32:08.994996Z", "url": "https://files.pythonhosted.org/packages/d6/bc/17e5ab353e14f1654d785557b1b09447f54253047fed674e1ea3194f14f6/fastapi_contrib-0.2.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "8453106fa36e4eafc0a2fb3dbe9b88ff", "sha256": "be8cc9ff064c52fac761f85be9b945c0923f71bc5e9b576fa9514c6b51346e88" }, "downloads": -1, "filename": "fastapi_contrib-0.2.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8453106fa36e4eafc0a2fb3dbe9b88ff", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31137, "upload_time": "2020-06-24T18:58:02", "upload_time_iso_8601": "2020-06-24T18:58:02.458572Z", "url": "https://files.pythonhosted.org/packages/62/65/ac86e02dbe5274bc70972ef56671c4bf271762d124619734ace410f54247/fastapi_contrib-0.2.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "fe9d2b0c626731c18ca52b183f65c05d", "sha256": "b98f228fea8227f913280e8461c9b06dcc750468e6c661666e226cf0d2911a97" }, "downloads": -1, "filename": "fastapi_contrib-0.2.6.tar.gz", "has_sig": false, "md5_digest": "fe9d2b0c626731c18ca52b183f65c05d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35540, "upload_time": "2020-06-24T18:58:04", "upload_time_iso_8601": "2020-06-24T18:58:04.177797Z", "url": "https://files.pythonhosted.org/packages/b2/a9/6c1844f0229d761c907890c82daf953a038db184e3a8286676865ccfaf13/fastapi_contrib-0.2.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "10e052306beabd366112d46b4cc36baa", "sha256": "ef7ffe350b5941839089c3febf236e639f5e6237152e9b41c79f58f0b5e2be6c" }, "downloads": -1, "filename": "fastapi_contrib-0.2.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "10e052306beabd366112d46b4cc36baa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31367, "upload_time": "2020-07-13T17:33:30", "upload_time_iso_8601": "2020-07-13T17:33:30.445223Z", "url": "https://files.pythonhosted.org/packages/21/85/887ecdd04eb5058f23c0e32f92c6ac16e11330c8484687994dc2cc4d2a4f/fastapi_contrib-0.2.7-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "78baa6657567eca2abaad3e7a7533fd4", "sha256": "13ababccbd071037cad1a5705323f423d8a91a748653d2ab2abd6b90a1f7da74" }, "downloads": -1, "filename": "fastapi_contrib-0.2.7.tar.gz", "has_sig": false, "md5_digest": "78baa6657567eca2abaad3e7a7533fd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35752, "upload_time": "2020-07-13T17:33:31", "upload_time_iso_8601": "2020-07-13T17:33:31.915701Z", "url": "https://files.pythonhosted.org/packages/39/9c/65eb83045084728e807ce27ecf96ce89b8827ad135835e8dc419ebd27919/fastapi_contrib-0.2.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "d5fba7d18d5782778545389f693c9b8d", "sha256": "92c4341ba40201e64508c9afb9af849f16a636d450f67f46f8266a6a6791eaf5" }, "downloads": -1, "filename": "fastapi_contrib-0.2.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d5fba7d18d5782778545389f693c9b8d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31399, "upload_time": "2020-09-04T10:38:32", "upload_time_iso_8601": "2020-09-04T10:38:32.775048Z", "url": "https://files.pythonhosted.org/packages/e8/22/5ab6ee8d5c8a56a5071f2c66e44cc7bcfabed22bbf6349e4fafe9810ef59/fastapi_contrib-0.2.8-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "328dbb8db3e99d5e07af5c6038dbcb6c", "sha256": "76a31dc342f8a5a0932c64030e2f9f9af6a309b5ae75372b5ec1404bb113aaa7" }, "downloads": -1, "filename": "fastapi_contrib-0.2.8.tar.gz", "has_sig": false, "md5_digest": "328dbb8db3e99d5e07af5c6038dbcb6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35784, "upload_time": "2020-09-04T10:38:34", "upload_time_iso_8601": "2020-09-04T10:38:34.330871Z", "url": "https://files.pythonhosted.org/packages/f5/37/bfa2f52e2edd3c01e49534486a907738e3b350d46ad5870f7b5bc71e6300/fastapi_contrib-0.2.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "188cc2226989845b777ecf59b68de08c", "sha256": "a53b1ead2654249c9e9c9756cab46a8ad650b6cab9e3721f9e393e1dbbc64afa" }, "downloads": -1, "filename": "fastapi_contrib-0.2.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "188cc2226989845b777ecf59b68de08c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31194, "upload_time": "2020-12-16T18:52:23", "upload_time_iso_8601": "2020-12-16T18:52:23.917766Z", "url": "https://files.pythonhosted.org/packages/82/03/bd6029e1931cd98819b21d124e451d3a439283f29ee4d83acce1825fb9a1/fastapi_contrib-0.2.9-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "afd5a018c85be645a86d8b760077f342", "sha256": "dedd7521995e4874f870b5282f0f811b2edc96e624c97c2ef40910ae3c05360f" }, "downloads": -1, "filename": "fastapi_contrib-0.2.9.tar.gz", "has_sig": false, "md5_digest": "afd5a018c85be645a86d8b760077f342", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34921, "upload_time": "2020-12-16T18:52:25", "upload_time_iso_8601": "2020-12-16T18:52:25.746116Z", "url": "https://files.pythonhosted.org/packages/ab/be/9648638c5dc3305fe2045cb1d258b22eb010913fb866975a0126dbe68372/fastapi_contrib-0.2.9.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5daac6187a52c81faea3588511e53ad3", "sha256": "c7ee2f9e4ea3ea6fa839d44c86c69accda78cdd0ffed2fadf4d7d51b5abc7abb" }, "downloads": -1, "filename": "fastapi_contrib-0.2.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5daac6187a52c81faea3588511e53ad3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 31304, "upload_time": "2021-06-03T13:49:33", "upload_time_iso_8601": "2021-06-03T13:49:33.097316Z", "url": "https://files.pythonhosted.org/packages/f3/e9/9bc9a6092dd8ee81462efce52cb13dbb3bf271f6e9117d673c0cc1f5d776/fastapi_contrib-0.2.11-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e07f8c25864254e7c248b944942f6571", "sha256": "e628393839aec1057067a66b328a021afdb1c57bbde090b719216c5b2088d04d" }, "downloads": -1, "filename": "fastapi_contrib-0.2.11.tar.gz", "has_sig": false, "md5_digest": "e07f8c25864254e7c248b944942f6571", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34012, "upload_time": "2021-06-03T13:49:34", "upload_time_iso_8601": "2021-06-03T13:49:34.398274Z", "url": "https://files.pythonhosted.org/packages/8e/b0/7e9a53900b2d19e2532defadcdaff327e4faf1649afc4624efa5257496b9/fastapi_contrib-0.2.11.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }