Skip to main content

The BAM Data Store utility tools and masterdata models wrapped in a Python package with a front-end web interface.

Project description

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

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 E-mail
Carlos Madariaga carlos.madariaga@bam.de
Lucas Zimmermann lucas.zimmermann@bam.de
Dr. Jose M. Pizarro jose.pizarro-blanco@bam.de

Project details


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.8.4.tar.gz (2.3 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.8.4-py3-none-any.whl (608.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bam_masterdata-0.8.4.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bam_masterdata-0.8.4.tar.gz
Algorithm Hash digest
SHA256 e0886b55236df5dec66f375d1aed2678cd63d068b4f59bfa48142ceb2850c6f8
MD5 2a9ab3072258024325b171bb8d9f6480
BLAKE2b-256 37794dfb399bd9d9f01c6f4a9251de3f6e08b632a8eb31442b9f7b8a68b4f524

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bam_masterdata-0.8.4-py3-none-any.whl
  • Upload date:
  • Size: 608.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for bam_masterdata-0.8.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7633254359f6c962e3474515b74a9b4b07f31f3091e600b893fb0643d86e60ca
MD5 9bbd0aec0b5b5e5095c495239caaae6f
BLAKE2b-256 3b99552a75c1ea323b611c2a5e23e4b13623bc300c62ec32780c98d287789c41

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page