Skip to content

Latest commit

 

History

History
130 lines (99 loc) · 3.83 KB

README.md

File metadata and controls

130 lines (99 loc) · 3.83 KB

BAMDataStore

This is the main repository of the BAM Data Store project. This is both a Python package and a web connecting the different resources for the Data Store.

Development

If you want to develop locally this package, clone the project and enter in the workspace folder:

git clone https://git.bam.de/bam-data-store/bam-data-store.git
cd bam-data-store

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:

./scripts/install_python_dependencies

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 . --check

If some issues are not possible to fix automatically, you will need to visit the file and fix them by hand.

Run the local website

Under construction!

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.sh, so if you ran this script before, you don't need to do it again now):

uv pip install -e '[docu]'

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 inmediately reflected when the files are saved (the local web will automatically refresh).

Main contributors

Name E-mail Role
Dr. Angela Ariza [email protected] Outreach and Training
Caroline Demidova [email protected] Outreach and Training
Daniel Kosztyla [email protected] IT
Carlos Madariaga [email protected] Software Developer
Kristina Meindl [email protected] Project Manager
Dr. Jose M. Pizarro [email protected] Data Management
Jörg Rädler [email protected] IT