Skip to main content

A library that contains the basic chassis functionality used in services of GHGA

Project description

tests PyPI version shields.io PyPI pyversions Coverage Status

ghga-service-chassis-lib

This python library serves as chassis for the microservices developed at German Human Genome-Phenome Archive (GHGA).

It collects boilerplate code for common functionalities such as config parameter parsing and API server setup.

This library is primarily intended for internal use at GHGA and should not be seen as a general-purpose microservice chassis. However, if this library matches your specific needs as well, please feel free to use it. It is open source.

Installation

This package is available at PyPI: https://pypi.org/project/ghga_service_chassis_lib

You can install it from there using:

pip install ghga_service_chassis_lib

Thereby, you may specify following extra(s):

  • api: dependencies needed to use the API server functionalities
  • dev: dependencies needed for development and testing

Development

For setting up the development environment, we rely on the devcontainer feature of vscode.

To use it, you have to have Docker as well as vscode with its "Remote - Containers" extension (ms-vscode-remote.remote-containers) extension installed. Then, you just have to open this repo in vscode and run the command Remote-Containers: Reopen in Container from the vscode "Command Palette".

This will give you a full-fledged, pre-configured development environment including:

  • infrastructural dependencies of the service (databases, etc.)
  • all relevant vscode extensions pre-installed
  • pre-configured linting and auto-formating
  • a pre-configured debugger
  • automatic license-header insertion

Moreover, inside the devcontainer, there is follwing convenience command available (please type it in the integrated terminal of vscode):

  • dev_install - install the lib with all development dependencies and pre-commit hooks (please run that if you are starting the devcontainer for the first time or if added any python dependencies to the ./setup.cfg)

If you prefer not to use vscode, you could get a similar setup (without the editor specific features) by running the following commands:

# Execute in the repo's root dir:
cd ./.devcontainer

# build and run the environment with docker-compose
docker build -t ghga-service-chassis-lib .
docker run -it ghga-service-chassis-lib /bin/bash

License

This repository is free to use and modify according to the Apache 2.0 License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ghga_service_chassis_lib-0.17.8.tar.gz (48.1 kB view details)

Uploaded Source

Built Distribution

ghga_service_chassis_lib-0.17.8-py3-none-any.whl (73.5 kB view details)

Uploaded Python 3

File details

Details for the file ghga_service_chassis_lib-0.17.8.tar.gz.

File metadata

File hashes

Hashes for ghga_service_chassis_lib-0.17.8.tar.gz
Algorithm Hash digest
SHA256 bd18bd68981b7027076d6f9e67e7e5374d0cf59a222feb6da39de5585d8d8cac
MD5 a12e248667cd183ee4384f5193066ee5
BLAKE2b-256 a56777cce221b28abd1e3f0643be3acac64d38dc0279a78cd1a5a2da06ac65e9

See more details on using hashes here.

File details

Details for the file ghga_service_chassis_lib-0.17.8-py3-none-any.whl.

File metadata

File hashes

Hashes for ghga_service_chassis_lib-0.17.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ec38b31648460ebfdda6c38f3c2b4d32c78d873ba2bcd18241b8db0886cc95d6
MD5 14c16d16fb87b9c98a29f4d04e1331d7
BLAKE2b-256 e6a0b18ea66de788d72428843eb9d77e48040d919171fa86b3e185365bfb8f4a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page