Skip to main content

ML experiment tracker with local-first durability

Project description

Goodseed

ML experiment tracker. Logs metrics and configs to local SQLite files, serves them via a built-in HTTP server, and visualizes them in the browser.

Install

cd goodseed
pip install -e .

For development:

pip install -e ".[dev]"

Quick Start

import goodseed

with goodseed.Run(experiment_name="my-experiment") as run:
    run.log_configs({"learning_rate": 0.001, "batch_size": 32})

    for step in range(100):
        loss = train_step()
        run.log_metrics({"loss": loss}, step=step)

Then view your runs:

goodseed serve

How It Works

Each Run() creates a SQLite file at ~/.goodseed/projects/<project>/runs/<run_name>.sqlite. Metrics and configs are written there during training. After the run closes, the WAL is checkpointed so the result is a single .sqlite file.

The goodseed serve command starts a local HTTP server that reads these files and exposes a JSON API. The frontend at goodseed.ai connects to this server to display your runs.

Configuration

Variable Description
GOODSEED_HOME Data directory (default: ~/.goodseed)
GOODSEED_PROJECT Default project name (default: default)

CLI

goodseed                   # Start the server (default command)
goodseed serve [dir]       # Start the server, optionally from a specific directory
goodseed serve --port 9000 # Use a custom port
goodseed list              # List local runs

Tests

pip install -e ".[dev]"
pytest tests/ -v

See DOCS.md for architecture details and API reference.

Project details


Download files

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

Source Distribution

goodseed-0.2.0.tar.gz (49.8 kB view details)

Uploaded Source

Built Distribution

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

goodseed-0.2.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file goodseed-0.2.0.tar.gz.

File metadata

  • Download URL: goodseed-0.2.0.tar.gz
  • Upload date:
  • Size: 49.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for goodseed-0.2.0.tar.gz
Algorithm Hash digest
SHA256 fb034e216a4420d2a587391e59cbb224a3b23195d4dc69643f9295807e3c0897
MD5 880a9618b8aff7d4cde50bf1af5746dc
BLAKE2b-256 8828a5ef060f76f9809cc22a478d9e90b5e727eef1eb20a86d1b97c702237a5f

See more details on using hashes here.

File details

Details for the file goodseed-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: goodseed-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for goodseed-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d72ee4a1f2f46f7236d18565ad8608310851bda8c9bc272902f1ecb8eb28d7d6
MD5 0ff3b2247d576db7397945fa08341af2
BLAKE2b-256 0a7e64d7ed2e22ff10bf86a10fecc9bf881552e6d4fd2bc8831601c20c1ce584

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