Skip to content

cemsbv/plxcontroller

Repository files navigation

plxcontroller

Controllers to create and modify Plaxis 2D and 3D models with enhanced functionalities.

Checked with mypy Code style: black Imports: isort

This repository is created by CEMS BV.

Installation

To install a package in this repository run:

$ pip install plxcontroller

Contribution

Environment

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

Format

We format our code with black and isort.

black --config "pyproject.toml" src/plxcontroller tests notebooks
isort --settings-path "pyproject.toml" src/plxcontroller tests notebooks

Lint

To maintain code quality we use the GitHub super-linter.

To run the linters locally, run the run_super_linter.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 the pip-compile command with python 3.9

Install pip-tools with:

pip install pip-tools

Generate requirements.txt file with:

pip-compile --extra=test --extra=lint --output-file=requirements.txt pyproject.toml

Update the requirements within the defined ranges with:

pip-compile --upgrade --extra=test --extra=lint --output-file=requirements.txt pyproject.toml

About

Controllers to create and modify Plaxis 2D and 3D models with enhanced functionalities.

Resources

License

Stars

Watchers

Forks

Packages

No packages published