Assets

Assets are the main way to register inputs, outputs, documents, models, and other tracked objects in the SDK.

Built-In Asset Types

The SDK includes these built-in asset categories:

  • Agent
  • Benchmark
  • BenchmarkResult
  • Binary
  • Certificate
  • Code
  • Configuration
  • Credential
  • Custom
  • Database
  • Dataset
  • Document
  • Guardrail
  • Media
  • Model
  • Prompt
  • Reasoning
  • Skill
  • SystemPrompt
  • Token
  • Tool

These types all follow the same construction pattern.

Binary is intended for compiled binary programs and similar executable artifacts that you want to register as part of a lineage graph.

Constructors

Most built-in asset types support these constructors:

  • .from_object(...)
  • .from_path(...)
  • .from_cid(...)
  • .with_context(ctx).from_object(...)
  • .with_context(ctx).from_path(...)
  • .with_context(ctx).from_cid(...)

Conceptually:

  • from_object(...): hash and register an in-memory Python object
  • from_path(...): hash and register a file or directory on disk
  • from_cid(...): create an asset wrapper around an existing CID
  • with_context(...): do the same thing, but attach it to a specific context

Custom

Use Custom when none of the built-in asset categories fit your domain object.

You can use the default custom type:

from eqty_sdk import Custom

asset = Custom.from_object({"kind": "prompt-template"}, name="Prompt Template")

Or provide your own asset type label:

from eqty_sdk import Custom

asset = Custom.from_object(
    {"kind": "feature-store-table"},
    asset_type="FeatureStoreTable",
    name="Customer Features",
)

The same pattern works with from_path(...) and from_cid(...).

Metadata Via **kwargs

Any extra keyword arguments passed to an asset constructor are stored as metadata on that asset.

Common examples include:

  • name
  • description
  • domain-specific fields like owner, source, version, or input
from eqty_sdk import Dataset

dataset = Dataset.from_object(
    [1, 2, 3],
    name="Training Rows",
    description="Rows used for the baseline experiment",
    owner="ml-team",
    version="2026-03-20",
)

Those values are included in the metadata statement the SDK creates for the asset.

Serialization Notes

For from_object(...), the SDK hashes a serialized representation of the object.

Built-in support includes:

  • strings
  • numbers
  • lists
  • dicts
  • filesystem paths
  • objects with serialize_for_hashing()
  • compute inputs with to_eqty_asset()

If you have a complex type that should not be hashed directly, either:

  • implement serialize_for_hashing() for stable hashing, or
  • implement to_eqty_asset() and map the object to a more appropriate asset source

Agent

Agent(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents an AI Agent.

Asset

Asset(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

name property

name: str

Get the name of the asset.

cid property

cid: CID

Get the CID of the asset.

asset_type property

asset_type: str

Get the type of the asset.

value property

value: Any

Get the underlying value.

_create_eqty_statements

_create_eqty_statements() -> None

Creates DataStatement, MetadataStatement, and VcStatement.

Benchmark

Benchmark(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a benchmark asset.

BenchmarkResult

BenchmarkResult(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a benchmark result asset.

Binary

Binary(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a compiled binary program asset.

Certificate

Certificate(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a certificate asset.

Code

Code(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a code asset.

Configuration

Configuration(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a configuration asset.

Credential

Credential(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a credential asset.

Custom

Custom(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: Asset

Represents a Custom asset with user-specified asset type.

Database

Database(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a database asset.

Dataset

Dataset(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a dataset asset.

Document

Document(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a document asset.

Guardrail

Guardrail(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a guardrail asset.

Media

Media(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a media asset.

Model

Model(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a model asset.

Prompt

Prompt(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a Prompt asset.

Reasoning

Reasoning(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a reasoning asset.

Skill

Skill(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a skill asset.

SystemPrompt

SystemPrompt(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a System Prompt asset.

Token

Token(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a token asset.

Tool

Tool(
    obj: Any,
    asset_type: Union[AssetType, str],
    cid: CID,
    is_dir: bool,
    custom_ctx: Optional[Context],
    **kwargs
)

Bases: TypedAsset

Represents a tool asset.