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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
998e6d00dfd1463f6d753f87e18f0726b96ff80d8bf4b548c7d6879445a83eb6
|
|
| MD5 |
95397f13fb71468992796aa10de1e0f9
|
|
| BLAKE2b-256 |
76df61b74bdb9c2991599ee541325a58da0c4efdb78cdccafcb3ab30a49787dd
|
Provenance
The following attestation bundles were made for baec-0.2.2.tar.gz:
Publisher:
release_pypi.yaml on cemsbv/BAEC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
baec-0.2.2.tar.gz -
Subject digest:
998e6d00dfd1463f6d753f87e18f0726b96ff80d8bf4b548c7d6879445a83eb6 - Sigstore transparency entry: 459578290
- Sigstore integration time:
-
Permalink:
cemsbv/BAEC@23cef8348b5f84da81f6d22c6baecb13296e26e7 -
Branch / Tag:
refs/tags/0.2.2 - Owner: https://github.com/cemsbv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release_pypi.yaml@23cef8348b5f84da81f6d22c6baecb13296e26e7 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0874f354468e066e1b71e93dfa76f5a45bbe8c4c9ed0b530d248f32a74e03c6d
|
|
| MD5 |
4152ef2b031e30852a10148990cb89c7
|
|
| BLAKE2b-256 |
5010bf1c3b79613a1c2eb6a84c8202678352df14fb1a2d6983c1906095728315
|
Provenance
The following attestation bundles were made for baec-0.2.2-py3-none-any.whl:
Publisher:
release_pypi.yaml on cemsbv/BAEC
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
baec-0.2.2-py3-none-any.whl -
Subject digest:
0874f354468e066e1b71e93dfa76f5a45bbe8c4c9ed0b530d248f32a74e03c6d - Sigstore transparency entry: 459578294
- Sigstore integration time:
-
Permalink:
cemsbv/BAEC@23cef8348b5f84da81f6d22c6baecb13296e26e7 -
Branch / Tag:
refs/tags/0.2.2 - Owner: https://github.com/cemsbv
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release_pypi.yaml@23cef8348b5f84da81f6d22c6baecb13296e26e7 -
Trigger Event:
push
-
Statement type: