Wire & identifiers
Opaque NewType identifiers (JobId, ProjectId, TrainedModelId, …) buy type checker distinctness over what are, at runtime, plain strings. Friendly Job, Model, Recording, and Output IDs add strict parsers for the identifiers people see and copy. The wire enums and records further down are the shapes that ride between the simulo client, the control plane, and the workers.
Identifiers
Section titled “Identifiers”Each of these is a typing.NewType over str: at runtime it is a plain string — zero cost, no wrapper object, no validation — but a type checker treats it as a distinct type, so a function typed to take a JobId rejects a ProjectId passed by mistake even though both are strings underneath. They show up as field types on wire dataclasses and as argument/return types across the SDK. There is no constructor to call — construct one by passing the plain string value wherever one is expected.
simulo.CheckpointId— Identifies one training checkpoint.simulo.Digest— Content-addressed digest of a package source.simulo.JobId— Identifies one submitted job.simulo.OrganizationId— Identifies one organization.simulo.PackageId— Identifies one uploaded job package.simulo.ProjectId— Identifies one project.simulo.ResourceId— Identifies one registry-resolved resource mount.simulo.ResourceUri— A registry ref string, e.g."robot/so-arm-100:v3".simulo.TagId— Identifies one tag.simulo.TrainedModelId— Identifies one trained model.
Job and output identifiers
Section titled “Job and output identifiers”Job, Model, Recording, and Output ID aliases remain plain strings at runtime, while their parsers enforce the complete friendly-ID grammar. Parsers accept only outer ASCII whitespace and ASCII uppercase as normalization; malformed, partial, wildcard, and Unicode-confusable values are rejected.
simulo.JobPublicId— A validated human-facing Job ID.simulo.parse_job_public_id— Validate and canonicalize a human-facing Job ID.simulo.ModelPublicId— A validated human-facing Model ID.simulo.parse_model_public_id— Validate and canonicalize a human-facing Model ID.simulo.RecordingPublicId— A validated human-facing Recording ID.simulo.parse_recording_public_id— Validate and canonicalize a human-facing Recording ID.simulo.OutputPublicId— A validated human-facing Output ID.simulo.parse_output_public_id— Validate and canonicalize a human-facing Output ID.
Wire enums & records
Section titled “Wire enums & records”This type rides the wire between the simulo client, the control plane, and the workers. Enum values are a stable ABI (append-only, never renamed). OutputKind is a top-level name — prefer simulo.OutputKind in your own code.
simulo.OutputKind— Kind of a job-produced output — a checkpoint is NOT a trained model.simulo.SystemType— An abstract GPU system tier — one of a closed, published set.