Files
fastapi/pyproject.toml
Sebastián Ramírez 3f9f4a0f8f Add dependencies with yield (used as context managers) (#595)
*  Add development/testing dependencies for Python 3.6

*  Add concurrency submodule with contextmanager_in_threadpool

*  Add AsyncExitStack to ASGI scope in FastAPI app call

*  Use async stack for contextmanager-able dependencies

including running in threadpool sync dependencies

*  Add tests for contextmanager dependencies

including internal raise checks when exceptions should be handled and when not

*  Add test for fake asynccontextmanager raiser

* 🐛 Fix mypy errors and coverage

* 🔇 Remove development logs and prints

*  Add tests for sub-contextmanagers, background tasks, and sync functions

* 🐛 Fix mypy errors for Python 3.7

* 💬 Fix error texts for clarity

* 📝 Add docs for dependencies with yield

*  Update SQL with SQLAlchemy tutorial to use dependencies with yield

and add an alternative with a middleware (from the old tutorial)

*  Update SQL tests to remove DB file during the same tests

*  Add tests for example with middleware

as a copy from the tests with dependencies with yield, removing the DB in the tests

* ✏️ Fix typos with suggestions from code review

Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com>
2019-10-09 13:01:58 -05:00

69 lines
1.4 KiB
TOML

[build-system]
requires = ["flit"]
build-backend = "flit.buildapi"
[tool.flit.metadata]
module = "fastapi"
author = "Sebastián Ramírez"
author-email = "tiangolo@gmail.com"
home-page = "https://github.com/tiangolo/fastapi"
classifiers = [
"License :: OSI Approved :: MIT License",
"Development Status :: 4 - Beta",
"Framework :: AsyncIO",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Internet :: WWW/HTTP :: HTTP Servers",
]
requires = [
"starlette >=0.12.9,<=0.12.9",
"pydantic >=0.32.2,<=0.32.2"
]
description-file = "README.md"
requires-python = ">=3.6"
[tool.flit.metadata.urls]
Documentation = "https://fastapi.tiangolo.com/"
[tool.flit.metadata.requires-extra]
test = [
"pytest >=4.0.0",
"pytest-cov",
"mypy",
"black",
"isort",
"requests",
"email_validator",
"sqlalchemy",
"databases[sqlite]",
"orjson",
"async_exit_stack",
"async_generator"
]
doc = [
"mkdocs",
"mkdocs-material",
"markdown-include"
]
dev = [
"pyjwt",
"passlib[bcrypt]"
]
all = [
"requests",
"aiofiles",
"jinja2",
"python-multipart",
"itsdangerous",
"pyyaml",
"graphene",
"ujson",
"email_validator",
"uvicorn",
"async_exit_stack",
"async_generator"
]