pyproject.toml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. [project]
  2. name = "clean-python"
  3. description = "Clean architecture in Python"
  4. authors = [
  5. {name = "Nelen & Schuurmans", email = "info@nelen-schuurmans.nl"},
  6. ]
  7. readme = "README.md"
  8. license = {text = "MIT"}
  9. # Get classifier strings from http://www.python.org/pypi?%3Aaction=list_classifiers
  10. classifiers = ["Programming Language :: Python"]
  11. keywords = []
  12. requires-python = ">=3.7"
  13. dependencies = ["pydantic==2.*", "inject==4.*", "asgiref", "blinker", "async-lru", "backoff"]
  14. dynamic = ["version"]
  15. [project.optional-dependencies]
  16. test = [
  17. "pytest",
  18. "pytest-cov",
  19. "pytest-asyncio==0.21.*", # https://github.com/pytest-dev/pytest-asyncio/issues/706
  20. "debugpy",
  21. "httpx",
  22. "uvicorn",
  23. "python-multipart",
  24. "pytest-celery"
  25. ]
  26. dramatiq = ["dramatiq"]
  27. fastapi = ["fastapi"]
  28. auth = ["pyjwt[crypto]==2.6.0"]
  29. amqp = ["pika"]
  30. celery = ["celery"]
  31. fluentbit = ["fluent-logger"]
  32. sql = ["sqlalchemy==2.*", "asyncpg"]
  33. s3 = ["aioboto3", "boto3"]
  34. api_client = ["aiohttp", "urllib3"]
  35. profiler = ["yappi"]
  36. debugger = ["debugpy"]
  37. [project.urls]
  38. homepage = "https://github.com/nens/clean-python"
  39. [tool.setuptools]
  40. zip-safe = false
  41. [tool.setuptools.packages.find]
  42. include = ["clean_python*"]
  43. # package names should match these glob patterns (["*"] by default)
  44. [tool.setuptools.dynamic]
  45. version = {attr = "clean_python.__version__"}
  46. [tool.isort]
  47. profile = "black"
  48. force_alphabetical_sort_within_sections = true
  49. force_single_line = true
  50. [tool.pytest.ini_options]
  51. norecursedirs=".venv data doc etc *.egg-info misc var build lib include"
  52. python_files = "test_*.py"