Skip to main content

Python wrappers around the input and output files of the Deltares D-Serie and D-GEO Suite models

Project description

GEOLib is a Python package to generate, execute and parse several D-Serie and D-GEO Suite numerical models.

Installation

Install GEOLib with:

$ pip install d-geolib

Configure your environment using the instructions on our Setup page. You may get the console executables from the Deltares download portal, or in the case of the D-GEO Suite, you may copy the contents of the installation ‘bin’ directory to your console folder.

Running the source code

If you want to make changes to GEOLib you can run the source code from GitHub directly on your local machine, please follow the instructions below on how to set up your development environment using pip or poetry.

You do not need to follow these instructions if you want to use the GEOLib package in your project.

Requirements

To install the required dependencies to run GEOLib code, run:

$ pip install -r requirements.txt

Or, when having poetry installed (you should):

$ poetry install

Testing & Development

Make sure to have the server dependencies installed:

$ poetry install -E server

In order to run the testcode, from the root of the repository, run:

$ pytest

or, in case of using Poetry

$ poetry run pytest

Running flake8, mypy is also recommended. For mypy use:

$ mypy --config-file pyproject.toml geolib

Running standard linters is advised:

$ poetry run isort .
$ poetry run black .

Documentation

In order to run the documentation, from the root of the repository, run:

$ cd docs
$ sphinx-build . build -b html -c .

The documentation is now in the build subfolder, where you can open the index.html in your browser.

Build wheel

To build a distributable wheel package, run:

$ poetry build

The distributable packages are now built in the dist subfolder.

Update requirements.txt

The requirements.txt file is generated by poetry based on the pyproject.toml and poetry.lock files. In order to update/regenerate this file, run:

$ poetry install
$ poetry export -E server -f requirements.txt --output requirements.txt --without-hashes
$ poetry export -E server -f requirements.txt --output requirements-dev.txt --with dev --without-hashes

Code linter

In order to run code cleanup/linter use the following commands:

$ poetry run isort .
$ poetry run black .

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

d_geolib-2.8.0.tar.gz (146.6 kB view details)

Uploaded Source

Built Distribution

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

d_geolib-2.8.0-py3-none-any.whl (178.5 kB view details)

Uploaded Python 3

File details

Details for the file d_geolib-2.8.0.tar.gz.

File metadata

  • Download URL: d_geolib-2.8.0.tar.gz
  • Upload date:
  • Size: 146.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for d_geolib-2.8.0.tar.gz
Algorithm Hash digest
SHA256 9f25f1d51b3f6215b62190289d4a99117654c56da6a57243e2825f1be256a5ab
MD5 3fd1cc796cd687797e721dc5f580e181
BLAKE2b-256 0c4168989604a3830158aa116d442f415a1368dc57b79e43d32f83c0dd13aca2

See more details on using hashes here.

File details

Details for the file d_geolib-2.8.0-py3-none-any.whl.

File metadata

  • Download URL: d_geolib-2.8.0-py3-none-any.whl
  • Upload date:
  • Size: 178.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for d_geolib-2.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eda3a5ad5f17e03f470ab852b5cdae052a781086ea10ff884fed6df23adf50b4
MD5 9c690aa5b676d809dca17d8d35ebaa92
BLAKE2b-256 5272af29fe0cfe6bf1bdbcc837cfb896321edb0fb5a90a27ff936da96c874e87

See more details on using hashes here.

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