Installation#
Requirements#
Python >= 3.10
Runtime dependencies are declared in pyproject.toml with minimum compatible versions and are
resolved automatically when installing via pip.
User installation#
Install the latest release from PyPI:
python -m pip install gedidb
Optional features#
Install optional components using pip “extras”:
Full stack (IO + viz + performance + logging)
python -m pip install "gedidb[full]"
Mix-and-match individual extras (advanced):
accel— performance helpers (bottleneck, numba, etc.)io— cloud/filesystem and raster IO (s3fs, zarr, rasterio, pyproj, etc.)viz— plotting (matplotlib, cartopy, seaborn, etc.)debug— rich logging
Example:
python -m pip install "gedidb[io,viz]"
External system libraries#
Some geospatial backends rely on native libraries:
GDAL / PROJ / GEOS — Recommended to install via a conda-forge environment if you are not already set up with these on your system:
mamba create -n gedidb -c conda-forge python>=3.10 gdal proj geos mamba activate gedidb python -m pip install "gedidb[full]"
wget — used by
EarthDataAuthenticatorfor downloads. This is preinstalled on most Linux/macOS; on Windows you can install viawingetorchoco.
Development setup#
Clone and install an editable development environment with tooling:
git clone https://github.com/simonbesnard1/gedidb.git
cd gedidb
# (optional) create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
python -m pip install -U pip wheel
# editable install with dev tools (pytest, ruff, mypy, pre-commit, etc.)
python -m pip install -e ".[dev,full]"
pre-commit install
Install latest development snapshot directly from GitHub (no clone):
python -m pip install "git+https://github.com/simonbesnard1/gedidb.git"
Testing#
From the project root:
pytest
With coverage:
pytest --cov=gedidb --cov-report=term-missing
If you maintain integration tests that require credentials or large datasets, mark them with
@pytest.mark.integration and run selectively:
pytest -m "not integration"