A publishable entity in Atria is any artifact that carries enough information to be reconstructed by a consumer from the hub alone — without access to the original training code or local filesystem.
What makes an artifact publishable
Two things are required:
- Content — the raw binary (weights bytes, storage shards, etc.)
- Config / metadata — a serializable Hydra-instantiable dict that fully describes how to reconstruct the artifact
For model snapshots, this is the SnapshotArtifact.weights + SnapshotArtifact.metadata pair (see Snapshots & Hub).
For datasets, this is the dataset's storage shards + the serialized DatasetConfig (including preprocessing config, split info, and schema).
Model artifacts on the hub
A model artifact on the hub is identified by {owner}/{model-name} and optionally a branch name. It contains:
model.safetensors— model weights in safetensors formatmetadata.yaml— the fullModelPipelineConfig+DatasetLabelsin YAML format
Pulling a model artifact restores the exact ModelPipeline that was snapshotted:
from atria_models.core.model_pipelines._model_pipeline import ModelPipeline
pipeline = ModelPipeline.load_from_hub(
name="my-org/resnet50-cifar10",
branch="main",
)
# pipeline is identical to what was trained
Dataset artifacts on the hub
A dataset artifact contains:
- The cached storage shards (Deltalake Parquet or msgpack)
- The DatasetConfig JSON
- Split info (train/val/test sizes, random seed)
Pulling a dataset artifact rehydrates a Dataset object identical to the one that was pushed:
atria datasets download my-org/cifar10-custom --output-dir ./data/
Versioning
Every push creates a new version. Previous versions remain accessible. The hub tracks: - Version number (monotonically increasing) - Commit hash (content-addressed) - Timestamp and pusher identity
This ensures that pulling a model or dataset by version always returns the same artifact, regardless of subsequent pushes.