A set of standard RESTful web service that provides CRUD operations into our entity metadata store. A description of the API calls is found here: Entities API.
The yaml file src/resources/hubmap-entities.yaml
contains all the attributes of each entity type and generated metadata information of attributes via trigger methods. This file is being used to validate the user input and also as a way of standarding all the details of entities.
There are a few configurable environment variables to keep in mind:
COMMONS_BRANCH
: build argument only to be used during image creation when we need to use a branch of commons from github rather than the published PyPI package. Default to master branch if not set or null.HOST_UID
: the user id on the host machine to be mapped to the container. Default to 1002 if not set or null.HOST_GID
: the user's group id on the host machine to be mapped to the container. Default to 1002 if not set or null.cd docker
./docker-development.sh [check|config|build|start|stop|down]
cd docker
./docker-deployment.sh [start|stop|down]
main
branch (the default branch)main
yuanzhou
) is automatically assigned as a reviewer to each PR. When all other reviewers have approved, he will approve as well, merge to TEST infrastructure, and redeploy the TEST instance.main
have been approved after test/qa on TEST, Zhou will release to PROD using the same docker image that has been tested on TEST infrastructure.main
branchdev-integrate
main
for deployment and testing on the TEST infrastructure as above.The documentation for the API calls is hosted on SmartAPI. Modifying the entity-api-spec.yaml
file and committing the changes to github should update the API shown on SmartAPI. SmartAPI allows users to register API documents. The documentation is associated with this github account: api-developers@sennetconsortium.org.
Install the development dependencies using pip install -r src/requirements.dev.txt
.
Execute pytest
in the root directory to run all unit tests. pytest -W ignore::DeprecationWarning
will execute all unit tests without deprecation warnings.