/sheepdog

API for herding data submissions

Primary LanguagePythonApache License 2.0Apache-2.0

sheepdog

Codacy Badge Codacy Badge

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

Sphinx

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.

Swagger

OpenAPI documentation available here.

The YAML file comtaining the OpenAPI documentation is in the openapi folder; see the README in that folder for more details.