plato-sdk-v2 2.9.0__py3-none-any.whl → 2.9.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- """Plato API SDK - v0.49.7"""
1
+ """Plato API SDK - v0.51.0"""
2
2
 
3
3
  from . import api, errors, models
4
4
  from .client import AsyncClient, Client
@@ -27,6 +27,9 @@ def _build_request_args(
27
27
  exclude_assigned_to_annotators: bool | None = None,
28
28
  workorder: str | None = None,
29
29
  infeasible: bool | None = None,
30
+ testcase_statuses: str | None = None,
31
+ work_order_item_id: str | None = None,
32
+ status: str | None = None,
30
33
  authorization: str | None = None,
31
34
  x_api_key: str | None = None,
32
35
  ) -> dict[str, Any]:
@@ -68,6 +71,12 @@ def _build_request_args(
68
71
  params["workorder"] = workorder
69
72
  if infeasible is not None:
70
73
  params["infeasible"] = infeasible
74
+ if testcase_statuses is not None:
75
+ params["testcase_statuses"] = testcase_statuses
76
+ if work_order_item_id is not None:
77
+ params["work_order_item_id"] = work_order_item_id
78
+ if status is not None:
79
+ params["status"] = status
71
80
 
72
81
  headers: dict[str, str] = {}
73
82
  if authorization is not None:
@@ -102,6 +111,9 @@ def sync(
102
111
  exclude_assigned_to_annotators: bool | None = None,
103
112
  workorder: str | None = None,
104
113
  infeasible: bool | None = None,
114
+ testcase_statuses: str | None = None,
115
+ work_order_item_id: str | None = None,
116
+ status: str | None = None,
105
117
  authorization: str | None = None,
106
118
  x_api_key: str | None = None,
107
119
  ) -> Any:
@@ -125,6 +137,9 @@ def sync(
125
137
  exclude_assigned_to_annotators=exclude_assigned_to_annotators,
126
138
  workorder=workorder,
127
139
  infeasible=infeasible,
140
+ testcase_statuses=testcase_statuses,
141
+ work_order_item_id=work_order_item_id,
142
+ status=status,
128
143
  authorization=authorization,
129
144
  x_api_key=x_api_key,
130
145
  )
@@ -153,6 +168,9 @@ async def asyncio(
153
168
  exclude_assigned_to_annotators: bool | None = None,
154
169
  workorder: str | None = None,
155
170
  infeasible: bool | None = None,
171
+ testcase_statuses: str | None = None,
172
+ work_order_item_id: str | None = None,
173
+ status: str | None = None,
156
174
  authorization: str | None = None,
157
175
  x_api_key: str | None = None,
158
176
  ) -> Any:
@@ -176,6 +194,9 @@ async def asyncio(
176
194
  exclude_assigned_to_annotators=exclude_assigned_to_annotators,
177
195
  workorder=workorder,
178
196
  infeasible=infeasible,
197
+ testcase_statuses=testcase_statuses,
198
+ work_order_item_id=work_order_item_id,
199
+ status=status,
179
200
  authorization=authorization,
180
201
  x_api_key=x_api_key,
181
202
  )
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
- # filename: tmpu23ownyz.json
3
- # timestamp: 2026-02-02T20:25:20+00:00
2
+ # filename: tmp914w7h7j.json
3
+ # timestamp: 2026-02-03T22:34:51+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -1239,6 +1239,10 @@ class EnvFromSimulator(BaseModel):
1239
1239
  """
1240
1240
  Custom name for this environment
1241
1241
  """
1242
+ restore_memory: Annotated[bool | None, Field(title="Restore Memory")] = True
1243
+ """
1244
+ If True (default), resume from memory snapshot. If False, do a fresh boot with disk state only.
1245
+ """
1242
1246
 
1243
1247
 
1244
1248
  class EnvInfo(BaseModel):
@@ -2110,7 +2114,7 @@ class NodeSnapshotStoreConfig(BaseModel):
2110
2114
  """
2111
2115
  cache_mb: Annotated[int | None, Field(title="Cache Mb")] = 10240
2112
2116
  """
2113
- Snapshot-store userspace decompressed page cache size in MB (0 to disable). This cache deduplicates pages by content hash across all manifests. For memory mounts (mount-mem): direct_io is disabled by default, so the kernel page cache already handles caching and deduplication for mmap'd files. Multiple VMs restoring from the same snapshot share kernel-cached pages automatically. The userspace cache is less beneficial here but can still help. For disk mounts (mount-tree): direct_io is enabled by default for overlay write coherency, bypassing the kernel cache. The userspace cache is important here for read-heavy workloads (Docker builds, package installs, etc.) that read many base image pages. Without caching, every read goes through FUSE decompression. Recommendation: 512MB for most deployments, increase for heavy disk I/O workloads.
2117
+ Only used for snapshot-store (not blockdiff). Userspace decompressed page cache size in MB (0 to disable). This cache deduplicates pages by content hash across all manifests. For memory mounts (mount-mem): direct_io is disabled by default, so the kernel page cache already handles caching and deduplication for mmap'd files. Multiple VMs restoring from the same snapshot share kernel-cached pages automatically. The userspace cache is less beneficial here but can still help. For disk mounts (mount-tree): direct_io is enabled by default for overlay write coherency, bypassing the kernel cache. The userspace cache is important here for read-heavy workloads (Docker builds, package installs, etc.) that read many base image pages. Without caching, every read goes through FUSE decompression. Recommendation: 512MB for most deployments, increase for heavy disk I/O workloads.
2114
2118
  """
2115
2119
  compression_workers: Annotated[int | None, Field(title="Compression Workers")] = 1
2116
2120
  """
@@ -3376,6 +3380,7 @@ class TestCaseSetCreateRequest(BaseModel):
3376
3380
  class TestCaseStatusEnum(Enum):
3377
3381
  uploaded = "uploaded"
3378
3382
  qa_in_progress = "qa_in_progress"
3383
+ requires_recordings = "requires_recordings"
3379
3384
  self_rejected = "self_rejected"
3380
3385
  self_approved = "self_approved"
3381
3386
  submitted = "submitted"
@@ -4947,6 +4952,9 @@ class SimReview(BaseModel):
4947
4952
  review_type: Annotated[ReviewType, Field(title="Review Type")]
4948
4953
  outcome: Annotated[Outcome, Field(title="Outcome")]
4949
4954
  artifact_id: Annotated[str, Field(title="Artifact Id")]
4955
+ video_s3_path: Annotated[str | None, Field(title="Video S3 Path")] = None
4956
+ events_s3_path: Annotated[str | None, Field(title="Events S3 Path")] = None
4957
+ comments: Annotated[str | None, Field(title="Comments")] = None
4950
4958
  reviewer_user_id: Annotated[int | None, Field(title="Reviewer User Id")] = None
4951
4959
  sim_comments: Annotated[list[SimReviewComment] | None, Field(title="Sim Comments")] = None
4952
4960
 
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
- # filename: tmpi9d4hw2u.json
3
- # timestamp: 2026-01-29T22:45:54+00:00
2
+ # filename: tmpwnvb6ug0.json
3
+ # timestamp: 2026-02-03T22:34:53+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -75,7 +75,15 @@ class AgentVersionInfo(BaseModel):
75
75
  extra="allow",
76
76
  )
