Maker for DSW data seeds (reproducible content packages)
This application serves to create data seeding recipes for Data Stewardship Wizard, more specifically its Data Seeder tool.
You can install it locally with Python in a standard way (preferably to a prepared virtual environment).
git clone [email protected]:ds-wizard/dsw-seed-maker.git
cd dsw-seed-maker
pip install .
All configuration is purely done via environment variables. For convenience,
it is recommended to use a .env
file in a standard way (see example.env
)
for details.
After installation, you can use the CLI:
dsw-seed-maker --help
dsw-seed-maker --version
dsw-seed-maker make-seed --help
A simple web application can be launched as this Python package contains
WSGI-compliant application
app
exposed through the main module dsw_seed_maker
, i.e. dsw_seed_maker
.
There is a simple way to run the web application:
dsw-seed-maker run-web
There are some specifics to develop
- Clone the repository (eventually switch branch)
- Setup a virtual environment (
python -m venv env
) and activate it - Install the package as editable (
pip install -e .
) - Prepare your local DSW instance with DB and S3 (see
dsw/docker-compose.yml
) - Create
.env
file (seeexample.env
) - Run CLI or web app (
./scripts/run-dev.sh
), develop and try it out
- Use type annotations in Python (
mypy
is used in GitHub Actions) - Comply with PEP8 and other code style conventions (checked in GitHub Actions using
flake8
andpylint
) - Name variables, classes, and functions as sensible human being so it is understandable for others
- Use descriptive commit messages (short message = 3-7 words, but you can add then description if suitable)
Within Python scripts:
For the web app simple frontend:
This project is licensed under the Apache License v2.0 - see the LICENSE file for more details.