Universal experiment and artifact tracking — gain insights and optimize models with confidence
Project description
Artifacta
Universal experiment and artifact tracking — gain insights and optimize models with confidence.
✨ Key Features
- 🌐 Domain-agnostic - Track any experiment comparing parameters, data, and outcomes
- 📊 Automatic visualization - Plots discovered from logged data structure
- 🔗 Artifact tracking - Track datasets, models, code, and results with full provenance
- 🔄 Multi-run comparison - Overlay time series and curves for easy comparison
- 🎯 Hyperparameter analysis - Automatically detect and analyze parameter impact on outcomes
- 💬 AI assistant - Chat interface for experiment insights (OpenAI, Anthropic, local LLMs)
🎨 Visual Overview
Automatic Plot Discovery
Artifacta automatically generates visualizations based on your data shape and metadata. No manual plot configuration needed.
Artifact Management
Browse and preview datasets, models, code, images, videos, and documents with built-in file viewers.
🚀 Quick Start
Installation
Standard Installation
Prerequisites: Python 3.9+
# Clone the repository
git clone https://github.com/walkerbdev/artifacta.git
cd artifacta
# Install Python package
pip install -e .
Note: The UI is pre-built and bundled. No Node.js required.
Development Installation
Prerequisites: Python 3.9+, Node.js 16+
# Clone the repository
git clone https://github.com/walkerbdev/artifacta.git
cd artifacta
# Build UI from source
npm install && npm run build
# Install Python package
pip install -e .
Start Tracking Server
artifacta ui
The web UI will be available at http://localhost:8000 (default).
You can customize host and port:
artifacta ui --host 0.0.0.0 --port 8000
Development Mode: Run with hot-reload for UI development:
artifacta ui --dev
Log Your First Experiment
import artifacta as ds
# Initialize a run
run = ds.init(
project="my-project",
name="experiment-1",
config={"learning_rate": 0.001, "batch_size": 32}
)
# Log metrics during training
for epoch in range(10):
train_loss = train_model() # Your training code
ds.log("metrics", ds.Series(
index="epoch",
fields={
"train_loss": [train_loss],
"epoch": [epoch]
}
))
# Log artifacts (models, plots, etc.)
run.log_artifact("model.pt", "path/to/model.pt")
📚 Documentation
Full documentation available at: User Guide
Build and serve docs locally:
pip install artifacta[dev]
cd docs && make html
python -m http.server 8001 --directory _build/html
Then navigate to http://localhost:8001
📊 Core Primitives
Artifacta provides rich primitives for structured logging:
- Series - Time series data (loss curves, accuracy over time)
- Curve - ROC curves, PR curves with AUC metrics
- Distribution - Histograms and distributions
- Matrix - Confusion matrices and heatmaps
- Scatter - 2D scatter plots (embeddings, parameter spaces)
- BarChart - Categorical comparisons
- Table - Structured tabular data
All primitives are automatically visualized in the Plots tab.
💻 Web UI Features
- Plots - Auto-generated visualizations with multi-run overlay
- Sweeps - Hyperparameter analysis with parallel coordinates
- Artifacts - File browser with preview for code, images, video, audio
- Tables - Metric aggregation and comparison tables
- Lineage - Visual artifact provenance graphs
- Notebooks - Rich text lab notebook with LaTeX support
- Chat - AI assistant for experiment analysis
💡 Examples
See examples/ for runnable examples:
- PyTorch MNIST - Image classification with autolog
- TensorFlow Regression - Time series forecasting
- A/B Testing - Conversion rate analysis with statistical tests
Additional domain examples available in tests/domains/:
- Climate modeling, Computer vision, Finance, Genomics, Physics, Robotics, and more
Run examples:
source venv/bin/activate
python examples/ab_testing.py
🧪 Running Tests
Start the tracking server in one terminal:
source venv/bin/activate
artifacta ui
Run tests in another terminal:
source venv/bin/activate
pytest tests/
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 artifacta-0.1.1.tar.gz.
File metadata
- Download URL: artifacta-0.1.1.tar.gz
- Upload date:
- Size: 3.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25e1e281b98a7e6e3d26a603ec50ca36f354266f321e5400f91f94bb700a0ac0
|
|
| MD5 |
86f3d8ecc1bb1b9b0e14c55247d4bff0
|
|
| BLAKE2b-256 |
b6d53f5dd70db269cbc23424cf685a29751a84e8a89557aeaa87764a643d3ef3
|
File details
Details for the file artifacta-0.1.1-py3-none-any.whl.
File metadata
- Download URL: artifacta-0.1.1-py3-none-any.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
844bdd0c73fde6547264c3fdca5b1f13350539b838b5abfaf2a86bbcc8963ffe
|
|
| MD5 |
54c4a7e90093e8ea2cfe65cdcf5f07a0
|
|
| BLAKE2b-256 |
cb660ae65ca7c1023d7903a498e9d3431b2c2773563aef4acc965f9c12a8ac54
|