mirror of
https://github.com/R0m1k3/Priceflow.git
synced 2026-10-21 14:18:11 +02:00
Add files via upload
This commit is contained in:
72 files changed
+12339
No files matched your search
@@ -0,0 +1,98 @@
|
||||
[project]
|
||||
name = "pricecious-backend"
|
||||
version = "0.1.0"
|
||||
description = "Backend for Pricecious Price Tracker"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.12"
|
||||
dependencies = [
|
||||
"fastapi",
|
||||
"uvicorn",
|
||||
"sqlalchemy",
|
||||
"psycopg2-binary",
|
||||
"playwright",
|
||||
"requests",
|
||||
"pydantic",
|
||||
"apprise",
|
||||
"Pillow",
|
||||
"apscheduler",
|
||||
"python-multipart",
|
||||
"pydantic-settings",
|
||||
"aiofiles",
|
||||
"litellm",
|
||||
"alembic",
|
||||
"tenacity",
|
||||
"slowapi",
|
||||
]
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["app"]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
"pytest",
|
||||
"pytest-asyncio",
|
||||
"pytest-cov",
|
||||
"ruff",
|
||||
"httpx",
|
||||
"mypy",
|
||||
"bandit",
|
||||
"pip-audit",
|
||||
"pre-commit",
|
||||
]
|
||||
|
||||
[tool.hatch.envs.default]
|
||||
dependencies = [
|
||||
"pytest",
|
||||
"ruff",
|
||||
"httpx",
|
||||
]
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 120
|
||||
target-version = "py312"
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = ["E", "F", "I", "W", "B", "UP", "PL", "RUF"]
|
||||
ignore = []
|
||||
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
"tests/*" = ["PLR2004"]
|
||||
"app/routers/*" = ["B008"]
|
||||
"app/main.py" = ["B008"]
|
||||
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
pythonpath = ["."]
|
||||
testpaths = ["tests"]
|
||||
addopts = "--cov=app --cov-report=html --cov-report=term-missing"
|
||||
asyncio_mode = "auto"
|
||||
|
||||
[tool.coverage.run]
|
||||
source = ["app"]
|
||||
omit = ["*/tests/*", "*/alembic/*"]
|
||||
|
||||
[tool.coverage.report]
|
||||
exclude_lines = [
|
||||
"pragma: no cover",
|
||||
"def __repr__",
|
||||
"raise AssertionError",
|
||||
"raise NotImplementedError",
|
||||
"if __name__ == .__main__.:",
|
||||
"if TYPE_CHECKING:",
|
||||
"@abstractmethod",
|
||||
]
|
||||
|
||||
[tool.mypy]
|
||||
python_version = "3.12"
|
||||
warn_return_any = true
|
||||
warn_unused_configs = true
|
||||
disallow_untyped_defs = false # Enable gradually
|
||||
ignore_missing_imports = true
|
||||
|
||||
[tool.bandit]
|
||||
exclude_dirs = ["tests", "app/alembic"]
|
||||
skips = ["B101"] # Skip assert_used (common in tests)
|
||||
Reference in new issue
Block a user