[project] name = "clean-python" description = "Clean architecture in Python" authors = [ {name = "Nelen & Schuurmans", email = "info@nelen-schuurmans.nl"}, ] readme = "README.md" license = {text = "MIT"} # Get classifier strings from http://www.python.org/pypi?%3Aaction=list_classifiers classifiers = ["Programming Language :: Python"] keywords = [] requires-python = ">=3.7" dependencies = ["pydantic==2.*", "inject==4.*", "asgiref", "blinker", "async-lru", "backoff"] dynamic = ["version"] [project.optional-dependencies] test = [ "pytest", "pytest-cov", "pytest-asyncio==0.21.*", # https://github.com/pytest-dev/pytest-asyncio/issues/706 "debugpy", "httpx", "uvicorn", "python-multipart", "pytest-celery" ] dramatiq = ["dramatiq"] fastapi = ["fastapi"] auth = ["pyjwt[crypto]==2.6.0"] amqp = ["pika"] celery = ["celery"] fluentbit = ["fluent-logger"] sql = ["sqlalchemy==2.*", "asyncpg"] s3 = ["aioboto3", "boto3"] api_client = ["aiohttp", "urllib3"] profiler = ["yappi"] debugger = ["debugpy"] [project.urls] homepage = "https://github.com/nens/clean-python" [tool.setuptools] zip-safe = false [tool.setuptools.packages.find] include = ["clean_python*"] # package names should match these glob patterns (["*"] by default) [tool.setuptools.dynamic] version = {attr = "clean_python.__version__"} [tool.isort] profile = "black" force_alphabetical_sort_within_sections = true force_single_line = true [tool.pytest.ini_options] norecursedirs=".venv data doc etc *.egg-info misc var build lib include" python_files = "test_*.py"