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 frameworkpytest-asyncio>=0.23.0- Async test supportsphinx>=7.2.0- Documentation buildersphinx-rtd-theme>=2.0.0- Read the Docs themesphinx-autobuild>=2024.0.0- Live preview for documentationmyst-parser>=2.0.0- Markdown support for Sphinxruff>=0.3.0- Linter and formattermypy>=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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dreamlake-0.2.4.tar.gz.
File metadata
- Download URL: dreamlake-0.2.4.tar.gz
- Upload date:
- Size: 21.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
098dfb0fbc3b1efe11e51c43397ec8b22c0639786daa65f133152ed4c5789de1
|
|
| MD5 |
3e3261f970e93237daa00db94af8aed2
|
|
| BLAKE2b-256 |
5205dc74883ee1d2fdb6c7c4b9f852be961410fc9196b7289f01314655c0478d
|
File details
Details for the file dreamlake-0.2.4-py3-none-any.whl.
File metadata
- Download URL: dreamlake-0.2.4-py3-none-any.whl
- Upload date:
- Size: 26.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20e267d050bf9ee40c6b6de077bc51f9c0735d49c5960559d5134d9ec91d37b1
|
|
| MD5 |
ad6c65dccfc8624a3aaa2f7637e0f7df
|
|
| BLAKE2b-256 |
585d22476f2180cee615317065f2a4e81d60524112a41ee2f05a88ff252ee088
|