Skip to main content

BAM Masterdata

CI Status Coverage PyPI versions Python supported versions

The BAM Masterdata repository contains the masterdata schemas defined at BAM and provides utility functions for working with them.

If you want to install it, do:

pip install bam-masterdata

Development

If you want to develop locally this package, clone the project and enter in the workspace folder:

git clone https://github.com/BAMresearch/bam-masterdata.git
cd bam-masterdata

We recommend using uv to manage your virtual environment and the dependencies, as well as using Python 3.14:

uv venv --python 3.14

Activate the environment:

  • Linux/MacOS

    source .venv/bin/activate
    
  • Windows

    .venv\Scripts\activate
    

With the virtual environment activated, make sure to install the optional dependencies:

uv sync --all-extras

Run the tests

You can locally run the tests by doing:

python -m pytest -sv tests

where the -s and -v options toggle the output verbosity.

You can also generate a local coverage report:

python -m pytest --cov=src tests

Run auto-formatting and linting

We use Ruff for formatting and linting the code following the rules specified in the pyproject.toml. You can run locally:

ruff check .

This will produce an output with the specific issues found. In order to auto-fix them, run:

ruff format .

If some issues are not possible to fix automatically, you will need to visit the file and fix them by hand.

Pre-commit hooks (recommended)

We use pre-commit to run fast checks automatically on every commit (formatting, linting, secrets scanning, and a repository-specific policy check).

Install once:

pip install pre-commit
pre-commit install

(Optional) Run on the whole repo:

pre-commit run --all-files

Secrets baseline: the repository uses .secrets.baseline. If you add new secrets intentionally (rare), update the baseline:

detect-secrets scan > .secrets.baseline

Documentation on Github pages

To view the documentation locally, make sure to have installed the extra packages with the setup commands explained above (especifically, uv sync --all-extras). This command installs the zensical dependency.

The first time, build the server:

zensical build

Run the documentation server:

zensical serve

The output looks like:

Serving .../site on http://localhost:8000
Build started
No issues found

Simply click on http://localhost:8000. The changes in the md files of the documentation are immediately reflected when the files are saved (the local web will automatically refresh).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bam_masterdata-0.13.1.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

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

bam_masterdata-0.13.1-py3-none-any.whl (553.2 kB view details)

Uploaded Python 3

File details

Details for the file bam_masterdata-0.13.1.tar.gz.

File metadata

  • Download URL: bam_masterdata-0.13.1.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for bam_masterdata-0.13.1.tar.gz
Algorithm Hash digest
SHA256 42456ce253a03a07ad6761419fce9ab34263675f2adf8f48ef5ad96d44dd31c5
MD5 24aed563af149f838ee18ae04acf6d7a
BLAKE2b-256 43f2c95e47a67cd70bb8286ddf8f8528a43a67ad3dacae1fb5d53977f24a709c

See more details on using hashes here.

File details

Details for the file bam_masterdata-0.13.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bam_masterdata-0.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 43b8640e55a14b937e723fcae9617462d0ecf2c4c93650c127bd9b43c95cf3d8
MD5 70433dd7ffbf0d09f4efcaa8f2b75d80
BLAKE2b-256 2a165e438da980e52a50adca49421e821b379ba5bf7b0ab203183d54c1c347c6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.13.1 This release

2 files

0.13.0

2 files

0.12.0

2 files

0.11.6

2 files

0.11.5

2 files

0.11.4

2 files

0.11.3

2 files

0.11.1

2 files

0.10.0

2 files

0.9.0

2 files

0.8.6

2 files

0.8.5

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

0.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page