Skip to content

Installation

Standard install

Bash
pip install geoeq

That is the whole install. Python 3.9+ on any platform.

geoeq has three runtime dependencies: numpy, matplotlib, scipy. All three are already installed in any scientific Python environment (Anaconda, Miniforge, pyenv + venv, plain pip). No C extensions, no compilation step, no system libraries.

Verify the install

Python
import geoeq as ge
print(ge.__version__)                       # 0.1.2

# A trivial call to confirm everything wired up
ge.density(Gs=2.65, e=0.72, kind="saturated", unit="kN/m3")
# 19.6

Install from source

For development against the package:

Bash
git clone https://github.com/geoeq/geoeq.git
cd geoeq
pip install -e ".[dev]"
pytest                       # 563 tests should pass

The [dev] extra pulls pytest, pytest-cov, build, and twine.

Virtual environment

We recommend a clean virtual environment per project:

Bash
python -m venv .venv
source .venv/bin/activate    # macOS/Linux
.venv\Scripts\activate       # Windows
pip install geoeq
Bash
uv venv
source .venv/bin/activate
uv pip install geoeq
Bash
conda create -n geoeq python=3.12
conda activate geoeq
pip install geoeq

Upgrading

Bash
pip install --upgrade geoeq

Or pin to a specific version:

Bash
pip install "geoeq==0.1.2"

What is shipped on PyPI?

The PyPI wheel and sdist contain the package source (src/geoeq/), the LICENSE, README.md, CHANGELOG.md, and SECURITY.md. Tests, docs, and tutorial notebooks are not shipped — clone the GitHub repo if you want those.

Troubleshooting

ImportError: cannot import name 'X' from 'geoeq'

Make sure you are on geoeq >= 0.1.2. Earlier versions had a much smaller surface:

Bash
pip install --upgrade "geoeq>=0.1.2"
Matplotlib backend errors on a headless server

Set a non-interactive backend before importing:

Python
import matplotlib
matplotlib.use("Agg")
import geoeq as ge
Do I need pandas?

No. pandas is optional, only required if you call SoilProfile.to_dataframe(). Everything else returns NumPy arrays or plain Python dicts.

Next

Quick start →