[build-system] requires = ["setuptools>=68"] build-backend = "setuptools.build_meta" [project] name = "navi-backend" version = "0.1.0" description = "Echo6 navi-backend monorepo — Navi API services extracted from recon (decoupling project)." requires-python = ">=3.10" # Single workspace, single .venv. pytest is included so `pip install -e .` is the # only setup step needed before running the test suite. dependencies = [ "Flask>=3.0", "gunicorn>=21", "requests>=2.31", "PyYAML>=6", "psycopg2-binary>=2.9", "pytest>=8", # navi-geo (extraction #6): geocode engine + reverse bundle. "usaddress>=0.5", # address parsing / intent classification "rapidfuzz>=3", # reranker fuzzy string scoring "cachetools>=5", # reverse-bundle TTLCache "shapely>=2", # timezone point-in-polygon "numpy>=1.24", # planet-DEM tile decode "Pillow>=10", # planet-DEM Terrarium WebP decode "pmtiles>=3", # planet-DEM PMTiles reader # navi-offroute (extraction #8): off-network router + readers. "scikit-image>=0.22", # MCP_Geometric least-cost pathfinding (router.py) "numba>=0.59", # navi-offroute anisotropic A* JIT pathfinder (astar.py) "rasterio>=1.3", # barriers/wilderness/trails/friction raster readers "psutil>=5.9", # MEMORY_LIMIT_GB enforcement in router.py # scripts/overture_import.py: Overture Places ETL (S3 Parquet -> overture PG). "duckdb>=1.5", # S3 Parquet read for the overture import script ] [tool.setuptools.packages.find] where = ["."] include = ["shared*", "services*"] namespaces = true [tool.pytest.ini_options] testpaths = ["services", "shared"]