[project] name = "treetrail-backend" dynamic = ["version"] description = "A fun and pedagogic tool to discover the trails and trees around" authors = [{ name = "Philippe May", email = "phil.treetrail@philome.mooo.com" }] dependencies = [ "aiofiles", "aiohttp-client-cache", "aiosqlite", "asyncpg", "fastapi", "geoalchemy2", "geopandas", "httptools>=0.6.1", "orjson", "pandas", "passlib[bcrypt]", "pillow", "psycopg2-binary", "pyarrow>=19.0.1", "pydantic-settings", "python-jose[cryptography]", "python-multipart", "requests", "sqlalchemy[asyncio]", "sqlmodel", "uvicorn[standard]", "uvloop", ] requires-python = ">=3.11" readme = "README.md" license = { text = "MIT" } classifiers = [ "Development Status :: 3 - Alpha", "Framework :: FastAPI", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Programming Language :: Python :: 3", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Programming Language :: Python", ] #[project.scripts] #treetrail-backend = "treetrail_backend:main" [dependency-groups] dev = ["dunamai>=1.23.0", "ipdb>=0.13.13"] [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/treetrail"] [tool.uv-dynamic-versioning] style = "semver" [tool.uv] package = true dev-dependencies = [ "httpx", "ipdb", "pandas-stubs", "pytest", "types-Pillow", "types-PyYAML", "types-aiofiles", "types-passlib", "types-python-jose", "types-requests", ] [tool.black] line-length = 98