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

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.10

Install uv with:

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

Generate requirements.txt file with:

uv pip compile --python-version 3.10 --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.10 --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.0.tar.gz (29.9 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.0-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: baec-0.2.0.tar.gz
  • Upload date:
  • Size: 29.9 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.0.tar.gz
Algorithm Hash digest
SHA256 5c3b0ef7cb21701ef9a9fdb29960fd838fb29c3f82dfa45bc9a8691ac03159ff
MD5 8742e08aba96042170d7d54ec1d0eace
BLAKE2b-256 7f2086eb4fb93eaa26484cae8f0d2f20c98f0876748733f2c15b3e4c6af5a305

See more details on using hashes here.

Provenance

The following attestation bundles were made for baec-0.2.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: baec-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 33.1 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 362ae73cc9ef14d0321ce3347a6ec10668912c9fddcb1fd03111ddeab560ed6f
MD5 cb7f7c6d77963d038c6292332d0507b9
BLAKE2b-256 93987097bc2288584365291c1991b797ce67be181503126c64658915bfb190fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for baec-0.2.0-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