77
77
  version: Annotated[str, Field(title="Version")]
78
- created_at: Annotated[AwareDatetime, Field(title="Created At")]
78
+ created_at: Annotated[str | None, Field(title="Created At")] = None
79
+
80
+
81
+ class AgentVersionsResponse(BaseModel):
82
+ model_config = ConfigDict(
83
+ extra="allow",
84
+ )
85
+ name: Annotated[str, Field(title="Name")]
86
+ versions: Annotated[list[AgentVersionInfo], Field(title="Versions")]
79
87
 
80
88
 
81
89
  class AuthStatusResponse(BaseModel):
@@ -525,10 +533,9 @@ class WorldInfo(BaseModel):
525
533
  extra="allow",
526
534
  )
527
535
  name: Annotated[str, Field(title="Name")]
528
- package: Annotated[str, Field(title="Package")]
529
- description: Annotated[str | None, Field(title="Description")] = None
530
- versions: Annotated[list[str] | None, Field(title="Versions")] = []
531
- latest_version: Annotated[str | None, Field(title="Latest Version")] = None
536
+ package_name: Annotated[str, Field(title="Package Name")]
537
+ version: Annotated[str | None, Field(title="Version")] = None
538
+ config_schema: Annotated[dict[str, Any] | None, Field(title="Config Schema")] = None
532
539
 
