Files
zangramru/pyproject.toml
T
s3rius debbe6821a
/ docker_build (push) Successful in 6m37s
Testing zangramru / lint (ruff-format) (push) Failing after 4s
/ helm_deploy (push) Failing after 25s
Testing zangramru / lint (mypy) (push) Failing after 4s
Testing zangramru / lint (ruff) (push) Failing after 4s
Testing zangramru / pytest (push) Failing after 4s
Done service.
Signed-off-by: Pavel Kirilin <s3riussan@gmail.com>
2026-07-01 02:35:03 +02:00

167 lines
4.1 KiB
TOML

[project]
name = "zangramru"
version = "0.1.0"
requires-python = ">=3.12,<4.0"
description = ""
authors = []
maintainers = []
readme = "README.md"
dependencies = [
"fastapi >=0.122.0,<1",
"uvicorn[standard] >=0.38.0,<1",
"pydantic >=2.12.5,<3",
"pydantic-settings >=2.12.0,<3",
"yarl >=1.22.0,<2",
"ujson >=5.11.0,<6",
"piccolo[postgres] >=1.30.0,<2",
"httptools >=0.7.1,<1",
"pymongo >=4.15.4,<5",
]
[dependency-groups]
dev = [
"pytest >=9.0.1,<10",
"ruff >=0.14.6,<1",
"mypy >=1.19.0,<2",
"pre-commit >=4.5.0,<5",
"pytest-cov >=7.0.0,<8",
"anyio >=4.11.0,<5",
"pytest-env >=1.2.0,<2",
"httpx >=0.28.1,<1",
]
[tool.uv]
default-groups = ["dev"]
[tool.isort]
profile = "black"
multi_line_output = 3
src_paths = ["zangramru",]
[tool.mypy]
python_version = "3.13"
strict = true
ignore_missing_imports = true
allow_subclassing_any = true
allow_untyped_calls = true
pretty = true
show_error_codes = true
implicit_reexport = true
allow_untyped_decorators = true
warn_unused_ignores = false
warn_return_any = false
namespace_packages = true
exclude = [
"zangramru/db/migrations/.*",
]
[tool.pytest.ini_options]
addopts = "-p no:unraisableexception"
filterwarnings = [
"error",
"ignore::DeprecationWarning",
"ignore:.*unclosed.*:ResourceWarning",
]
anyio_mode = "auto"
env = [
"ZANGRAMRU_ENVIRONMENT=pytest",
"ZANGRAMRU_DB_BASE=zangramru_test",
"PICCOLO_CONF=zangramru.piccolo_conf",
]
[tool.ruff]
target-version = "py313"
# List of enabled rulsets.
# See https://docs.astral.sh/ruff/rules/ for more information.
lint.select = [ "E", # Error
"F", # Pyflakes
"W", # Pycodestyle
"C90", # McCabe complexity
"I", # Isort
"N", # pep8-naming
"D", # Pydocstyle
"ANN", # Pytype annotations
"S", # Bandit
"B", # Bugbear
"C4", # Comprehensions
"ISC", # Implicit string concat
"PIE", # Unnecessary code
"T20", # Catch prints
"PYI", # validate pyi files
"Q", # Checks for quotes
"RSE", # Checks raise statements
"RET", # Checks return statements
"SLF", # Self checks
"SIM", # Simplificator
"PTH", # Pathlib checks
"ERA", # Checks for commented out code
"PL", # PyLint checks
"RUF", # Specific to Ruff checks
"FA102", # Future annotations
"UP", # Python updates
]
lint.ignore = [
"D105", # Missing docstring in magic method
"D107", # Missing docstring in __init__
"B008", # Do not perform function calls in argument defaults
"D211", # No blank lines allowed before class docstring
"D212", # Multi-line docstring summary should start at the first line
"D401", # First line should be in imperative mood
"D104", # Missing docstring in public package
"D100", # Missing docstring in public module
"D202", # No blank lines allowed after function docstring
"ANN401", # typing.Any are disallowed in `**kwargs
"PLR0913", # Too many arguments for function call
"D106", # Missing docstring in public nested class
"UP043", # Unnecessary default argument specified (conflicts with mypy).
]
exclude = [
"zangramru/db/migrations",
".venv/"
]
lint.mccabe = { max-complexity = 10 }
line-length = 88
[tool.ruff.lint.per-file-ignores]
"tests/*" = [
"S101", # Use of assert detected
"PLC0415", # Import outside toplevel
]
[tool.ruff.lint.pydocstyle]
convention = "pep257"
ignore-decorators = ["typing.overload"]
[tool.ruff.lint.pylint]
allow-magic-value-types = ["int", "str", "float", "bytes"]
[tool.ruff.lint.flake8-bugbear]
extend-immutable-calls = [
"fastapi.Depends",
"fastapi.Query",
]
[fastapi-template.options]
project_name = "zangramru"
api_type = "rest"
enable_redis = "None"
enable_rmq = "None"
ci_type = "github"
enable_migrations = "True"
enable_taskiq = "None"
enable_routers = "True"
enable_kafka = "None"
enable_nats = "None"
traefik_labels = "None"
add_dummy = "None"
orm = "piccolo"
self_hosted_swagger = "None"
prometheus_enabled = "None"
sentry_enabled = "None"
otlp_enabled = "None"
gunicorn = "None"
add_users = "None"
cookie_auth = "None"
jwt_auth = "None"