equinor / data-modelling-storage-service

Storage service for Data Modelling Tool
https://pypi.org/project/dmss-api/
MIT License
3 stars 2 forks source link
python

Data Modelling Storage Service

Checks SCM Compliance

Backend service for the Marine Analysis Framework

For documentation, usage, and guides regarding the framework, visit https://equinor.github.io/dm-docs/

Development

Prerequisites

In order to run the commands described below, you need:

Running

$ docker compose up

Repository plugins

Repository plugins must be placed in the "storage/repository_plugins" directory (usually done with a docker volume mount).
Each plugin must have a folder with at least one file: __init__.py
This __init__ file must implement a class called "Repository" that inherits from the Repository class.

If the plugin requires any pypi-packages, add a "requirements.txt"-file generated by "pip freeze" in the plugins root folder.

To use this repository plugin, create a repository in a data source definition, with the type matching the plugin name (name of the folder)

Example structure:

src/
    storage/
        repository_plugins/
            my_plugin/
                __init__.py
                requirements.txt

Testing

Running integration tests:

$ docker compose run --rm dmss behave

Run BDD tests by regexp:

$ docker compose run --rm dmss behave -n "Scenario name" # Run single test

Run unit tests:

$ docker compose run --rm dmss pytest

Contributing

If you would like to contribute, please read our Contribution guide.