533
540
 
534
541
  class WorldResponse(BaseModel):
@@ -576,12 +583,15 @@ class ChronosApiRegistryAgentSchemaResponse(BaseModel):
576
583
  template_variables: Annotated[dict[str, Any] | None, Field(title="Template Variables")] = None
577
584
 
578
585
 
579
- class ChronosApiRegistryAgentVersionInfo(BaseModel):
586
+ class ChronosApiRegistryWorldInfo(BaseModel):
580
587
  model_config = ConfigDict(
581
588
  extra="allow",
582
589
  )
583
- version: Annotated[str, Field(title="Version")]
584
- created_at: Annotated[str | None, Field(title="Created At")] = None
590
+ name: Annotated[str, Field(title="Name")]
591
+ package: Annotated[str, Field(title="Package")]
592
+ description: Annotated[str | None, Field(title="Description")] = None
593
+ versions: Annotated[list[str] | None, Field(title="Versions")] = []
594
+ latest_version: Annotated[str | None, Field(title="Latest Version")] = None
585
595
 
586
596
 
587
597
  class ChronosModelsAgentAgentListResponse(BaseModel):
@@ -591,30 +601,20 @@ class ChronosModelsAgentAgentListResponse(BaseModel):
591
601
  agents: Annotated[list[AgentResponse], Field(title="Agents")]
592
602
 
593
603
 
594
- class ChronosModelsAgentAgentVersionsResponse(BaseModel):
595
- model_config = ConfigDict(
596
- extra="allow",
597
- )
598
- name: Annotated[str, Field(title="Name")]
599
- versions: Annotated[list[AgentVersionInfo], Field(title="Versions")]
600
-
601
-
602
- class ChronosModelsSessionWorldInfo(BaseModel):
604
+ class ChronosModelsAgentAgentVersionInfo(BaseModel):
603
605
  model_config = ConfigDict(
604
606
  extra="allow",
605
607
  )
606
- name: Annotated[str, Field(title="Name")]
607
- package_name: Annotated[str, Field(title="Package Name")]
608
- version: Annotated[str | None, Field(title="Version")] = None
609
- config_schema: Annotated[dict[str, Any] | None, Field(title="Config Schema")] = None
608
+ version: Annotated[str, Field(title="Version")]
609
+ created_at: Annotated[AwareDatetime, Field(title="Created At")]
610
610
 
611
611
 
612
- class AgentVersionsResponse(BaseModel):
612
+ class ChronosModelsAgentAgentVersionsResponse(BaseModel):
613
613
  model_config = ConfigDict(
614
614
  extra="allow",
615
615
  )
616
616
  name: Annotated[str, Field(title="Name")]
617
- versions: Annotated[list[ChronosApiRegistryAgentVersionInfo], Field(title="Versions")]
617
+ versions: Annotated[list[ChronosModelsAgentAgentVersionInfo], Field(title="Versions")]
618
618
 
619
619
 
620
620
  class CreatorsListResponse(BaseModel):
@@ -681,7 +681,7 @@ class SessionResponse(BaseModel):
681
681
  started_at: Annotated[AwareDatetime | None, Field(title="Started At")] = None
682
682
  ended_at: Annotated[AwareDatetime | None, Field(title="Ended At")] = None
683
683
  created_at: Annotated[AwareDatetime, Field(title="Created At")]
684
- world: ChronosModelsSessionWorldInfo | None = None
684
+ world: WorldInfo | None = None
685
685
  world_config: Annotated[dict[str, Any] | None, Field(title="World Config")] = {}
686
686
  trajectory: Annotated[dict[str, Any] | None, Field(title="Trajectory")] = None
