Event‑sourced, provenance-first framework for scientific agents and lab‑automation
Project description
Drylab (python package)
Event-sourced lab automation core library for Python.
Overview
Drylab delivers unbreakable reproducibility and an immutable audit trail for every step of the autonomous science workflows carried out by your scientific AI agents.
Drylab uses an event‐sourced ledger that cryptographically seals, schema‐validates and version‐controls every instrument readout, simulation snapshot and llm insight
- instant provenance: trace any result back to the exact raw bytes
- built-in verification: reject bad data before it contaminates your analysis
- replay & branching: fork a run, tweak parameters and diff outcomes in seconds
Features
- Event-sourced architecture for reliable lab automation
- Schema validation and registry for lab protocols
- SQLite-based ledger for event persistence
- Type-safe interfaces for lab operations
- Pydantic integration for data validation
Requirements
- Python >= 3.10
- Dependencies:
- pydantic >= 2.6
- sqlite-utils >= 3.35
- jsonschema >= 4.22
Installation
You can install DryLab using pip:
pip install drylab
Or install from source:
git clone https://github.com/drylab/drylab-python.git
cd drylab-python
pip install -e .
Quick Start
from drylab import Reactor, Ledger
# Initialize the reactor and ledger
ledger = Ledger("lab_events.db")
reactor = Reactor(ledger)
# Your lab automation code here
Project Structure
drylab/
├── schemas/ # JSON schemas for lab protocols
├── reactor.py # Core reactor implementation
├── ledger.py # Event persistence layer
├── types.py # Type definitions
└── schema_registry.py # Schema management
Documentation
For detailed documentation, visit https://drylab.bio
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the terms of the license included in the repository.
Contact
- Email: dev@drylab.io
- Website: https://drylab.bio
Project details
Release history Release notifications | RSS feed
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 drylab-0.0.2.tar.gz.
File metadata
- Download URL: drylab-0.0.2.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f885eda9773e567fb1dcd52e701f13cfef2687fd9177461bdfdee71cf3183408
|
|
| MD5 |
c20f504b5f692923dae08d240c89f71b
|
|
| BLAKE2b-256 |
affb8ea23aee5de225a31c51069b3515b9000d2efe0b66311e902d31d1e5f807
|
File details
Details for the file drylab-0.0.2-py3-none-any.whl.
File metadata
- Download URL: drylab-0.0.2-py3-none-any.whl
- Upload date:
- Size: 4.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e45b326ba7ee14d73bea59e8e214a98fbc138aadaec18aae925eddfb8219c4a
|
|
| MD5 |
3294c99b1dff79164b5e5ef5fd7a45ab
|
|
| BLAKE2b-256 |
1ef876473bddebe445d28ed2a2f8f17e3b12781281aa3d2c57ce2d30c587e05f
|