74 lines
1.7 KiB
TOML
74 lines
1.7 KiB
TOML
[tool.poetry]
|
|
name = "remodel-api"
|
|
version = "0.1.0"
|
|
description = "FastAPI + Arq async API for the REmodel calculation engine"
|
|
authors = ["Manohar <manohar6839@gmail.com>"]
|
|
readme = "README.md"
|
|
packages = [{include = "remodel_api", from = "src"}]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.12"
|
|
fastapi = "^0.111"
|
|
uvicorn = {extras = ["standard"], version = "^0.30"}
|
|
arq = "^0.26"
|
|
redis = "^5.0"
|
|
sqlalchemy = {extras = ["asyncio"], version = "^2.0"}
|
|
aiosqlite = "^0.20"
|
|
alembic = "^1.13"
|
|
pydantic = "^2.7"
|
|
pydantic-settings = "^2.3"
|
|
remodel-engine = {path = "../engine", develop = true}
|
|
sse-starlette = "^2.1"
|
|
greenlet = "^3.5.0"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
ruff = "^0.4"
|
|
mypy = "^1.10"
|
|
pytest = "^8.2"
|
|
pytest-cov = "^5.0"
|
|
pytest-asyncio = "^0.23"
|
|
httpx = "^0.27"
|
|
anyio = "^4.4"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.ruff]
|
|
target-version = "py312"
|
|
line-length = 100
|
|
src = ["src", "tests"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "W", "I", "UP", "B", "SIM", "ANN", "RUF"]
|
|
ignore = ["ANN101", "ANN102", "ANN401"]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"tests/**" = ["ANN"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.12"
|
|
strict = true
|
|
warn_return_any = true
|
|
warn_unused_configs = true
|
|
disallow_untyped_defs = true
|
|
disallow_any_generics = true
|
|
check_untyped_defs = true
|
|
no_implicit_reexport = true
|
|
files = ["src"]
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = ["arq.*", "alembic.*", "sse_starlette.*", "redis.*"]
|
|
ignore_missing_imports = true
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
asyncio_mode = "auto"
|
|
addopts = "--cov=remodel_api --cov-report=term-missing --cov-fail-under=85"
|
|
|
|
[tool.coverage.run]
|
|
source = ["remodel_api"]
|
|
branch = true
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = ["pragma: no cover", "if TYPE_CHECKING:"]
|