To install sheepdog for use with other Gen3 services, running these commands is sufficient.
python setup.py build
python setup.py install
pip install -r dev-requirements.txt
python setup.py develop
(dev-requirements.txt
contains requirements for testing and doc generation.
Installing with python setup.py develop
avoids literally installing anything
but creates an egg link to the source code.)
import sheepdog
import datamodelutils
from dictionaryutils import dictionary
from gdcdictionary import gdcdictionary
from gdcdatamodel import models, validators
dictionary.init(gdcdictionary)
datamodelutils.validators.init(validators)
datamodelutils.models.init(models)
blueprint = sheepdog.create_blueprint(name='submission')
app = Flask(__name__)
app.register_blueprint(blueprint)
Auto-documentation is set up using Sphinx. To build it, run
cd docs
make html
which by default will output the index.html
page to
docs/build/html/index.html
.
We use pre-commit to setup pre-commit hooks for this repo. We use detect-secrets to search for secrets being committed into the repo.
To install the pre-commit hook, run
pre-commit install
To update the .secrets.baseline file run
detect-secrets scan --update .secrets.baseline
git add .secrets.baseline
.secrets.baseline
contains all the string that were caught by detect-secrets but are not stored in plain text. Audit the baseline to view the secrets .
detect-secrets audit .secrets.baseline