Files
template-fastapi/pyproject.toml.jinja
Aleksei Sokol 34c1347402
All checks were successful
Run linters on applied template / Python 3.13 lint and build (push) Successful in 54s
Version 0.2.0
Changes:
- add metrics dispencer
- add basic authentication dependency
- enable GZIP middleware
- add !env() example to deploy section
- update dependencies state attribute name
2025-11-30 16:59:25 +03:00

66 lines
1.6 KiB
Django/Jinja

[project]
name = "{{project_name}}"
version = "0.1.0"
description = "{{project_description}}"
authors = [{ name = "IDU lab team", email = "idu@itmo.ru" }]
license = { text = "Apache 2.0" }
readme = "README.md"
requires-python = ">= 3.11"
dependencies = [
"fastapi (>=0.117.1,<0.118.0)",
"structlog (>=25.4.0,<26.0.0)",
"sqlalchemy (>=2.0.43,<3.0.0)",
"alembic (>=1.16.5,<2.0.0)",
"dotenv (>=0.9.9,<0.10.0)",
"pyyaml (>=6.0.3,<7.0.0)",
"uvicorn (>=0.38.0,<0.39.0)",
"asyncpg (>=0.30.0,<0.31.0)",
"opentelemetry-exporter-prometheus (>=0.59b0,<0.60)",
"opentelemetry-exporter-otlp-proto-http (>=1.38.0,<2.0.0)",
"opentelemetry-semantic-conventions (>=0.59b0,<0.60)",
"aiohttp (>=3.13.2,<4.0.0)",
"email-validator (>=2.3.0,<3.0.0)",
"pyjwt (>=2.10.1,<3.0.0)",
]
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
[dependency-groups]
dev = [
"black (>=25.9.0,<26.0.0)",
"isort (>=6.0.1,<7.0.0)",
"pylint (>=3.3.8,<4.0.0)",
]
[tool.poetry.scripts]
{{project_name}} = "{{project_slug}}.__main__:main"
[tool.black]
line-length = 120
target-version = ['py311']
[tool.pylint.format]
max-line-length = 120
expected-line-ending-format = "LF"
extension-pkg-allow-list = []
ignored-modules = ["alembic.context"]
disable = [
"duplicate-code",
"missing-module-docstring",
"missing-class-docstring",
"missing-function-docstring",
]
[tool.isort]
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true
line_length = 120
split_on_trailing_comma = true
profile = "black"