Skip to main content

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.

Python License Code style: black


✨ 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

Plots

Artifacta automatically generates visualizations based on your data shape and metadata. No manual plot configuration needed.

Artifact Management

Artifacts

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


Download files

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

Source Distribution

artifacta-0.1.1.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

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

artifacta-0.1.1-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

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

Hashes for artifacta-0.1.1.tar.gz
Algorithm Hash digest
SHA256 25e1e281b98a7e6e3d26a603ec50ca36f354266f321e5400f91f94bb700a0ac0
MD5 86f3d8ecc1bb1b9b0e14c55247d4bff0
BLAKE2b-256 b6d53f5dd70db269cbc23424cf685a29751a84e8a89557aeaa87764a643d3ef3

See more details on using hashes here.

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

Hashes for artifacta-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 844bdd0c73fde6547264c3fdca5b1f13350539b838b5abfaf2a86bbcc8963ffe
MD5 54c4a7e90093e8ea2cfe65cdcf5f07a0
BLAKE2b-256 cb660ae65ca7c1023d7903a498e9d3431b2c2773563aef4acc965f9c12a8ac54

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