Developer Guide
For developers maintaining or extending the Groundwater Drawdown Tool.
The tool is a Python Dash application. Stage 1 runs locally on a user’s Windows machine and connects to BC’s Oracle spatial database (BCGW). It is built so that a future Stage 2 (deployment to a server) is mostly packaging work, not a rewrite.
Pages in this guide
- Architecture — the layer model and module responsibilities.
- Development setup —
getting a working environment with
uv. - Releasing — cutting a GitHub release that end users install from.
- Reference documents — the in-repository specification and data documents.
Technology
- Python 3.13, pinned via
.python-version. - uv for environment, dependency, and interpreter management.
- Dash (with
dash-leafletandplotly) for the UI. - oracledb (thin mode) for the BCGW Oracle connection.
- pyproj for coordinate transforms.
- pandas for tabular data.
- pytest for the test suite.