Module lunar.rec.experiments

Sub-modules

lunar.rec.experiments.experiment
lunar.rec.experiments.models

Classes

class ExperimentClient (config: Config)

Client for BAP Recommendation API (/v1/experiments/).

Example

import bap

client = bap.client("experiment")

Ancestors

Methods

def create_experiment(self, id: str, buckets: List[Dict[str, ]], bucketing_seed: str = '') ‑> Experiment

Create a new experiment.

Args

  • id: (str) Unique identifier of an experiment
  • buckets: (list(dict)) Bucket list in an experiment
  • bucketing_seed: (optional) (str) Random seed for bucketing (default: "")

Returns

Experiment

Example

experiment = client.create_experiment(
    id="my_experiment", buckets=[{"name": "a", "ratio": 20}, {"name": "b", "ratio": 80}], bucketing_seed="100"
)
async def create_experiment_async(self, id: str, buckets: List[Dict[str, Any]], bucketing_seed: str = '') ‑> Experiment

Create a new experiment (async).

Args

  • id: (str) Unique identifier of an experiment
  • buckets: (list(dict)) Bucket list in an experiment
  • bucketing_seed: (optional) (str) Random seed for bucketing (default: "")

Returns

Experiment

Example

experiment = await client.create_experiment_async(
    id="my_experiment", buckets=[{"name": "a", "ratio": 20}, {"name": "b", "ratio": 80}], bucketing_seed="100"
)
def delete_experiment(self, id: str) ‑> None

Delete an experiment.

Args

  • id: (str) Unique identifier of an experiment

Example

client.delete_experiment_async(id="my_experiment")
async def delete_experiment_async(self, id: str) ‑> None

Delete an experiment (async)

Args

  • id: (str) Unique identifier of an experiment

Example

await client.delete_experiment_async(id="my_experiment")
def get_experiment(self, id: str) ‑> Experiment

Get an experiment.

Args

  • id: (str) Unique identifier of an experiment

Returns

Experiment

Example

experiment = client.get_experiment(id="my_experiment")
async def get_experiment_async(self, id: str) ‑> Experiment

Get an experiment (async).

Args

  • id: (str) Unique identifier of an experiment

Returns

Experiment

Example

experiment = await client.get_experiment_async(id="my_experiment")
def list_experiments(self) ‑> List[Experiment]

List experiments.

Returns

list(Experiment)

Example

experiments = client.list_experiments()
async def list_experiments_async(self) ‑> List[Experiment]

List experiments (async).

Returns

list(Experiment)

Example

experiments = await client.list_experiments_async()
def update_experiment(self, id: str, buckets: List[Dict[str, ]], bucketing_seed: str = '') ‑> Experiment

Update an experiment.

Args

  • id: (str) Unique identifier of an experiment
  • buckets: (list(dict)) Bucket list in an experiment
  • bucketing_seed: (optional) (str) Random seed for bucketing (default: "")

Returns

Experiment

Example

experiment = client.update_experiment(
    id="my_experiment", buckets=[{"name": "a", "ratio": 90}, {"name": "c", "ratio": 10}], bucketing_seed="200"
)
async def update_experiment_async(self, id: str, buckets: List[Dict[str, ]], bucketing_seed: str = '') ‑> Experiment

Update an experiment (async).

Args

  • id: (str) Unique identifier of an experiment
  • buckets: (list(dict)) Bucket list in an experiment
  • bucketing_seed: (optional) (str) Random seed for bucketing (default: "")

Returns

Experiment

Example

experiment = await client.update_experiment_async(
    id="my_experiment", buckets=[{"name": "a", "ratio": 90}, {"name": "c", "ratio": 10}], bucketing_seed="200"
)
def update_experiment_partial(self, id: str, buckets: List[Dict[str, ]] = None, bucketing_seed: str = None) ‑> Experiment

Partially update an experiment.

Args

  • id: (str) Unique identifier of an experiment
  • buckets: (optional) (list(dict)) Bucket list in an experiment
  • bucketing_seed: (optional) (str) Random seed for bucketing

Returns

Experiment

Example

experiment = client.update_experiment_partial(
    id="my_experiment", buckets=[{"name": "a", "ratio": 50}, {"name": "b", "ratio": 50}]
)
async def update_experiment_partial_async(self, id: str, buckets: List[Dict[str, ]] = None, bucketing_seed: str = None) ‑> Experiment

Partially update an experiment (async).

Args

  • id: (str) Unique identifier of an experiment
  • buckets: (optional) (list(dict)) Bucket list in an experiment
  • bucketing_seed: (optional) (str) Random seed for bucketing

Returns

Experiment

Example

experiment = await client.update_experiment_partial_async(
    id="my_experiment", buckets=[{"name": "a", "ratio": 50}, {"name": "b", "ratio": 50}]
)