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.10.tar.gz (42.3 kB view details)

Uploaded Source

Built Distribution

rhino_health-0.0.10-py3-none-any.whl (47.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rhino_health-0.0.10.tar.gz
Algorithm Hash digest
SHA256 ae7b8b24757623e29eea1b1edb712503a1d97ba6c3d525c8b6b8e6c6b75b7fa2
MD5 aace28e91870c3c79601d1d6d174275b
BLAKE2b-256 a865771ce7d27f8e3f30a49d9563d1f26e930a766db55f69cb9f52adbc2b8ae7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rhino_health-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 0c93c73bc937fb36461e01d5a69d373e2c4d871ad1c67b993fbe459f524a316f
MD5 76c127230fb691ff38a9aab20330daea
BLAKE2b-256 fb830a0af414d9f7bdf2f089dc97373473a66a8533fdb371014c61ad6b6ca49a

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