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).
Metadata
Release files for bam-masterdata 0.16.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| bam_masterdata-0.16.1.tar.gz | 2.6 MB | With provenance | Details for bam_masterdata-0.16.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| bam_masterdata-0.16.1-py3-none-any.whl | Python 3 | none | any | Details for bam_masterdata-0.16.1-py3-none-any.whl |
Total release size: 3.2 MB
Release files / bam_masterdata-0.16.1.tar.gz
| Download URL | bam_masterdata-0.16.1.tar.gz |
|---|---|
| Size | 2.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7bd6ddbccc0e04f1e1b881c6d255cb6d2c831eb5f71d27be3d8dfc1763205a27
|
|
BLAKE2b-256 checksum How to use checksums |
f5edd6c1e1f300ebebbed600e18a6357f8148ef725a839659fbb3c0cb4780109
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logRelease files / bam_masterdata-0.16.1-py3-none-any.whl
| Download URL | bam_masterdata-0.16.1-py3-none-any.whl |
|---|---|
| Size | 574.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
580fed0fcfebbb74bc1c8b35f6363ffff8bce7babf03fb74bf94b219ed7920db
|
|
BLAKE2b-256 checksum How to use checksums |
340347a6fb73eb686fb793a3deffff69ea834d3dedfd9e25710d6a3d43ea20f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logSecurity for bam-masterdata 0.16.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for bam_masterdata-0.16.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.