# Dependency Policy GeoIntel deliberately uses technologies matching the GeoAI Engineer profile. Dependencies must support the core goal: geospatial processing, remote sensing, AI inference, QA/QC, and professional frontend visualization. ## Approved backend core - FastAPI - Uvicorn - Pydantic - SQLAlchemy - Alembic - GeoAlchemy2 - psycopg - python-multipart ## Approved GIS/remote-sensing - GeoPandas - Shapely - PyProj - Rasterio - GDAL where available - Fiona or pyogrio where needed - NumPy - OpenCV when needed for image processing ## Docker GIS runtime The backend Docker image may install the approved `gis` optional dependency group so the deployed workbench has real raster/vector runtime capability: - rasterio - numpy - pillow - geopandas - pyogrio The Docker image may also install GDAL, GEOS and PROJ system packages required by those GIS libraries. This does not enable new product behavior by itself; it only allows existing raster/vector endpoints to run when requested. AI dependencies remain separate in the `ai` optional dependency group and must not be installed by the default Docker backend image unless an explicit AI image or profile is introduced later. ## Approved AI - PyTorch - Ultralytics - Segment Anything only after detection foundation works ## Approved frontend - React - TypeScript - Vite - MapLibre GL - Deck.gl - TanStack Query - Zustand or React context for local UI state - Recharts for charts ## Add-dependency rule Before adding a dependency: 1. Explain why existing dependencies are insufficient. 2. Add it to this document. 3. Add setup notes if it has native/system requirements. 4. Ensure Docker build still works. ## Avoid in V1 - Heavy MLOps platforms. - User auth frameworks. - Full workflow orchestration stacks beyond simple queueing. - Unnecessary UI component mega-libraries.