Skip to main content

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

Project description

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 ./notebooks/gui_notebook.py
#marimo run ./notebooks/gui_notebook.py
#marimo export html-wasm ./notebooks/gui_notebook.py -o build/marimo --mode run

Contribution

Environment

We recommend developing in Python 3.12 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

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

baec-0.2.2.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

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

baec-0.2.2-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

Details for the file baec-0.2.2.tar.gz.

File metadata

  • Download URL: baec-0.2.2.tar.gz
  • Upload date:
  • Size: 30.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for baec-0.2.2.tar.gz
Algorithm Hash digest
SHA256 998e6d00dfd1463f6d753f87e18f0726b96ff80d8bf4b548c7d6879445a83eb6
MD5 95397f13fb71468992796aa10de1e0f9
BLAKE2b-256 76df61b74bdb9c2991599ee541325a58da0c4efdb78cdccafcb3ab30a49787dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for baec-0.2.2.tar.gz:

Publisher: release_pypi.yaml on cemsbv/BAEC

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

File details

Details for the file baec-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: baec-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 33.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for baec-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0874f354468e066e1b71e93dfa76f5a45bbe8c4c9ed0b530d248f32a74e03c6d
MD5 4152ef2b031e30852a10148990cb89c7
BLAKE2b-256 5010bf1c3b79613a1c2eb6a84c8202678352df14fb1a2d6983c1906095728315

See more details on using hashes here.

Provenance

The following attestation bundles were made for baec-0.2.2-py3-none-any.whl:

Publisher: release_pypi.yaml on cemsbv/BAEC

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