feat: update project structure and docs

This commit is contained in:
2026-04-25 16:26:33 +03:00
parent 9c3b44b561
commit 9772c3c908
42 changed files with 1342 additions and 6 deletions

View File

@@ -7,6 +7,8 @@ requires-python = ">=3.13"
dependencies = [
"fastapi>=0.136.0",
"uvicorn>=0.44.0",
"pydantic-settings>=2.7.0",
"dishka>=1.0.0",
]
[dependency-groups]
@@ -14,6 +16,7 @@ dev = [
{include-group = "lints"},
{include-group = "tests"},
{include-group = "types"},
{include-group = "docs"},
"pre-commit>=4.5.1",
]
tests = [
@@ -21,6 +24,7 @@ tests = [
"pytest>=9.0.3",
"pytest-asyncio>=1.3.0",
"pytest-cov>=7.1.0",
"mimesis>=13.0.0",
]
lints = [
"black>=23.7.0",
@@ -30,12 +34,31 @@ lints = [
types = [
"mypy>=1.20.1",
]
docs = [
"pydocstyle>=6.3.0",
"interrogate>=1.7.0",
"mkdocs>=1.6.0",
"mkdocstrings[python]>=0.24.0",
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
addopts = "--cov=src --cov-report=term"
addopts = "--cov=app --cov-report=term --no-cov-on-fail -p no:cacheprovider"
pythonpath = "."
testpaths = "tests"
xfail_strict = true
markers = [
"api: API endpoint tests",
"unit: Unit tests (isolated, fast)",
"integration: Integration tests (DB, external services)",
"e2e: End-to-end tests (full workflows)",
"slow: Slow running tests (skip in CI by default)",
]
# Disable bytecode generation
env = ["PYTHONDONTWRITEBYTECODE=1"]
[tool.uv]
# Disable Python bytecode cache during development
# Set PYTHONDONTWRITEBYTECODE=1 in .env or environment