The BAM Data Store utility tools and masterdata models wrapped in a Python package with a front-end web interface.
Project description
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
Create a virtual environment (you can use Python>3.9) in your workspace:
python3 -m venv .venv
source .venv/bin/activate
Run the following script depending on your OS:
- Linux/MacOS:
./scripts/install_python_dependencies.sh
- Windows:
scripts/install_python_dependencies.bat
Note: This script installs the required dependencies for development, testing, and documentation, using uv and pip.
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.
Documentation on Github pages
To view the documentation locally, make sure to have installed the extra packages (this is part of the scripts/install_python_dependencies.*, so if you ran this script before, you don't need to do it again now):
uv pip install -e '[docu]'
Note: This command installs mkdocs, mkdocs-material, and other documentation-related dependencies.
The first time, build the server:
mkdocs build
Run the documentation server:
mkdocs serve
The output looks like:
INFO - Building documentation...
INFO - Cleaning site directory
INFO - [14:07:47] Watching paths for changes: 'docs', 'mkdocs.yml'
INFO - [14:07:47] Serving on http://127.0.0.1:8000/
Simply click on http://127.0.0.1:8000/. The changes in the md files of the documentation are immediately reflected when the files are saved (the local web will automatically refresh).
Main contributors
The main code developers are:
| Name | |
|---|---|
| Carlos Madariaga | carlos.madariaga@bam.de |
| Lucas Zimmermann | lucas.zimmermann@bam.de |
| Dr. Jose M. Pizarro | jose.pizarro-blanco@bam.de |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bam_masterdata-0.8.5.tar.gz.
File metadata
- Download URL: bam_masterdata-0.8.5.tar.gz
- Upload date:
- Size: 2.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b16072925a7c5f46ab142d9ddebb769ff216938373f50ea289d7c8baa988a16
|
|
| MD5 |
63d5d6d86abf5f0195af1a310167c141
|
|
| BLAKE2b-256 |
3d66d82874fbd5c58825f5ff27d36cb58c1ee4974379c86eed2066fe4111ac45
|
File details
Details for the file bam_masterdata-0.8.5-py3-none-any.whl.
File metadata
- Download URL: bam_masterdata-0.8.5-py3-none-any.whl
- Upload date:
- Size: 485.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f06a429c41010f08498cb9d9a3c47c86e636964e720707469d3ae492e16a5764
|
|
| MD5 |
195f57a2c6cff45a39f96b1ebd76a764
|
|
| BLAKE2b-256 |
13f076a793a619066e6c20d47805523a9fe500bd2c4091cd141ea87aa1ecc026
|