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.13.2
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.13.2.tar.gz | 2.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bam_masterdata-0.13.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.9 MB
Release files / bam_masterdata-0.13.2.tar.gz
| Download URL | bam_masterdata-0.13.2.tar.gz |
|---|---|
| Size | 2.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7049cfa4a4db0b1206de37466c0a9056e89e96eead6bd0b085484ed95c977f2b
|
|
BLAKE2b-256 checksum How to use checksums |
a895a424b055e9ac316e027889bf338c17bc20ee876bde49f84925a012746cc3
|
| 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.13.2-py3-none-any.whl
| Download URL | bam_masterdata-0.13.2-py3-none-any.whl |
|---|---|
| Size | 553.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d6b9c3ca88a7c5e11bba7819a3a472a63be23563262aacb2c8eb6c80552d23ab
|
|
BLAKE2b-256 checksum How to use checksums |
2f03a4d7e0fe13df07e6aeca62be369a17457415809b96b6d4eb35f996d79002
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|