65 lines
1.4 KiB
TOML
65 lines
1.4 KiB
TOML
[project]
|
|
name = "blog"
|
|
version = "0.1.0"
|
|
description = "Add your description here"
|
|
readme = "README.md"
|
|
requires-python = ">=3.13"
|
|
dependencies = [
|
|
"fastapi>=0.136.0",
|
|
"uvicorn>=0.44.0",
|
|
"pydantic-settings>=2.7.0",
|
|
"dishka>=1.0.0",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
{include-group = "lints"},
|
|
{include-group = "tests"},
|
|
{include-group = "types"},
|
|
{include-group = "docs"},
|
|
"pre-commit>=4.5.1",
|
|
]
|
|
tests = [
|
|
"httpx>=0.28.1",
|
|
"pytest>=9.0.3",
|
|
"pytest-asyncio>=1.3.0",
|
|
"pytest-cov>=7.1.0",
|
|
"mimesis>=13.0.0",
|
|
]
|
|
lints = [
|
|
"black>=23.7.0",
|
|
"ruff>=0.15.11",
|
|
"isort>=8.0.1",
|
|
]
|
|
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=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
|
|
|