687
687
  logs_url: Annotated[str | None, Field(title="Logs Url")] = None
@@ -703,7 +703,7 @@ class WorldCatalogResponse(BaseModel):
703
703
  model_config = ConfigDict(
704
704
  extra="allow",
705
705
  )
706
- worlds: Annotated[list[WorldInfo], Field(title="Worlds")]
706
+ worlds: Annotated[list[ChronosApiRegistryWorldInfo], Field(title="Worlds")]
707
707
 
708
708
 
709
709
  class WorldListResponse(BaseModel):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plato-sdk-v2
3
- Version: 2.9.0
3
+ Version: 2.9.1
4
4
  Summary: Python SDK for the Plato API
5
5
  Author-email: Plato <support@plato.so>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  plato/__init__.py,sha256=a9E0KS1602GWHHStnf7wDEuvPCvh2GpPh0Sf8oKZx5Q,1795
2
2
  plato/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- plato/_generated/__init__.py,sha256=QYMNzMRKMtV-VVoZAH6LWQGUdf0juNNaYQNUoUf_DtU,738
3
+ plato/_generated/__init__.py,sha256=fu4NDoHmSX5gCLo8mYxDWyv9fcFcoJ8H-IkKzAeYsC0,738
4
4
  plato/_generated/client.py,sha256=_oMKXyAShQVddCaIKnfB2zPkRsDlCwLp-N3RFoKq_v8,5489
5
5
  plato/_generated/errors.py,sha256=goTGrZ4rrujGZ-BoOonoyaGwdGDkGO6GyeubIkQVv9E,4197
6
6
  plato/_generated/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -192,7 +192,7 @@ plato/_generated/api/v1/testcases/get_organization_test_case_assignments.py,sha2
192
192
  plato/_generated/api/v1/testcases/get_testcase.py,sha256=EydIk-2zdS6XT9-btLWCE5i-N2lT7AlAe5amQQJNn-c,866
193
193
  plato/_generated/api/v1/testcases/get_testcase_metadata_for_scoring.py,sha256=i4xUaUisTUKsKnaV8sv2B-H1lgyBd9vKxR1TpOtvbcw,1948
194
194
  plato/_generated/api/v1/testcases/get_testcase_sets.py,sha256=NSqnYWvj_G3ivnuuV797g85NGzHXi3z-UlvvRoFMwRM,1375
195
- plato/_generated/api/v1/testcases/get_testcases.py,sha256=AjsC2aw1VJOtGEe-Km36uVktdxR6IRahhbHCjeAUxcY,5756
195
+ plato/_generated/api/v1/testcases/get_testcases.py,sha256=KV8H4Yf3PYMqMpHIDGty59CHPqPdHvcPNZ-WD2H17Z4,6586
196
196
  plato/_generated/api/v1/testcases/get_testcases_in_set.py,sha256=TJK2KHmGC5lNmBPoAXbZ6FktUael9v8Ecl4M8XAhceg,1501
197
197
  plato/_generated/api/v1/testcases/mark_organization_test_case_completed.py,sha256=bbtE5PWIA9X0EkyrSXE8YN0gp6x6sfno0rc02AK_-l0,1521
198
198
  plato/_generated/api/v1/testcases/update_testcase.py,sha256=-kTW31ioDzQvr2AmOv9gHL7jN6K9qhGyjnJfNHETwhA,1699
@@ -315,7 +315,7 @@ plato/_generated/api/v2/work_orders/get_work_order.py,sha256=dOOTdoS_tJSoLKYlvUb
315
315
  plato/_generated/api/v2/work_orders/list_work_orders.py,sha256=buAOqkAbCma9aODSEKRt0es36oVDdv_Y4jb-EkkC668,2026
316
316
  plato/_generated/api/version/__init__.py,sha256=dQXTYrXjD1RZcvWwnlqXWAZ-eAV-V-6JSNuY7uaca7o,70
317
317
  plato/_generated/api/version/check.py,sha256=HTVNw0oi9gbvX4pOVoH4y4JywCxdl1pJTCk2PjJFwJ4,778
