Client
The Client class is the main entry point for the Istari Digital Platform Python SDK. It provides methods for managing files, models, artifacts, jobs, access control, systems, agents, and more.
The SDK is shipped as the istari-digital-client package on PyPI. Supported Python versions for the client are listed on the PyPI project description.
from istari_digital_client import Client, Configuration
client = Client(Configuration(
registry_url="https://your-instance.istari.digital",
registry_auth_token="your-personal-access-token",
))
See Setup for installation and configuration details.
Server compatibility
Once instantiated, the client can verify it understands the registry it is talking to.
Client.check_compatibility()— calls the readiness probe and returns aCompatibilityResultwith the server's version and a verdict, orNoneif the server didn't return compatibility headers.Client.last_compatibility_result— the most recent compatibility result captured by any request, without forcing a new call.
Pagination
Most list_* methods support pagination via page and size parameters:
- page (int) – Page number. Minimum:
1. Default:1. - size (int) – Number of items per page. Range:
0–100. Default:10.
Common fields
Several methods accept the same optional metadata fields:
| Field | Type | Description |
|---|---|---|
display_name | str | None | Human-readable name |
description | str | None | Text describing the resource |
version_name | str | None | User-defined version label |
external_identifier | str | None | External system identifier for cross-referencing |
sources | list[NewSource | str] | None | Associated source references |
String constraints (SDK and platform)
The Python SDK validates some fields from the bundled OpenAPI schema. The Istari Digital Platform registry service also persists data with stricter limits than the client always checks locally.
- File revision metadata (
description,display_name,version_name,external_identifieron uploads such asadd_file,add_model,add_artifact, andcreate_revision): In the registry database these are stored as 255-character columns on thefile_revisionrow (same length class asmime,name, andextension). The bundledFileRevisionOpenAPI schema may omitmaxLength, and the client does not apply Pydanticmax_lengthfor these fields, but values longer than 255 characters are not storable and should be treated as invalid for practical use. - Control tags (
create_control_tag/update_control_tag): OptionaldescriptiononNewControlTagandUpdateControlTagis validated as 0–255 characters on the platform (and in the OpenAPI schema). See Access control. - Full-text search (
search_resources):FullTextSearchon the platform requiressearch_termto be at least 1 character,pageat least 1, andsizebetween 1 and 100 (defaults page1, size10). See search_resources.
Method reference
Methods are grouped by domain. Each page is self-contained with full parameter details.
Files, models & artifacts
Upload, version, and manage the core data types.
| Method | Description |
|---|---|
add_file / add_model / add_artifact | Upload a new file, model, or artifact |
add_artifacts_bulk | Upload up to 10 artifacts in one call (deprecated) |
update_file / update_model / update_artifact | Replace contents with a new version |
get_file / get_model / get_artifact | Retrieve by ID |
list_files / list_models / list_artifacts | List with pagination and filters |
create_revision / update_revision_content | Manage file revisions |
read_contents / read_properties | Read file data and metadata |
get_resource / list_resources / search_resources | Cross-type lookup and search |
archive_* / restore_* | Archive or restore any resource |
Jobs
Create and monitor function execution.
| Method | Description |
|---|---|
add_job | Create a new job on a model |
get_job / list_jobs / list_model_jobs | Retrieve and filter jobs |
update_job_status | Transition a job to a new status |
update_job_assigned_agent / remove_job_assigned_agent | Assign or unassign an agent |
update_job_assigned_agent_pool / remove_job_assigned_agent_pool | Assign or unassign an agent pool |
Systems & snapshots
Manage systems, configurations, and point-in-time snapshots.
| Method | Description |
|---|---|
create_system / get_system / list_systems | Manage systems |
create_configuration / list_system_configurations | System configurations |
list_configuration_revisions | Audit revisions tracked by a configuration |
create_snapshot / list_snapshots | Create and browse snapshots |
create_tag / update_tag / list_tags / get_tag_history | Label snapshots with tags and view history |
Access control
Share resources and manage control tags.
| Method | Description |
|---|---|
create_access / update_access / remove_access | Grant, modify, or revoke access |
bulk_create_access | Share multiple resources at once |
create_control_tag / update_control_tag | Create and manage control tags |
add_*_control_taggings / remove_*_control_taggings | Assign or revoke tags on resources |
list_resource_type_permissions | Query permissions across resources |
Infosec levels
Classify Resources and configure the platform infosec schema.
| Method | Description |
|---|---|
assign_infosec_level / list_infosec_levels | Classify Resources, list available levels |
get_platform_infosec_settings / enable_platform_infosec_settings | Read or update the platform schema |
Documents
Manage versioned ProseMirror documents on a System configuration.
| Method | Description |
|---|---|
create_document / update_document / archive_document | Create, update, or archive a document |
get_document / get_document_by_revision_id | Retrieve a document or a specific revision |
list_documents / list_configuration_documents | List documents globally or per-configuration |
export_document | Export to json, markdown, docx, or pdf |
Agents, modules & tools
Register agents, manage pools, and work with modules and functions.
| Method | Description |
|---|---|
register_agent / get_agent / list_agents | Agent lifecycle |
archive_agent / restore_agent | Archive or restore an agent |
create_agent_pool / update_agent_pool / delete_agent_pool | Manage agent pools |
archive_agent_pool / restore_agent_pool | Archive or restore a pool |
create_module / get_module / list_modules | Module management |
get_function / list_functions | Query available functions |
create_tool / list_tools | Tool and version management |
Users, tokens & admin
Manage users, authentication, and platform operations.
| Method | Description |
|---|---|
get_current_user / list_users | User lookup |
create_personal_access_token / revoke_all_personal_access_tokens | Token management |
create_app_integration / create_auth_integration | Integration setup |
generate_upload_url / generate_download_url | Temporary storage URLs |
sync_upstream_remotes / check_upstream_remote_compatibility | Drive and verify upstream remote syncs |
liveness_check / readiness_check | Health probes |
Enums
Reference tables for all enum types: JobStatusName, ArchiveStatus, AccessRelation, OS, FunctionAuthType, InfosecLevelObjectType, and more.
Data types
Structured types returned by client methods and accepted as parameters. Each page groups related types by domain, matching the method pages above.
| Page | Contents |
|---|---|
| Files, models & artifacts | File, Model, Artifact, FileRevision, Comment, NewSource, and pagination wrappers |
| Jobs | Job, JobStatus, JobStatusName, JobStatusMessage |
| Systems & snapshots | System, Snapshot, SnapshotTag, SystemConfiguration, UpstreamRemote |
| Access control | Permission, AccessRelationship, ControlTag, SubjectInfo |
| Agents & modules | Agent, AgentPool, Module, Function, Tool, and related input/status types |
| Users, tokens & admin | User, Token, Tenant, AppIntegration, AuthIntegration |
| Common types | Archive, Restore, Pageable, FilterBy, PatchOp, and validation types |