Skip to content

cemsbv/BAEC

Repository files navigation

BAEC Model Generator SDK

Python SDK to create Model Generators and add them into the BAEC platform.

Checked with mypy Code style: black Imports: isort Coverage Status

This repository is created by CEMS BV.

Installation

To install a package in this repository run:

$ pip install baec

ENV VARS

To use baec with FitCore to fit and predict settlements, add the follow ENV vars to your environment. Or provide them when asked.

* NUCLEI_TOKEN
    - Your NUCLEI user token

You can obtain your NUCLEI_TOKEN on NUCLEI. Go to personal-access-tokens and create a new user token.

GUI

set -a; source ./*.env; set +a
marimo edit ./marimo/baec_basetime_multi/app.py
#marimo edit ./marimo/baec_basetime_single/app.py
#marimo run ./marimo/baec_basetime_single/app.py
#marimo export html-wasm ./marimo/baec_basetime_single/app.py -o build/marimo --mode run

Contribution

Environment

We recommend developing in Python 3.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
uv pip install -r requirements.txt
uv pip install -e .

Documentation

Build the docs:

python -m pip install --upgrade pip setuptools
uv pip install -r requirements.txt
uv pip install .

sphinx-build -b html docs public

Format

We format our code with black and isort.

black --config "pyproject.toml" src/baec tests example
isort --settings-path "pyproject.toml" src/baec tests example

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:

set -a; source ./*.env; set +a
python -m pip install --upgrade pip setuptools
uv pip install -r requirements.txt
uv pip install -e .
coverage run -m pytest

Requirements

Requirements are autogenerated by the uv command with python 3.13

Install uv with:

curl -LsSf https://astral.sh/uv/install.sh | sh

Generate requirements.txt file with:

uv pip compile --python-version 3.13 --extra=test --extra=docs --extra=aws --extra=gui --output-file=requirements.txt pyproject.toml

Update the requirements within the defined ranges with:

uv pip compile --python-version 3.13 --upgrade --extra=test --extra=docs --extra=aws --extra=gui --output-file=requirements.txt pyproject.toml

About

Soil Movement Acquisition and Extrapolation of Continuous Measurements System, for its initials in Dutch Bodembeweging Acquisitie en Extrapolatie van Continuemetingen

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages