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_dataset = session.dataset.get_dataset(my_dataset_uid)
dataset_project = my_dataset.project
my_dataset_info = my_dataset.dataset_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_dataset.get_metric(metric_configuration)
print(f"{result.output}")

Interact using the low level API

Please contact us for support with interacting with our low level API.

Rate Limits

The Rhino SDK handles rate limits of the API for you if you use the same session between threads and will attempt to queue requests. Excess requests will be sent with exponential backoff. If you send requests to our server from multiple locations then you may run into exceptions.

Development Notes

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

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

rhino_health-1.0.10-py3-none-any.whl (93.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rhino_health-1.0.10-py3-none-any.whl
  • Upload date:
  • Size: 93.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for rhino_health-1.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 023cc75ce730bfa8c4540b734a1147a7f08a32107997a82b48508d8ecea7d6c9
MD5 589fcf5a2a250faa632c1273251f358d
BLAKE2b-256 f8273250c09cb48c5081d88e14b25febe4eccd65e1ce6461b16ed120c3a3c84e

See more details on using hashes here.

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