The v1 client uses the experiments and datasets resources with the application/vnd.md-v1+json accept header.
from md_python import MDClient
client = MDClient(api_token="your_api_token", version="v1")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)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_status = client.health.check()client = MDClient(
api_token="your_api_token",
version="v1",
base_url="https://xxx.massdynamics-example-installation.com/api",
)