Skip to main content

CLI and Python library for Onyx

Project description

Onyx-client

Overview

A command-line interface and Python API for interacting with the Onyx database. Onyx-client provides both CLI commands and Python methods for:

  • Viewing projects, and their field specifications
  • Creating/updating/deleting project records and analyses
  • Retrieving full details and change history of an individual record/analysis
  • Granular filtering/aggregation functionality across multiple records and analyses
  • Exporting of data in JSON/CSV/TSV formats
  • Matching anonymised identifiers to their original values

For more information, check out the documentation.

Setup

Install from conda-forge

$ conda create --name onyx --channel conda-forge climb-onyx-client

Install from PyPI

$ pip install climb-onyx-client

Build from source

Download and install the client into a Python virtual environment:

$ git clone https://github.com/CLIMB-TRE/onyx-client.git
$ cd onyx-client/
$ python -m venv .venv
$ source .venv/bin/activate
$ pip install .

Check it works:

$ onyx
                                                                                             
 Usage: onyx [OPTIONS] COMMAND [ARGS]...                                                     
                                                                                             
 API for Pathogen Metadata.                                                                  
 For documentation, see: https://climb-tre.github.io/onyx-client/                            
                                                                                             
╭─ Options ─────────────────────────────────────────────────────────────────────────────────╮
│ --domain    -d      TEXT  Domain name for connecting to Onyx. [env var: ONYX_DOMAIN]      │
│                           [default: None]                                                 │
│ --token     -t      TEXT  Token for authenticating with Onyx. [env var: ONYX_TOKEN]       │
│                           [default: None]                                                 │
│ --username  -u      TEXT  Username for authenticating with Onyx. [env var: ONYX_USERNAME] │
│                           [default: None]                                                 │
│ --password  -p      TEXT  Password for authenticating with Onyx. [env var: ONYX_PASSWORD] │
│                           [default: None]                                                 │
│ --version   -v            Show the client version number and exit.                        │
│ --help      -h            Show this message and exit.                                     │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────────────╮
│ auth               Authentication commands.                                               │
│ admin              Admin commands.                                                        │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Info ────────────────────────────────────────────────────────────────────────────────────╮
│ projects           View available projects.                                               │
│ types              View available field types.                                            │
│ lookups            View available lookups.                                                │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Records ─────────────────────────────────────────────────────────────────────────────────╮
│ fields             View the field specification for a project.                            │
│ choices            View options for a choice field in a project.                          │
│ get                Get a record from a project.                                           │
│ filter             Filter multiple records from a project.                                │
│ history            View the history of a record in a project.                             │
│ analyses           View analyses of a record in a project.                                │
│ identify           Get the anonymised identifier for a value on a field.                  │
│ create             Create a record in a project.                                          │
│ update             Update a record in a project.                                          │
│ delete             Delete a record in a project.                                          │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Analyses ────────────────────────────────────────────────────────────────────────────────╮
│ analysis-fields    View the analysis field specification for a project.                   │
│ analysis-choices   View options for an analysis choice field.                             │
│ get-analysis       Get an analysis from a project.                                        │
│ filter-analysis    Filter multiple analyses from a project.                               │
│ analysis-history   View the history of an analysis in a project.                          │
│ analysis-records   View records involved in an analysis in a project.                     │
│ create-analysis    Create an analysis in a project.                                       │
│ update-analysis    Update an analysis in a project.                                       │
│ delete-analysis    Delete an analysis in a project.                                       │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Accounts ────────────────────────────────────────────────────────────────────────────────╮
│ profile            View profile information.                                              │
│ activity           View latest profile activity.                                          │
│ siteusers          View users from the same site.                                         │
╰───────────────────────────────────────────────────────────────────────────────────────────╯

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

climb_onyx_client-4.10.0.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

climb_onyx_client-4.10.0-py3-none-any.whl (30.9 kB view details)

Uploaded Python 3

File details

Details for the file climb_onyx_client-4.10.0.tar.gz.

File metadata

  • Download URL: climb_onyx_client-4.10.0.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for climb_onyx_client-4.10.0.tar.gz
Algorithm Hash digest
SHA256 70aca76591228c1222521951fbcf45250d23c6ce11b0cd1e395041f11df8261b
MD5 23701295502fd986cbec391dc3c15393
BLAKE2b-256 439bb7bcaf0c50e55efce6d752f33bb0ba03887f4332545cfc165643e5587a6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for climb_onyx_client-4.10.0.tar.gz:

Publisher: publish.yml on CLIMB-TRE/onyx-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file climb_onyx_client-4.10.0-py3-none-any.whl.

File metadata

File hashes

Hashes for climb_onyx_client-4.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b224b31ef4948390d28938d8a2b3ec4587d9bb6e293eec146bd991342d29f43
MD5 9c32848544976e3075f55851441c23f7
BLAKE2b-256 34ed30ce15177c6a5e1b1f27d453da664268620ace480e9a3c31deb22c4a664a

See more details on using hashes here.

Provenance

The following attestation bundles were made for climb_onyx_client-4.10.0-py3-none-any.whl:

Publisher: publish.yml on CLIMB-TRE/onyx-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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