Skip to content

Targets

List targets with optional filters. Returns paginated results.

async def list_targets(
status: Optional[str] = None,
epoch: Optional[int] = None,
limit: Optional[int] = None,
read_mask: Optional[str] = None,
) -> ListTargetsResponse
ParameterTypeRequiredDefaultDescription
statusstrNoNoneFilter: "open", "filled", or "claimed"
epochintNoNoneFilter by generation epoch
limitintNoNoneMaximum results per page
read_maskstrNoNoneField mask for partial responses

Returns: ListTargetsResponse

response = await client.list_targets(status="open", limit=10)
for target in response.targets:
print(f"{target.id}: threshold={target.distance_threshold}")

Get a flat list of targets (unwrapped from pagination).

async def get_targets(
status: Optional[str] = None,
epoch: Optional[int] = None,
limit: Optional[int] = None,
) -> list[Target]
ParameterTypeRequiredDefaultDescription
statusstrNoNoneFilter: "open", "filled", or "claimed"
epochintNoNoneFilter by generation epoch
limitintNoNoneMaximum results

Returns: list[Target]

Fetch weight manifests for models. Accepts either a list of model IDs or a Target object (uses its model_ids).

async def get_model_manifests(
model_ids_or_target: Union[list[str], Target],
) -> list[ModelManifest]
ParameterTypeRequiredDefaultDescription
model_ids_or_targetlist[str] | TargetYesModel IDs or a Target object

Returns: list[ModelManifest]

targets = await client.get_targets(status="open", limit=1)
manifests = await client.get_model_manifests(targets[0])
for m in manifests:
print(f"URL: {m.url}, size: {m.size}")

Download model weights via the fullnode network.

async def fetch_model(model_id: str) -> bytes
ParameterTypeRequiredDefaultDescription
model_idstrYesModel object ID

Returns: bytes — raw (encrypted) model weights

Download submission data for a filled target via the fullnode network.

async def fetch_submission_data(target_id: str) -> bytes
ParameterTypeRequiredDefaultDescription
target_idstrYesTarget object ID

Returns: bytes — raw submission data