Skip to main content

Python client for OrderlyWeb API

Project description

orderlyweb-api

Build Status codecov.io

Python client for OrderlyWeb.

Initial use case is to run a report only.

Usage

Instantiate the OrderlyWebAPI class, providing base url and bearer token as parameters:

api = OrderlyWebAPI('http://localhost:8080', 'H2AAbjvhjbbhbhjlh')

The bearer token must be obtained externally to this client. Use the Montagu Python client to obtain a token by authenticating with Montagu.

To run a report:

api.run_report(report_name, report_paraneters, timeout)

where report_parameters is a dictionary or JSON string, and timeout is an integer. Timeout sets a timeout for the report run in seconds, after which the run will be halted. The default timeout is 600.

Development

Clone the repo anywhere and install dependencies with (from the repo root):

pip3 install --user -r requirements.txt

Run dependencies (a local copy of Montagu API and database, and OrderlyWeb) with scripts/run-dev-dependencies.sh. This will also add a test user to Montagu.

Testing

Run dependencies as described above, then run pytest

Publishing

This repository is published to PyPI.

Building and publishing is done manually, with local sources.

Publishing configuration can be found in setup.py, and any classes, methods etc which should be accessible to users of the package must be added to orderlyweb_api/__init__.py. Remember to increment version in setup.py before publishing a new build.

To publish:

  1. Delete the following folders: .eggs, build, dist, orderlyweb_api.egg-info.
  2. Build the package with: python3 setup.py sdist bdist_wheel
  3. Publish with: python3 -m twine upload dist/*

To use the OrderlyWebAPI class as a client of the package, include orderlyweb-api in your requirements.txt. Import with import orderlyweb_api, and instantiate the API class with orderlyweb_api.OrderlyWebAPI(url, token)

See general instructions for publishing Python packages here.

Some troubleshooting tips for publishing Python packages can be found in the consellations repo.

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

orderlyweb-api-1.0.0.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

orderlyweb_api-1.0.0-py3-none-any.whl (9.8 kB view hashes)

Uploaded Python 3

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