Skip to main content

A Python library for visualizing geotechnical profiles.

Project description

GeoProfile

Checked with mypy Code style: black Imports: isort

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.

Installation

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 geoprofile

Contribution

Environment

We recommend developing in Python3.13 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 .

Example using condaand pip to install the dependencies in a new environment env on Windows, using Anaconda Prompt. First you clone the GeoProfile repository to a local folder (c:\my_python_files\geoprofile) and change directory towards it. You will create an empty conda environment with python 3.13 and activate it. Python 3.13 is given in requirements.txt. The name of the environment is not env, as in Linux example above, because the name env has a special property in conda. You will update pip. Install dependencies.

Last line is optional. Installation of ipykernel allows to run a notebook in this environment.

git clone https://github.com/cemsbv/GeoProfile.git c:\my_python_files\geoprofile
cd c:\my_python_files\geoprofile
conda create --name env_geoprofile --no-default-packages python=3.13
conda activate env_geoprofile
python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install -e .
conda install ipykernel

Documentation

Build the docs:

python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install .
sphinx-build -b html docs public

Note: You'll need to set the NUCLEI_TOKEN environmental variable. You can get your token at: https://nuclei.cemsbv.io/

Format & Lint

To 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.

UnitTest

Test the software with the use of coverage:

python -m pip install --upgrade pip setuptools
pip install -r requirements.txt
pip install -e .
coverage run -m pytest

Requirements

Requirements are autogenerated by pip-compile with python 3.13

uv pip compile --extra=test --extra=docs --extra=map --extra=gef --extra=notebook --extra=plot --output-file=requirements.txt pyproject.toml

To update the requirements within the defined ranges, run:

uv pip compile --upgrade --extra=test --extra=docs --extra=map --extra=gef --extra=notebook --extra=plot --output-file=requirements.txt pyproject.toml

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geoprofile-0.4.0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geoprofile-0.4.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file geoprofile-0.4.0.tar.gz.

File metadata

  • Download URL: geoprofile-0.4.0.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geoprofile-0.4.0.tar.gz
Algorithm Hash digest
SHA256 962988d74a7d3881cfdc86fbe0a28605b3fd6cb5d1d7ae702c1e7bc8010a7c4d
MD5 7c92b3153f663e214199422b7c8a871f
BLAKE2b-256 9530b2b8cf42359db00db2c0c5ef15bab12d7f8bc578cdf2072c3907d84225aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoprofile-0.4.0.tar.gz:

Publisher: release_pypi.yaml on cemsbv/GeoProfile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geoprofile-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: geoprofile-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geoprofile-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 88422947132a6f5a0a6b4b93c0b89efee0ba2226f97c2441e223c42bee645849
MD5 6a9fd7fcb4cc6ce93d24f45638c032f7
BLAKE2b-256 bd515d9f718317eedb73bb468c894c67139df23db2d1b23cd526559260ef9b5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoprofile-0.4.0-py3-none-any.whl:

Publisher: release_pypi.yaml on cemsbv/GeoProfile

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page