Skip to content

Artifacts Overview🔗

What are Artifacts?🔗

Artifacts in Apheris are metadata records that represent files generated during computation execution. They provide a standardized way to store, share, and access computational outputs across your organization and with external collaborators.

Common artifact types include:

  • Checkpoints: Model states saved during training to resume from interruptions or for later evaluation
  • Metrics: Performance measurements and evaluation results for model comparison and analysis
  • Logs: Execution logs and debugging information for audit purposes
  • Results: Final outputs and generated data for downstream processing or visualization

Who Can Share Artifacts?🔗

Artifact sharing permissions:

  • Artifact creators: Can grant and revoke access to artifacts they created
  • Organization admins: Can grant and revoke access to any artifact created by anyone in their organization
  • Non-admin users: Can only manage access for artifacts they personally created

You manage sharing through the CLI (apheris artifacts grant/revoke) or programmatically via the API. The Governance Portal is for viewing and downloading artifacts, not for managing access grants.

Key Features🔗

1. Artifact Creation and Management🔗

Artifacts are created during computation execution and can contain multiple files. Each artifact includes:

  • Unique identifier (UUID)
  • Type (checkpoint, metric, log, or result)
  • Human-readable name
  • Associated job ID
  • Custom metadata (arbitrary JSON)
  • File attachments with integrity verification (MD5 hashes)

2. Access Control and Sharing🔗

Artifacts support two access paths:

Compute Access (/v1/artifacts/*)🔗

Artifacts created or read from compute pods using the injected APH_AUTH_DATA_ARTIFACT_TOKEN:

  • Create artifacts and upload files during computation
  • Read artifacts your compute spec is allowed to access (owned or explicitly shared)
  • Intended for use inside the computation container

User Access (CLI and Governance Portal) (/v1/artifacts/*/access, /v1/shared/artifacts/*)🔗

Artifacts you can manage or consume with an Auth0 user token (apheris login):

  • List artifacts you can share (organization admins see all organization artifacts; non-admins see only their own)
  • Grant access to specific users (by email) or organizations (by organization ID)
  • Manage and revoke access grants
  • Browse artifacts you can access (owned or explicitly shared)
  • Filter by artifact type and download files in the Governance Portal
  • Shared endpoints return privacy-filtered creator info (no email or roles)

3. Using Shared Artifacts in Computations🔗

When an artifact is shared with you through an access grant, you can:

  • Use it as input in your computations
  • Reference it in your ML workflows
  • Download files for local analysis (via Governance Portal)

Compute jobs access shared artifacts using the compute token (APH_AUTH_DATA_ARTIFACT_TOKEN). You can pass the shared artifact ID in your job payload or configuration and then fetch it in code with apheris_utils.artifacts.Artifact.get(...).

Complete Workflow🔗

Step 1: Create Artifacts (Data Scientist)🔗

Artifacts are automatically created during computation execution using the Apheris Utils:

from apheris_utils.artifacts import Artifact

artifact = Artifact(job_id=job_id, name="my-model-checkpoint")
artifact.add_file(local_path="model.pt")
artifact.save()  # Returns artifact ID

Step 2: Share Artifacts (Artifact Owner or Organization Admin)🔗

Use the CLI to grant access to collaborators:

# List artifacts you can share
apheris artifacts list

# Grant access to a user
apheris artifacts grant -i <artifact-id> -e collaborator@partner.com

# Or grant to an entire organization
apheris artifacts grant -i <artifact-id> -o org_abc123

Step 3: Access Shared Artifacts (Artifact Consumer)🔗

Option A: View and download in the Governance Portal🔗

  1. Log into the Governance Portal
  2. Navigate to Artifacts page
  3. Filter by "Shared by other organization" to see artifacts shared with you
  4. Click an artifact to view details and download files

Option B: Use in computations🔗

# In your computation code
from apheris_utils.artifacts import Artifact

artifact = Artifact.get("<shared-artifact-id>")
# Use artifact files in your training...

Step 4: Revoke Access (Artifact Owner or Organization Admin, Optional)🔗

# View who has access
apheris artifacts list -i <artifact-id>

# Revoke access when needed
apheris artifacts revoke -i <artifact-id> -a <access-grant-id>

Integration Points🔗

  • CLI: Manage artifact access grants (apheris artifacts commands)
  • Governance Portal: Browse, filter, and download accessible artifacts
  • Apheris Utils: Create artifacts and manage files during computation
  • REST API: Programmatic access to all artifact operations

Next Steps🔗