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.14.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bam_masterdata-0.14.0.tar.gz | 2.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bam_masterdata-0.14.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.9 MB
Release files / bam_masterdata-0.14.0.tar.gz
| Download URL | bam_masterdata-0.14.0.tar.gz |
|---|---|
| Size | 2.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9dc6324813c4c7880081dc19d3f1e6055b3a9544574d5920424b274aa85ab21
|
|
BLAKE2b-256 checksum How to use checksums |
60e44f27bd79db43776c99f42e7d411109de14f7c55b00ec18d0cd6732485e59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / bam_masterdata-0.14.0-py3-none-any.whl
| Download URL | bam_masterdata-0.14.0-py3-none-any.whl |
|---|---|
| Size | 557.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0b0c1a0351f701ffebebfb2efc308fd8cfbe777b6ca5a7d7f6fcfde9bdf99e53
|
|
BLAKE2b-256 checksum How to use checksums |
98818eae41db937f99657861afdfab0e33537d792ad335deca32ee7e482d8fd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|