Files
template-fastapi/pyproject.toml.jinja
Aleksei Sokol 8f01b759f1
Some checks failed
Run linters on applied template / Python 3.13 lint and build (push) Failing after 42s
Initial commit
This is a FastAPI backend microservice template used with `copier` utility.

Features of applied template are:
- Configuration file processing logic
- Metrics and tracing (both optional) configuration available
- Debug endpoints
- Database migration commands, prepared Alembic environment
- Database usage example in ping_db endpoint
- gitea sanity check pipeline
2025-11-29 22:07:43 +03:00

65 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)",
]
[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"