GithubHelp home page GithubHelp logo

maartenbw / geolib Goto Github PK

View Code? Open in Web Editor NEW

This project forked from deltares/geolib

0.0 0.0 0.0 69.89 MB

GEOLib: Python wrappers around the input and output files of the Deltares D-Serie models

Home Page: https://deltares.github.io/GEOLib/

License: MIT License

Scheme 98.55% Python 1.36% Jinja 0.09%

geolib's Introduction

GEOLib

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 .

geolib's People

Contributors

evetion avatar elenismyrniou avatar carsopre avatar dependabot[bot] avatar virginietrompille avatar anoordam avatar breinbaas avatar zantdelta avatar maartenbw avatar matthiashauthdeltares avatar yurnih avatar johnbokma avatar svandermeer avatar jwdobken avatar maarten-betman avatar ic144 avatar markvanderkrogt avatar martinapippi avatar wfaustmann avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.