Skip to main content

Provide an ontology via Terminology Service's API link.

Project description

TermLink

GitHub Travis (.org) branch PyPI status GitHub release

Prepare an ontology and send it to the Precision Health Cloud.

Termlink is a command line client and library for uploading ontologies to LifeOmic's Precision Health Cloud. Its goal is to make uploading standardized ontologies easier and to provide utilities for uploading custom ontologies. It provides a simple command line interface for creating standard ontologies and a Python SDK for building integrations with custom ontologies.

Quickstart

Download the following tools:

Pull the latest version of TermLink from Docker Hub:

docker pull lifeomic/termlink

Run it.

docker run lifeomic/termlink --help

Import the output ontology into the Precision Health Cloud using the LifeOmic CLI:

docker run lifeomic/termlink ... | lo ontologies import <project>

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

The following tools are required to run TermLink:

Installing

The following steps will guide you through installing the project locally.

Clone the git repository onto your local machine.

git clone git@github.com:lifeomic/termlink.git && cd ./termlink

Using Python 3, create a virtualenv and then activate it.

python3 -m venv venv && source venv/bin/activate

Note: Your Python binary may be under a different name.

Check that your local version of Python is at least version 3.7 by running python --version.

Once you have verified your version of Python is correct, run the following to download all dependencies.

pip install -r requirements.txt
pip install -r requirements-dev.txt

You now have everything you need to start developing on Termlink.

Testing

This project uses the Python nose framework.

Unit Testing

Run unit tests with yarn:

yarn test

Test coverage is enforced using the coverage.py module. Inspect the test coverage with:

yarn inspect

Deployment

TermLink is published on:

  • PyPI: Python package.
  • Docker Hub: Packaged runtime environment.
  • GitHub: Python package and source files.

Documentation is published on GitHub Pages.

To publish a new version run the following command:

yarn version

You will be promoted to enter a new version. Please use SemVer versioning for incrementing versions. To learn more about why SemVer is used, see the section on Versioning below.

This will trigger the deployment pipeline on Travis CI.

Built With

  • Docker: "Build, Ship, and Run Any App, Anywhere."
  • Python 3: "Python is a programming language that lets you work quickly and integrate systems more effectively."
  • Requests: "Requests is an elegant and simple HTTP library for Python, built for human beings."

Contributing

[TODO]

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

The following guidelines are provided on the SemVer website:

Given a version number MAJOR.MINOR.PATCH, increment the:

  • MAJOR version when you make incompatible API changes,
  • MINOR version when you add functionality in a backwards-compatible manner, and
  • PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Authors

  • Taylor Steinberg - Initial work - tdstein

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT - see the LICENSE file for details.

Acknowledgments

[TODO]

Project details


Download files

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

Files for termlink, version 0.10.1
Filename, size File type Python version Upload date Hashes
Filename, size termlink-0.10.1-py3-none-any.whl (30.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size termlink-0.10.1.tar.gz (22.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page