Skip to content

Latest commit

 

History

History
90 lines (67 loc) · 2.01 KB

File metadata and controls

90 lines (67 loc) · 2.01 KB

V1 API Client

The v1 client uses the experiments and datasets resources with the application/vnd.md-v1+json accept header.

Initialisation

from md_python import MDClient

client = MDClient(api_token="your_api_token", version="v1")

Experiments

from md_python import Experiment, SampleMetadata, ExperimentDesign

# Create an experiment
sample_metadata = SampleMetadata.from_csv("sample_metadata.csv")
experiment = Experiment(
    name="My Experiment",
    description="Test experiment",
    sample_metadata=sample_metadata,
)
experiment_id = client.experiments.create(experiment)

# Get experiment by name
exp = client.experiments.get_by_name("My Experiment")

# Get experiment by ID
exp = client.experiments.get_by_id(experiment_id)

# Update sample metadata
sample_metadata = SampleMetadata(data=[
    ["sample_name", "dose"],
    ["1", "1"],
    ["2", "20"],
])
client.experiments.update_sample_metadata(experiment_id, sample_metadata)

# Wait for experiment to complete
exp = client.experiments.wait_until_complete(experiment_id)

Datasets

from uuid import UUID
from md_python import Dataset

# Create a dataset
dataset = Dataset(
    input_dataset_ids=[UUID("existing-dataset-id")],
    name="Processed Data",
    job_slug="data_processing",
    job_run_params={"parameter1": "value1"},
)
dataset_id = client.datasets.create(dataset)

# List datasets for an experiment
datasets = client.datasets.list_by_experiment(experiment_id)

# Find the initial intensity dataset
initial = client.datasets.find_initial_dataset(experiment_id)

# Retry a failed dataset
client.datasets.retry(dataset_id)

# Delete a dataset
client.datasets.delete(dataset_id)

# Wait for a dataset to complete
ds = client.datasets.wait_until_complete(experiment_id, dataset_id)

Health

health_status = client.health.check()

Custom Base URL

client = MDClient(
    api_token="your_api_token",
    version="v1",
    base_url="https://xxx.massdynamics-example-installation.com/api",
)