Skip to content

A private microservice to support The Microsetta Initiative

License

Notifications You must be signed in to change notification settings

wasade/microsetta-private-api

 
 

Repository files navigation

microsetta-private-api CI

microsetta-private-api

A private microservice to support The Microsetta Initiative

Installation

The private microservice depends on Postgres 9 or higher. For OSX users, we recommend installing Postgres.app. For Linux users, please consult documentation for the Linux distribution in use.

Create a new conda environment containing flask and other necessary packages:

conda create --yes -n microsetta-private-api python=3.7

Once the conda environment is created, activate it:

conda activate microsetta-private-api

Ensure that the conda-forge channel has been added to the conda install and run:

conda install --yes --file ci/conda_requirements.txt

Install additional requirements using pip:

pip install -r ci/pip_requirements.txt

Then install the microsetta-private-api in editable mode:

pip install -e . --no-deps

Test Usage

In the activated conda environment, initialize a test database:

python microsetta_private_api/LEGACY/build_db.py

To run unittests:

make test

Then we'll initiate a Celery worker (Example shown is with embedded Celery Beat scheduler):

celery -A microsetta_private_api.celery_worker.celery worker -B --loglevel=info

*** OR (Allowing for multiple workers)***

celery -A microsetta_private_api.celery_worker.celery worker --loglevel=info (Start 1 worker) celery -A microsetta_private_api.celery_worker.celery beat --loglevel=info (Start the Celery Beat scheduler)

Next, start the microservice using flask's built-in server by running, e.g.,

python ./microsetta_private_api/server.py

which will start the server on http://localhost:8082 . Note that this usage is suitable for development ONLY--real use of the service would require a production-level server.

The Swagger UI should also be available at http://localhost:8082/api/ui .

About

A private microservice to support The Microsetta Initiative

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 83.3%
  • HTML 12.7%
  • Jinja 2.1%
  • PLpgSQL 1.9%