Explore the depths of the Earth with GeoProfile, a comprehensive package designed for geotechnical professionals and researchers. This versatile toolkit is your go-to resource for analyzing and visualizing geotechnical profiles, offering a seamless experience in understanding the complex stratigraphy of the subsurface.
Whether you are involved in civil engineering, environmental science, or geotechnical exploration, GeoProfile is your indispensable companion for unraveling the mysteries beneath the surface. Elevate your geotechnical analysis and make informed decisions with GeoProfile – where geology meets technology.
To install this package, including the map and gef reading functionality, run:
pip install geoprofile[map, gef]To skip the installation of the GeoProfile library, in case you do not need it (e.g. only use pure plotting), run:
pip install geoprofileWe recommend developing in Python3.12 with a clean virtual environment (using virtualenv or conda), installing the
requirements from the requirements.txt file:
Example using virtualenv and pip to install the dependencies in a new environment .env on Linux:
python -m venv .env
source .env/bin/activate
python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install -e .Build the docs:
python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install .
sphinx-build -b html docs publicNote: You'll need to set the NUCLEI_TOKEN environmental variable.
You can get your token at: https://cemsbv.crux-nuclei.com
We format our code with black and isort.
black --config "pyproject.toml" src/geoprofile tests notebook docs
isort --settings-path "pyproject.toml" src/geoprofile tests notebook docsTo maintain code quality we use the GitHub super-linter.
To run the linters locally, run the run_super_linters.sh bash script from the root directory.
Test the software with the use of coverage:
python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install .
coverage run -m pytestRequirements are autogenerated by pip-compile with python 3.12
pip-compile --extra=test --extra=docs --extra=lint --extra=map --extra=gef --extra=notebook --output-file=requirements.txt pyproject.tomlTo update the requirements within the defined ranges, run:
pip-compile --upgrade --extra=test --extra=docs --extra=lint --extra=map --extra=gef --extra=notebook --output-file=requirements.txt pyproject.toml