Skip to main content

Standard Development Kit for interacting with the Rhino Health Federated Learning Platform

Project description

Rhino Health SDK

Programmatic interface for interacting with the Rhino Health Federated Learning Platform.

Example Usage

Please see the sample notebook files provided to you by the Rhino Health Team for additional use cases.

Create a session

import rhino_health

my_username = "rhino_user@rhinohealth.com" # Replace me
my_password = "ASecurePasswordYouSet321" # Replace me
session = rhino_health.login(username=my_username, password=my_password)

There will be three ways to interact with the API after you have a session

  1. Use defined endpoints under lib/endpoints for single actions
  2. Use our library functions for commonly performed advanced features
  3. Use our low level API Interface (advanced users)

Interact with the API via defined endpoints

We've included convenience functions for our most commonly used endpoints in the library with required input and output data classes. These can be found in rhino_health/lib/endpoints.

my_projects = session.project.get_projects()
my_first_project = my_projects[0]
my_first_project.add_collaborator(collaborating_workgroup_uid)

my_cohort = session.cohort.get_cohort(my_cohort_uid)
cohort_project = my_cohort.project
my_cohort_info = my_cohort.cohort_info

Library Functions

RhinoHealth also provides library functions which combine our basic building blocks to perform common actions.

Example:

from rhino_health.lib.metrics import RocAucWithCI

metric_configuration = RocAucWithCI(y_true_variable="label", y_pred_variable="pred", confidence_interval=95, timeout_seconds=600)
"""
data_filters=[{
        "filter_column":"is_roc",
        "filter_value":1
    }]
"""
result = my_cohort.get_metric(metric_configuration)
print(f"{result.output}")

Interact using the low level API

If you would prefer to interact directly with our backend API, you can hit our backend directly using our low level APIs. This option is valid for any endpoints we do not have full SDK support for yet.

session.get("/alpha/secret/api").raw_response.json()
session.post("/alpha/secret/api", {"arbitrary_payload": "value"}).raw_response.json()
# Can also check out .status_code, etc.

Development Notes

Please install libyaml required by our testing library (see https://vcrpy.readthedocs.io/en/latest/installation.html)

brew install libyaml
pip uninstall pyyaml
pip --no-cache-dir install pyyaml

You may need to use pip install -r requirements.txt --no-cache-dir on M1 Macs

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

rhino_health-0.0.12.tar.gz (42.4 kB view details)

Uploaded Source

Built Distribution

rhino_health-0.0.12-py3-none-any.whl (47.3 kB view details)

Uploaded Python 3

File details

Details for the file rhino_health-0.0.12.tar.gz.

File metadata

  • Download URL: rhino_health-0.0.12.tar.gz
  • Upload date:
  • Size: 42.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for rhino_health-0.0.12.tar.gz
Algorithm Hash digest
SHA256 63548624af39a947e61d6ba4b0c06edf8c1692ddda23d18d330c8623ad79cea5
MD5 7ff31e239f4bfc16b7e2e1e65b4a8df2
BLAKE2b-256 456ea3d8baf1a7eb5e7f0a1d2f065b3f477daf33a3fac4d71cc9658b729e7b71

See more details on using hashes here.

File details

Details for the file rhino_health-0.0.12-py3-none-any.whl.

File metadata

File hashes

Hashes for rhino_health-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 c6f26ae005c1b9221b08ce52911f0763cf29b36d2791530de31c2990e4843a05
MD5 b1e781f0e1ae7cf41156413292ea0f9f
BLAKE2b-256 1370a0e848b4ae5cbe38585035bbf2dcf0c5ebedbf9fb5e86467c758ca64e21f

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