Systems
Methods for managing systems, configurations, snapshots, tags, and tracked files on the Istari Digital Platform.
All methods are available on the Client instance. Parameters marked (required) must be provided. See Enums for valid enum values and Pagination for page/size defaults.
Systems
create_system()
Creates a new system.
-
Parameters:
- new_system (NewSystem) – (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: System
update_system()
Updates an existing system.
-
Parameters:
- system_id (str) – The id of the system to update. (required)
- update_system (UpdateSystem) – (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: System
get_system()
Gets a system by id.
-
Parameters:
- system_id (str) – The id of the system to get. (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: System
list_systems()
Lists all the systems a user has access to.
-
Parameters:
- page (int) – Page number
- size (int) – Page size
- filter_by (FilterBy) – Filter results by ownership. One of:
created_by_id(created by you),-created_by_id(shared with you). - archive_status (ArchiveStatus) – Filter results by archive status. One of:
active,archived,all. Default:active. - sort (str)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: PageSystem
get_system_baseline()
Gets the system baseline by system id.
-
Parameters:
- system_id (str) – The id of the system to get the baseline for. (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: SystemBaseline
archive_system()
Archives a system by updating it’s archive status to Archived.
-
Parameters:
- system_id (str) – The id of the system to archive. (required)
- archive (Archive)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: System
restore_system()
Restores a system by updating it’s archive status to Active.
-
Parameters:
- system_id (str) – The id of the system to restore. (required)
- restore (Restore)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: System
Configurations
create_configuration()
Creates a new configuration for a system.
-
Parameters:
- system_id (str) – The id of the system to create a configuration for. (required)
- new_system_configuration (NewSystemConfiguration) – (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: SystemConfiguration
get_configuration()
Gets a configuration by id.
-
Parameters:
- configuration_id (str) – The id of the configuration to get. (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: SystemConfiguration
list_system_configurations()
Lists all the system configurations a user has access to.
-
Parameters:
- system_id (str) – The id of the system to list configurations for. (required)
- page (int) – Page number
- size (int) – Page size
- archive_status (ArchiveStatus) – Filter results by archive status. One of:
active,archived,all. Default:active. - sort (str)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: PageSystemConfiguration
archive_configuration()
Archives a configuration by updating it’s archive status to Archived.
-
Parameters:
- configuration_id (str) – The id of the configuration to archive. (required)
- archive (Archive)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: SystemConfiguration
restore_configuration()
Restores a configuration by updating it’s archive status to Active.
-
Parameters:
- configuration_id (str) – The id of the configuration to restore. (required)
- restore (Restore)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: SystemConfiguration
list_tracked_files()
List all the tracked files for a configuration that the user has access to.
-
Parameters:
- configuration_id (str) – The id of the configuration to list tracked files for. (required)
- page (int) – Page number
- size (int) – Page size
- sort (str)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: PageTrackedFile
System composition
A system can be composed from other systems by listing them as subsystems on a configuration. Each subsystem entry pins a child system to a specific snapshot tag (e.g. the child's main branch), so the parent's snapshot captures both its own tracked files and a deterministic version of every linked child. This makes it possible to model an assembly hierarchy — vehicle → subassembly → component — and have the parent snapshot resolve the exact files that belonged to each subsystem at the time it was taken.
Creating a configuration with subsystems
Pass NewTrackedSystem entries in the tracked_systems field of NewSystemConfiguration when calling create_configuration(). Each entry references a child system_id and a tag_id that pins the subsystem to a specific SnapshotTag on the child.
The typical workflow is:
- Create the child system and a configuration on it with the files you want exposed as a subsystem.
- Look up the child configuration's latest snapshot via
list_snapshots(). - Tag that snapshot with
create_tag()so it can be referenced by the parent. - Create the parent system and configuration, passing a
NewTrackedSystem(system_id=<child>, tag_id=<tag>)for each subsystem.
Omitting tag_id is allowed but rarely useful: it falls back to the child's baseline, which on a freshly-created system is an empty bootstrap snapshot with no tracked files.
from istari_digital_client import (
NewSnapshotTag,
NewSystem,
NewSystemConfiguration,
NewTrackedFile,
NewTrackedSystem,
TrackedFileSpecifierType,
)
child = client.create_system(NewSystem(name="actuator", description="actuator subsystem"))
child_config = client.create_configuration(
system_id=child.id,
new_system_configuration=NewSystemConfiguration(
name="v1",
tracked_files=[
NewTrackedFile(
specifier_type=TrackedFileSpecifierType.LATEST,
file_id=child_model.file.id,
),
],
),
)
child_snapshot = client.list_snapshots(
configuration_id=child_config.id, size=1, sort="-created"
).items[0]
child_tag = client.create_tag(
snapshot_id=child_snapshot.id,
new_snapshot_tag=NewSnapshotTag(tag="v1"),
)
parent = client.create_system(NewSystem(name="vehicle", description="parent vehicle"))
parent_config = client.create_configuration(
system_id=parent.id,
new_system_configuration=NewSystemConfiguration(
name="v1",
tracked_files=[
NewTrackedFile(
specifier_type=TrackedFileSpecifierType.LATEST,
file_id=parent_model.file.id,
),
],
tracked_systems=[
NewTrackedSystem(system_id=child.id, tag_id=child_tag.id),
],
),
)
To revise the subsystem set later, create a new configuration on the parent with the updated tracked_systems list. To move a subsystem pin to a different snapshot of the child without changing the parent, use update_tag() to point the existing child tag at a new snapshot.
list_configuration_subsystems()
Lists the subsystems linked from a configuration. Each item resolves the child system together with the SystemConfiguration and snapshot it is pinned to.
-
Parameters:
- configuration_id (str) – The id of the configuration to list subsystems for. (required)
- page (int) – Page number
- size (int) – Page size
- sort (str)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: PageSubsystem
list_snapshot_subsystems()
Lists the subsystems captured by a snapshot. Use this to inspect the subsystem set that was pinned when a snapshot was taken (including subsystems whose underlying system has since been archived).
-
Parameters:
- snapshot_id (str) – The id of the snapshot to list subsystems for. (required)
- page (int) – Page number
- size (int) – Page size
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: PageSnapshotSubsystemItem
Snapshots
create_snapshot()
Creates a new snapshot.
-
Parameters:
- configuration_id (str) – The id of the configuration to create a snapshot for. (required)
- new_snapshot (NewSnapshot) – (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: ResponseCreateSnapshot
get_snapshot()
Gets a snapshot by id.
-
Parameters:
- snapshot_id (str) – The id of the snapshot to get. (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: Snapshot
list_snapshots()
Lists all the snapshots a user has access to
-
Parameters:
- system_id (str) – The id of the system to filter snapshots by
- configuration_id (str) – The id of the configuration to filter snapshots by
- tag (str) – The tag to filter snapshots by
- page (int) – Page number
- size (int) – Page size
- sort (str)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: PageSnapshot
list_snapshot_items()
Lists all the snapshot items a user has access to.
-
Parameters:
- snapshot_id (str) – The id of the snapshot to list items for. (required)
- page (int) – Page number
- size (int) – Page size
- sort (str)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: PageSnapshotItem
list_snapshot_revisions()
Gets a snapshot’s revisions.
-
Parameters:
- snapshot_id (str) – The id of the system snapshot to list revisions for. (required)
- page (int) – Page number
- size (int) – Page size
- name (List [**str ]) – A list of file names to filter on (single value performs a like comparison)
- extension (List [**str ]) – A list of file extensions to filter on (single value performs a like comparison)
- sort (str)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: PageSnapshotRevisionSearchItem
Snapshot tags
create_tag()
Creates a new snapshot tag.
-
Parameters:
- snapshot_id (str) – The id of the snapshot to create a tag for. (required)
- new_snapshot_tag (NewSnapshotTag) – (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: SnapshotTag
get_tag()
Gets a snapshot tag by id.
-
Parameters:
- tag_id (str) – The id of the tag to get. (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: SnapshotTag
update_tag()
Updates an existing snapshot tag by moving it to a different snapshot.
-
Parameters:
- tag_id (str) – The id of the tag to update. (required)
- update_tag (UpdateTag) – (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: SnapshotTag
list_tags()
Lists all the snapshot tags a user has access to.
-
Parameters:
- system_id (str) – The id of the system to filter tags by
- configuration_id (str) – The id of the configuration to filter tags by
- snapshot_id (str) – The id of the snapshot to filter tags by
- archive_status (ArchiveStatus) – Filter results by archive status. One of:
active,archived,all. Default:active. - page (int) – Page number. Min:
1. Default:1. - size (int) – Page size. Range:
0–100. Default:10. - sort (str)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: PageSnapshotTag
archive_tag()
Archives a snapshot tag by updating it’s archive status to Archived.
-
Parameters:
- tag_id (str) – The id of the tag to archive. (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: SnapshotTag
restore_tag()
Restores a snapshot tag by updating it’s archive status to Active.
-
Parameters:
- tag_id (str) – The id of the tag to restore. (required)
- http_request_timeout_secs (int , optional) – timeout setting for this request
-
Return Type: SnapshotTag