gisaf-backend/pyproject.toml
phil a3a2efe471
All checks were successful
/ test (push) Successful in 31s
/ build (push) Successful in 32s
Use dynamic versioning
2025-03-16 19:02:10 +01:00

79 lines
1.7 KiB
TOML

[project]
name = "gisaf-backend"
description = "Gisaf backend"
dynamic = ["version"]
authors = [{ name = "phil", email = "phil.dev@philome.mooo.com" }]
dependencies = [
"aiopath>=0.7.1",
"aiosqlite>=0.19.0",
"apscheduler>=3.10.4",
"asyncpg>=0.28.0",
"fastapi>=0.111",
"geoalchemy2>=0.14.2",
"geopandas>=1.0.1",
"itsdangerous>=2.1.2",
"matplotlib>=3.8.3",
"orjson>=3.9.10",
"pandas>=2.1.1",
"passlib[bcrypt]>=1.7.4",
"plotly>=5.20.0",
"psutil>=5.9.8",
"psycopg2-binary>=2.9.9",
"psycopg>=3.1.18",
"pydantic-settings[yaml]>=2.7",
"pyshp>=2.3.1",
"python-jose[cryptography]>=3.3.0",
"python-multipart>=0.0.9",
"pyyaml>=6.0.1",
"redis>=5.0.1",
"sqlalchemy[asyncio]>=2.0.23",
"sqlmodel>=0.0.18",
"uvicorn>=0.23.2",
"websockets>=12.0",
"pyxdg>=0.28",
"typer-slim>=0.15.1",
"httpx>=0.28.1",
]
requires-python = ">=3.12"
readme = "README.md"
[project.scripts]
gisaf = "gisaf.cli:cli"
[dependency-groups]
dev = [
"dunamai>=1.23.0",
"ipdb>=0.13.13",
"pandas-stubs>=2.1.4.231218",
"pretty-errors>=1.2.25",
"types-psycopg2>=2.9.21.20",
"types-PyYAML>=6.0.12.12",
"asyncpg-stubs>=0.29.1",
"types-python-jose>=3.3.4.20240106",
"types-passlib>=1.7.7.20240311",
"pytest>=8.3.4",
]
[project.optional-dependencies]
contextily = ["contextily>=1.4.0"]
mqtt = ["aiomqtt>=1.2.1"]
all = ["gisaf-backend[contextily]", "gisaf-backend[mqtt]"]
[build-system]
requires = ["hatchling", "uv-dynamic-versioning"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "uv-dynamic-versioning"
[tool.hatch.build.targets.wheel]
packages = ["src/gisaf"]
[tool.uv-dynamic-versioning]
style = "semver"
[tool.uv]
package = true
[tool.black]
line-length = 98