Skip to main content

ML experiment tracking and data storage

Project description

Dreamlake

A simple and flexible SDK for ML experiment tracking and data storage.

Features

  • Three Usage Styles: Decorator, context manager, or direct instantiation
  • Dual Operation Modes: Remote (API server) or local (filesystem)
  • Auto-creation: Automatically creates namespace, workspace, and folder hierarchy
  • Upsert Behavior: Updates existing sessions or creates new ones
  • Simple API: Minimal configuration, maximum flexibility

Installation

Using uv (recommended) Using pip
uv add dreamlake
pip install dreamlake

Quick Start

Remote Mode (with API Server)

from dreamlake import Session

with Session(
    name="my-experiment",
    workspace="my-workspace",
    remote="https://cu3thurmv3.us-east-1.awsapprunner.com",
    api_key="your-jwt-token"
) as session:
    print(f"Session ID: {session.id}")

Local Mode (Filesystem)

from dreamlake import Session

with Session(
    name="my-experiment",
    workspace="my-workspace",
    local_path=".dreamlake"
) as session:
    pass  # Your code here

See examples/ for more complete examples.

Development Setup

Installing Dev Dependencies

To contribute to Dreamlake or run tests, install the development dependencies:

Using uv (recommended) Using pip
uv sync --extra dev
pip install -e ".[dev]"

This installs:

  • pytest>=8.0.0 - Testing framework
  • pytest-asyncio>=0.23.0 - Async test support
  • sphinx>=7.2.0 - Documentation builder
  • sphinx-rtd-theme>=2.0.0 - Read the Docs theme
  • sphinx-autobuild>=2024.0.0 - Live preview for documentation
  • myst-parser>=2.0.0 - Markdown support for Sphinx
  • ruff>=0.3.0 - Linter and formatter
  • mypy>=1.9.0 - Type checker

Running Tests

Using uv Using pytest directly
uv run pytest
pytest

Building Documentation

Documentation is built using Sphinx with Read the Docs theme.

Build docs Live preview Clean build
uv run python -m sphinx -b html docs docs/_build/html
uv run sphinx-autobuild docs docs/_build/html
rm -rf docs/_build

The live preview command starts a local server and automatically rebuilds when files change.

Alternatively, you can use the Makefile from within the docs directory:

cd docs
make html          # Build HTML documentation
make clean         # Clean build files

For maintainers, to build and publish a new release: uv build && uv publish

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

dreamlake-0.3.3.tar.gz (30.8 kB view details)

Uploaded Source

Built Distribution

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

dreamlake-0.3.3-py3-none-any.whl (40.3 kB view details)

Uploaded Python 3

File details

Details for the file dreamlake-0.3.3.tar.gz.

File metadata

  • Download URL: dreamlake-0.3.3.tar.gz
  • Upload date:
  • Size: 30.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dreamlake-0.3.3.tar.gz
Algorithm Hash digest
SHA256 fd052d660da15721d5caf488d1bb3ced07de6843b08c34bebcac37c50715ea61
MD5 ff49477168f7d3573b0a23b8b2ecac30
BLAKE2b-256 69bcd0d51ef30db1ffacb8868d3b85f42b9caaea1cb469dc2d60fd389513483f

See more details on using hashes here.

File details

Details for the file dreamlake-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: dreamlake-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 40.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dreamlake-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5668d3fdc6756c541f14e482af19c4931300a2413db340a3d885b66d07830201
MD5 7549c0be720e97d89eea1012ffe79154
BLAKE2b-256 292c2dcae2f4539df9fa8be27b5835245ecfc224343fb3f3365dee324d917c3c

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