---
title: Quickstart
description: This tutorial introduces the Experiment API through the smallest useful
canonical: 'https://lightning.ai/docs/litlogger/stable/tutorials/quickstart'
---
# Quickstart {#quickstart}

This tutorial introduces the Experiment API through the smallest useful
workflow: create an experiment, log metadata and metrics, upload a file, and
finalize the run.

## Create an Experiment {#create-an-experiment}

```python
import litlogger

experiment = litlogger.init(name="quickstart")
```

[`litlogger.init()`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.init.init) returns an
[`Experiment`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.experiment.Experiment) instance. That object is the main
entrypoint for the new API.

## Log Metadata {#log-metadata}

Static string assignments become
[`metadata`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.experiment.Experiment.metadata) entries:

```python
experiment["model"] = "resnet50"
experiment["dataset"] = "cifar10"
experiment["optimizer"] = "adamw"
```

## Log Metrics {#log-metrics}

Time-series metrics use [`Series`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.series.Series) through
[`append`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.series.Series.append) or
[`extend`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.series.Series.extend) on `experiment["key"]`:

```python
for step in range(10):
    experiment["train/loss"].append(1.0 / (step + 1), step=step)
    experiment["train/accuracy"].append(step / 10.0, step=step)
```

You can also batch values:

```python
experiment["val/loss"].extend([0.5, 0.4, 0.3], start_step=100)
```

## Log a File {#log-a-file}

Use [`File`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.media.File) for static artifacts:

```python
from litlogger import File

experiment["config"] = File("config.yaml")
```

## Inspect Logged Data {#inspect-logged-data}

The experiment exposes runtime views through
[`metadata`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.experiment.Experiment.metadata),
[`metrics`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.experiment.Experiment.metrics),
[`artifacts`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.experiment.Experiment.artifacts), and
[`url`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.experiment.Experiment.url):

```python
print(experiment.metadata)
print(experiment.metrics)
print(experiment.artifacts)
print(experiment.url)
```

## Finalize {#finalize}

Use [`finalize`](/docs/litlogger/2026.08.28/api-reference/api.md#litlogger.experiment.Experiment.finalize) when the run is complete.

```python
experiment.finalize()
```

## Next Steps {#next-steps}

- [Files, Media, Models](/docs/litlogger/2026.08.28/tutorials/file_media_model.md) for files, media, and model logging
- [Lightning Tutorial](/docs/litlogger/2026.08.28/tutorials/lightning.md) for Lightning/Fabric integration
- [Complete Workflow](/docs/litlogger/2026.08.28/tutorials/complete_workflow.md) for a log-and-fetch workflow
- [Standalone Usage](/docs/litlogger/2026.08.28/guides/standalone.md) for the full standalone guide

---

**Navigation**

- Parent: [Tutorials](/docs/litlogger/2026.08.28/tutorials.md)
