79 lines
1.7 KiB
TOML
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
|