Skip to content
This repository has been archived by the owner on Jul 29, 2020. It is now read-only.
/ sheepdog-orig Public archive
forked from uc-cdis/sheepdog

API for herding data submissions

License

Notifications You must be signed in to change notification settings

NCI-GDC/sheepdog-orig

 
 

Repository files navigation

sheepdog

Codacy Badge Codacy Badge Build Status pre-commit

Installation

For General Usage

To install sheepdog for use with other Gen3 services, running these commands is sufficient.

python setup.py build
python setup.py install

For Development

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

Minimal Usage Example

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)

Documentation

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.

Setup pre-commit hook to check for secrets

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

About

API for herding data submissions

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.6%
  • Other 0.4%