318
- plato/_generated/models/__init__.py,sha256=goJEywXdEra3Su3zZ2qknqMomKvQM88zNLU-MbdgwNE,173217
318
+ plato/_generated/models/__init__.py,sha256=7YoPXRoeRyVIPvRE5zMBg3OKSF69CmaMyJrXGJ0uFBs,173719
319
319
  plato/_sims_generator/__init__.py,sha256=Km4QOl9wxjQ5dgpdhk9QnBFJFFc9eq3rPbMWIQRjIn0,1602
320
320
  plato/_sims_generator/cli.py,sha256=mzolN-dxfMkVAdA-vC0esnai-cGg-i4ozOw8dACefV4,2709
321
321
  plato/_sims_generator/instruction.py,sha256=Na9M-jIdBPhp_fLuBPTicoFnWriRyi8YiZ-eQBj64HI,6644
@@ -428,7 +428,7 @@ plato/chronos/api/worlds/create_world.py,sha256=H6yl5QIazNXgryOR5rvscSIMf8Y9kjc6
428
428
  plato/chronos/api/worlds/delete_world.py,sha256=UETu3Zk0e2VkDdAyMilv1ev-0g_j-oujH1Dc8DBqQOc,1239
429
429
  plato/chronos/api/worlds/get_world.py,sha256=eHTM1U5JiNTaZwYLh7x4QVBoRQeI5kaJ9o6xSi4-nos,1356
430
430
  plato/chronos/api/worlds/list_worlds.py,sha256=hBAuGb69tlasyn-kV_LNr9x6Rr7SHhST5hXJn1uqMf8,1253
431
- plato/chronos/models/__init__.py,sha256=M2dV42UmYgsNC4M76jOO4vILgzNvM6m3BGpf6McfFwE,23198
431
+ plato/chronos/models/__init__.py,sha256=fGWDhReLc8IfOAM7fk2oVnqDKopwMNm6IVYlviQw2S4,23194
432
432
  plato/cli/__init__.py,sha256=UsKj-69eWKuAlk-Fiwlrz0GJiBfuOmcf-ZLmZJb21Vo,102
433
433
  plato/cli/agent.py,sha256=5qA0T1n0H0JQ5ZB-fAVKm3Nw-y_M-GiSQx1OTcKgkrI,44050
434
434
  plato/cli/audit_ui.py,sha256=AfnC3wngGV3ujg9POHNYQhal2S6Hr0ZhcXrAAxtVfMg,12307
@@ -546,7 +546,7 @@ plato/worlds/markers.py,sha256=dB4jOVYHWFm82LqskjQ4igrFp89H2FSgv8nfBXMf550,1762
546
546
  plato/worlds/models.py,sha256=dN_Lsmy4yBuyd5D17kbL4Qy9VKc-06Ea1ombXC3b-Gk,477
547
547
  plato/worlds/runner.py,sha256=r9B2BxBae8_dM7y5cJf9xhThp_I1Qvf_tlPq2rs8qC8,4013
548
548
  plato/worlds/schema.py,sha256=Wn_nwvOyVYWZAVQwzMtHMxnyBWcGT4X55sbiTruwQZs,5035
549
- plato_sdk_v2-2.9.0.dist-info/METADATA,sha256=qEB_ulz6ty1s5dEKYvSop_O0aKG2hlRCLm3aX-ZEPo4,8652
550
- plato_sdk_v2-2.9.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
551
- plato_sdk_v2-2.9.0.dist-info/entry_points.txt,sha256=iynJvTkU7E4MZNtSozVF0Wh083yPm6cuKV362Ol_ez8,133
552
- plato_sdk_v2-2.9.0.dist-info/RECORD,,
549
+ plato_sdk_v2-2.9.1.dist-info/METADATA,sha256=_YVWdGOSys1TJ2umD2Y-Kgy0QEbITJpeVetH5Mb1k0Q,8652
550
+ plato_sdk_v2-2.9.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
551
+ plato_sdk_v2-2.9.1.dist-info/entry_points.txt,sha256=iynJvTkU7E4MZNtSozVF0Wh083yPm6cuKV362Ol_ez8,133
552
+ plato_sdk_v2-2.9.1.dist-info/RECORD,,