sequence-base 0.4.33__tar.gz → 0.4.34__tar.gz

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.
Files changed (124) hide show
  1. {sequence_base-0.4.33 → sequence_base-0.4.34}/PKG-INFO +1 -1
  2. {sequence_base-0.4.33 → sequence_base-0.4.34}/pyproject.toml +1 -1
  3. sequence_base-0.4.34/sequence_base/constants/cards.py +38 -0
  4. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/constants/version.py +2 -1
  5. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/benchmarks.py +17 -0
  6. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ActRequest.json +1 -1
  7. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ActResponse.json +1 -1
  8. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ActionChunk.json +1 -1
  9. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ActionContract.json +1 -1
  10. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ActionStep.json +1 -1
  11. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Actions.json +1 -1
  12. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/AdapterPair.json +1 -1
  13. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/AddLocal.json +1 -1
  14. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Autoscaler.json +1 -1
  15. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/BenchmarkConditionSpec.json +1 -1
  16. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/BenchmarkRegisterRequest.json +15 -1
  17. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/BenchmarkSpec.json +15 -2
  18. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/BenchmarkStatusResponse.json +1 -1
  19. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/BootstrapResponse.json +1 -1
  20. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Camera.json +1 -1
  21. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/CodeBundle.json +1 -1
  22. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Concurrency.json +1 -1
  23. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Conditions.json +1 -1
  24. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ConnectRequest.json +1 -1
  25. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ConnectResponse.json +1 -1
  26. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/DeploymentAccepted.json +1 -1
  27. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/DeploymentPolicy.json +1 -1
  28. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/DeploymentRequest.json +1 -1
  29. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/DeploymentStatusResponse.json +1 -1
  30. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ErrorBody.json +1 -1
  31. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ErrorCodes.json +1 -1
  32. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Estimate.json +1 -1
  33. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/EvalDryRunResponse.json +1 -1
  34. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/EvalReport.json +1 -1
  35. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/EvalRequest.json +1 -1
  36. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/EvalResponse.json +1 -1
  37. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ImageFrame.json +1 -1
  38. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ImageSpec.json +1 -1
  39. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ImageStepAddLocal.json +1 -1
  40. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ImageStepApt.json +1 -1
  41. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ImageStepEnv.json +1 -1
  42. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ImageStepProject.json +1 -1
  43. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ImageStepRun.json +1 -1
  44. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ImageStepTemplateFiles.json +1 -1
  45. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ImageStepUvPip.json +1 -1
  46. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/InferParam.json +1 -1
  47. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Lease.json +1 -1
  48. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/MetricAgg.json +1 -1
  49. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Observation.json +1 -1
  50. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ObservationContract.json +1 -1
  51. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Observations.json +1 -1
  52. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ObserveRequest.json +1 -1
  53. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ObserveResponse.json +1 -1
  54. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/PolicyRegistration.json +2 -2
  55. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/PolicySpec.json +1 -1
  56. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Project.json +1 -1
  57. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Proprioception.json +1 -1
  58. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/RenderSpec.json +1 -1
  59. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/ReplaySpec.json +1 -1
  60. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Resources.json +1 -1
  61. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/RolloutResult.json +1 -1
  62. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/SecretCreateRequest.json +1 -1
  63. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/SecretInfo.json +1 -1
  64. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/SecretRef.json +1 -1
  65. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/SeqFlags.json +1 -1
  66. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Step.json +1 -1
  67. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Stream.json +1 -1
  68. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/TaskAgg.json +1 -1
  69. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/TemplateFiles.json +1 -1
  70. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Tensors.json +1 -1
  71. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Timeouts.json +1 -1
  72. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/UploadTarget.json +1 -1
  73. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/Variant.json +1 -1
  74. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/VolumeFile.json +1 -1
  75. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/VolumeInfo.json +1 -1
  76. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/VolumeMount.json +1 -1
  77. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/VolumeRef.json +1 -1
  78. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/VolumeUploadRequest.json +1 -1
  79. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/VolumeUploadResponse.json +1 -1
  80. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schemas/WarmingError.json +1 -1
  81. sequence_base-0.4.33/sequence_base/constants/cards.py +0 -16
  82. {sequence_base-0.4.33 → sequence_base-0.4.34}/.gitignore +0 -0
  83. {sequence_base-0.4.33 → sequence_base-0.4.34}/README.md +0 -0
  84. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/__init__.py +0 -0
  85. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/auth.py +0 -0
  86. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/by_name.py +0 -0
  87. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/codec/__init__.py +0 -0
  88. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/codec/image.py +0 -0
  89. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/codec/marked.py +0 -0
  90. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/constants/__init__.py +0 -0
  91. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/constants/headers.py +0 -0
  92. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/constants/limits.py +0 -0
  93. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/construct.py +0 -0
  94. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/__init__.py +0 -0
  95. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/accounts.py +0 -0
  96. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/act.py +0 -0
  97. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/adapters.py +0 -0
  98. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/connect.py +0 -0
  99. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/deployments.py +0 -0
  100. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/errors.py +0 -0
  101. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/eval.py +0 -0
  102. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/flags.py +0 -0
  103. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/io.py +0 -0
  104. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/obs_schedule.py +0 -0
  105. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/observe.py +0 -0
  106. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/own_io.py +0 -0
  107. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/policy.py +0 -0
  108. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/retired.py +0 -0
  109. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/templates.py +0 -0
  110. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/volumes.py +0 -0
  111. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/contract/wire.py +0 -0
  112. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/episode.py +0 -0
  113. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/errors/__init__.py +0 -0
  114. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/errors/transport.py +0 -0
  115. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/msgpack_io.py +0 -0
  116. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/obs/__init__.py +0 -0
  117. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/obs/log.py +0 -0
  118. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/obs/rid.py +0 -0
  119. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/presets/__init__.py +0 -0
  120. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/presets/frames.py +0 -0
  121. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/presets/robot_arm.py +0 -0
  122. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/schema_export.py +0 -0
  123. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/telemetry/__init__.py +0 -0
  124. {sequence_base-0.4.33 → sequence_base-0.4.34}/sequence_base/telemetry/events.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: sequence-base
3
- Version: 0.4.33
3
+ Version: 0.4.34
4
4
  Summary: Shared foundation for the Sequences platform — wire contract, correlation, error taxonomy, constants. Used by the robot SDK, gateway, and container harness.
5
5
  Project-URL: Changelog, https://generalsequences.com/docs/changelog/
6
6
  Requires-Python: >=3.10
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sequence-base"
3
- version = "0.4.33"
3
+ version = "0.4.34"
4
4
  description = "Shared foundation for the Sequences platform — wire contract, correlation, error taxonomy, constants. Used by the robot SDK, gateway, and container harness."
5
5
  requires-python = ">=3.10"
6
6
  dependencies = ["pydantic>=2.0"]
@@ -0,0 +1,38 @@
1
+ """The cards a benchmark machine may run on, defined once here: the SDK refuses any other before a benchmark registers
2
+ (and `seq validate` offline, so the list is a constant, not a read), the gateway at registration and at an eval, and
3
+ the harness at the machine it starts - one list where each kept its own.
4
+
5
+
6
+ Both cards have RT cores, video encoders, EGL and Vulkan, so a benchmark only picks cheaper or faster; one that names a
7
+ card simulates on it (registration checks). CPU physics is the author's explicit choice, gpu="cpu": CPU machines, one
8
+ environment per core
9
+ .
10
+
11
+ A deployment's or a benchmark's driver is named here too, beside its card: DRIVER.
12
+ """
13
+ import re
14
+
15
+ BENCHMARK_GPUS = ("L4", "RTX-PRO-6000")
16
+
17
+ DEFAULT_BENCHMARK_GPU = "L4"
18
+
19
+ BENCHMARK_CPU = "cpu"
20
+
21
+
22
+
23
+
24
+
25
+
26
+ DRIVER = r"^[1-9][0-9]{2}$"
27
+
28
+
29
+ def driver_major(version: str | None) -> str | None:
30
+ """The major version of a driver as nvidia-smi says it ("580.178.04" -> "580"); None for anything that is not one."""
31
+ head = (version or "").strip().split(".", 1)[0]
32
+ return head if re.fullmatch(DRIVER, head) else None
33
+
34
+
35
+ def check_driver(driver: str | None, card: str | None) -> None:
36
+ """A driver is a GPU's: one named beside gpu="cpu" is refused."""
37
+ if driver is not None and (card or "").strip().lower() == BENCHMARK_CPU:
38
+ raise ValueError('driver= names a GPU driver: a gpu="cpu" machine has none')
@@ -4,7 +4,8 @@
4
4
 
5
5
 
6
6
 
7
- CONTRACT_VERSION = "0.5.29"
7
+ CONTRACT_VERSION = "0.5.30"
8
+
8
9
 
9
10
 
10
11
 
@@ -16,6 +16,7 @@ from typing import Literal
16
16
 
17
17
  from pydantic import BaseModel, ConfigDict, Field, model_validator
18
18
 
19
+ from sequence_base.constants.cards import DRIVER, check_driver
19
20
  from sequence_base.constants.limits import MAX_ENVS, METRIC_UNIT_MAX, METRIC_UNITS_MAX, TASK_DESCRIPTION_MAX
20
21
  from sequence_base.contract.accounts import SecretRef
21
22
  from sequence_base.contract.deployments import CodeBundle, DeploymentState, InferParam
@@ -126,6 +127,8 @@ class BenchmarkSpec(BaseModel):
126
127
 
127
128
  gpu: str | None = None
128
129
 
130
+ driver: str | None = Field(default=None, pattern=DRIVER)
131
+
129
132
  envs: int | None = Field(default=None, ge=1, le=MAX_ENVS)
130
133
  assets: list[VolumeRef] = Field(default_factory=list)
131
134
  render: RenderSpec | None = None
@@ -153,6 +156,11 @@ class BenchmarkSpec(BaseModel):
153
156
  raise ValueError("a batched benchmark binds both OBSERVE and STEP")
154
157
  return self
155
158
 
159
+ @model_validator(mode="after")
160
+ def _driver_of_a_card(self) -> "BenchmarkSpec":
161
+ check_driver(self.driver, self.gpu)
162
+ return self
163
+
156
164
 
157
165
  class BenchmarkConditionSpec(BaseModel):
158
166
  """One episode setting exactly as the author declared it — a sparse list or a cross product, with its own step
@@ -233,6 +241,10 @@ class BenchmarkRegisterRequest(BaseModel):
233
241
 
234
242
  gpu: str | None = Field(default=None, max_length=32)
235
243
 
244
+
245
+ driver: str | None = Field(default=None, pattern=DRIVER,
246
+ description='The NVIDIA driver its card must have, by major version: "580"')
247
+
236
248
  envs: int | None = Field(default=None, ge=1, le=MAX_ENVS)
237
249
 
238
250
 
@@ -253,6 +265,11 @@ class BenchmarkRegisterRequest(BaseModel):
253
265
  raise ValueError(f"setup parameter {name!r} is not a public Python identifier")
254
266
  return self
255
267
 
268
+ @model_validator(mode="after")
269
+ def _driver_of_a_card(self) -> "BenchmarkRegisterRequest":
270
+ check_driver(self.driver, self.gpu)
271
+ return self
272
+
256
273
  @model_validator(mode="after")
257
274
  def _metric_units(self) -> "BenchmarkRegisterRequest":
258
275
  for metric, unit in self.metric_units.items():
@@ -80,5 +80,5 @@
80
80
  ],
81
81
  "title": "ActRequest",
82
82
  "type": "object",
83
- "x-contract-version": "0.5.29"
83
+ "x-contract-version": "0.5.30"
84
84
  }
@@ -89,5 +89,5 @@
89
89
  ],
90
90
  "title": "ActResponse",
91
91
  "type": "object",
92
- "x-contract-version": "0.5.29"
92
+ "x-contract-version": "0.5.30"
93
93
  }
@@ -99,5 +99,5 @@
99
99
  ],
100
100
  "title": "ActionChunk",
101
101
  "type": "object",
102
- "x-contract-version": "0.5.29"
102
+ "x-contract-version": "0.5.30"
103
103
  }
@@ -96,5 +96,5 @@
96
96
  ],
97
97
  "title": "ActionContract",
98
98
  "type": "object",
99
- "x-contract-version": "0.5.29"
99
+ "x-contract-version": "0.5.30"
100
100
  }
@@ -19,5 +19,5 @@
19
19
  ],
20
20
  "title": "ActionStep",
21
21
  "type": "object",
22
- "x-contract-version": "0.5.29"
22
+ "x-contract-version": "0.5.30"
23
23
  }
@@ -59,5 +59,5 @@
59
59
  },
60
60
  "title": "Actions",
61
61
  "type": "object",
62
- "x-contract-version": "0.5.29"
62
+ "x-contract-version": "0.5.30"
63
63
  }
@@ -17,5 +17,5 @@
17
17
  ],
18
18
  "title": "AdapterPair",
19
19
  "type": "object",
20
- "x-contract-version": "0.5.29"
20
+ "x-contract-version": "0.5.30"
21
21
  }
@@ -23,5 +23,5 @@
23
23
  ],
24
24
  "title": "AddLocal",
25
25
  "type": "object",
26
- "x-contract-version": "0.5.29"
26
+ "x-contract-version": "0.5.30"
27
27
  }
@@ -57,5 +57,5 @@
57
57
  },
58
58
  "title": "Autoscaler",
59
59
  "type": "object",
60
- "x-contract-version": "0.5.29"
60
+ "x-contract-version": "0.5.30"
61
61
  }
@@ -50,5 +50,5 @@
50
50
  ],
51
51
  "title": "BenchmarkConditionSpec",
52
52
  "type": "object",
53
- "x-contract-version": "0.5.29"
53
+ "x-contract-version": "0.5.30"
54
54
  }
@@ -885,6 +885,20 @@
885
885
  "default": null,
886
886
  "title": "Default Adapter Ref"
887
887
  },
888
+ "driver": {
889
+ "anyOf": [
890
+ {
891
+ "pattern": "^[1-9][0-9]{2}$",
892
+ "type": "string"
893
+ },
894
+ {
895
+ "type": "null"
896
+ }
897
+ ],
898
+ "default": null,
899
+ "description": "The NVIDIA driver its card must have, by major version: \"580\"",
900
+ "title": "Driver"
901
+ },
888
902
  "engine": {
889
903
  "anyOf": [
890
904
  {
@@ -1089,5 +1103,5 @@
1089
1103
  ],
1090
1104
  "title": "BenchmarkRegisterRequest",
1091
1105
  "type": "object",
1092
- "x-contract-version": "0.5.29"
1106
+ "x-contract-version": "0.5.30"
1093
1107
  }
@@ -471,7 +471,7 @@
471
471
  ],
472
472
  "title": "SeqFlags",
473
473
  "type": "integer",
474
- "x-contract-version": "0.5.29",
474
+ "x-contract-version": "0.5.30",
475
475
  "x-flag-names": {
476
476
  "CHECK": 65536,
477
477
  "INFER": 16,
@@ -615,6 +615,19 @@
615
615
  "default": null,
616
616
  "title": "Cpu"
617
617
  },
618
+ "driver": {
619
+ "anyOf": [
620
+ {
621
+ "pattern": "^[1-9][0-9]{2}$",
622
+ "type": "string"
623
+ },
624
+ {
625
+ "type": "null"
626
+ }
627
+ ],
628
+ "default": null,
629
+ "title": "Driver"
630
+ },
618
631
  "engine": {
619
632
  "anyOf": [
620
633
  {
@@ -722,5 +735,5 @@
722
735
  ],
723
736
  "title": "BenchmarkSpec",
724
737
  "type": "object",
725
- "x-contract-version": "0.5.29"
738
+ "x-contract-version": "0.5.30"
726
739
  }
@@ -40,5 +40,5 @@
40
40
  ],
41
41
  "title": "BenchmarkStatusResponse",
42
42
  "type": "object",
43
- "x-contract-version": "0.5.29"
43
+ "x-contract-version": "0.5.30"
44
44
  }
@@ -79,5 +79,5 @@
79
79
  ],
80
80
  "title": "BootstrapResponse",
81
81
  "type": "object",
82
- "x-contract-version": "0.5.29"
82
+ "x-contract-version": "0.5.30"
83
83
  }
@@ -122,5 +122,5 @@
122
122
  ],
123
123
  "title": "Camera",
124
124
  "type": "object",
125
- "x-contract-version": "0.5.29"
125
+ "x-contract-version": "0.5.30"
126
126
  }
@@ -23,5 +23,5 @@
23
23
  ],
24
24
  "title": "CodeBundle",
25
25
  "type": "object",
26
- "x-contract-version": "0.5.29"
26
+ "x-contract-version": "0.5.30"
27
27
  }
@@ -96,5 +96,5 @@
96
96
  },
97
97
  "title": "Concurrency",
98
98
  "type": "object",
99
- "x-contract-version": "0.5.29"
99
+ "x-contract-version": "0.5.30"
100
100
  }
@@ -55,5 +55,5 @@
55
55
  ],
56
56
  "title": "Conditions",
57
57
  "type": "object",
58
- "x-contract-version": "0.5.29"
58
+ "x-contract-version": "0.5.30"
59
59
  }
@@ -12,5 +12,5 @@
12
12
  ],
13
13
  "title": "ConnectRequest",
14
14
  "type": "object",
15
- "x-contract-version": "0.5.29"
15
+ "x-contract-version": "0.5.30"
16
16
  }
@@ -580,5 +580,5 @@
580
580
  ],
581
581
  "title": "ConnectResponse",
582
582
  "type": "object",
583
- "x-contract-version": "0.5.29"
583
+ "x-contract-version": "0.5.30"
584
584
  }
@@ -18,5 +18,5 @@
18
18
  ],
19
19
  "title": "DeploymentAccepted",
20
20
  "type": "object",
21
- "x-contract-version": "0.5.29"
21
+ "x-contract-version": "0.5.30"
22
22
  }
@@ -776,5 +776,5 @@
776
776
  ],
777
777
  "title": "DeploymentPolicy",
778
778
  "type": "object",
779
- "x-contract-version": "0.5.29"
779
+ "x-contract-version": "0.5.30"
780
780
  }
@@ -1557,5 +1557,5 @@
1557
1557
  ],
1558
1558
  "title": "DeploymentRequest",
1559
1559
  "type": "object",
1560
- "x-contract-version": "0.5.29"
1560
+ "x-contract-version": "0.5.30"
1561
1561
  }
@@ -58,5 +58,5 @@
58
58
  ],
59
59
  "title": "DeploymentStatusResponse",
60
60
  "type": "object",
61
- "x-contract-version": "0.5.29"
61
+ "x-contract-version": "0.5.30"
62
62
  }
@@ -94,5 +94,5 @@
94
94
  ],
95
95
  "title": "ErrorBody",
96
96
  "type": "object",
97
- "x-contract-version": "0.5.29"
97
+ "x-contract-version": "0.5.30"
98
98
  }
@@ -22,7 +22,7 @@
22
22
  ],
23
23
  "title": "ErrorCode",
24
24
  "type": "string",
25
- "x-contract-version": "0.5.29",
25
+ "x-contract-version": "0.5.30",
26
26
  "x-errors": {
27
27
  "budget_exhausted": {
28
28
  "exit_code": 6,
@@ -60,5 +60,5 @@
60
60
  ],
61
61
  "title": "Estimate",
62
62
  "type": "object",
63
- "x-contract-version": "0.5.29"
63
+ "x-contract-version": "0.5.30"
64
64
  }
@@ -240,5 +240,5 @@
240
240
  ],
241
241
  "title": "EvalDryRunResponse",
242
242
  "type": "object",
243
- "x-contract-version": "0.5.29"
243
+ "x-contract-version": "0.5.30"
244
244
  }
@@ -432,5 +432,5 @@
432
432
  ],
433
433
  "title": "EvalReport",
434
434
  "type": "object",
435
- "x-contract-version": "0.5.29"
435
+ "x-contract-version": "0.5.30"
436
436
  }
@@ -318,5 +318,5 @@
318
318
  },
319
319
  "title": "EvalRequest",
320
320
  "type": "object",
321
- "x-contract-version": "0.5.29"
321
+ "x-contract-version": "0.5.30"
322
322
  }
@@ -153,5 +153,5 @@
153
153
  ],
154
154
  "title": "EvalResponse",
155
155
  "type": "object",
156
- "x-contract-version": "0.5.29"
156
+ "x-contract-version": "0.5.30"
157
157
  }
@@ -49,5 +49,5 @@
49
49
  ],
50
50
  "title": "ImageFrame",
51
51
  "type": "object",
52
- "x-contract-version": "0.5.29"
52
+ "x-contract-version": "0.5.30"
53
53
  }
@@ -348,5 +348,5 @@
348
348
  },
349
349
  "title": "ImageSpec",
350
350
  "type": "object",
351
- "x-contract-version": "0.5.29"
351
+ "x-contract-version": "0.5.30"
352
352
  }
@@ -38,5 +38,5 @@
38
38
  ],
39
39
  "title": "ImageStepAddLocal",
40
40
  "type": "object",
41
- "x-contract-version": "0.5.29"
41
+ "x-contract-version": "0.5.30"
42
42
  }
@@ -14,5 +14,5 @@
14
14
  ],
15
15
  "title": "ImageStepApt",
16
16
  "type": "object",
17
- "x-contract-version": "0.5.29"
17
+ "x-contract-version": "0.5.30"
18
18
  }
@@ -14,5 +14,5 @@
14
14
  ],
15
15
  "title": "ImageStepEnv",
16
16
  "type": "object",
17
- "x-contract-version": "0.5.29"
17
+ "x-contract-version": "0.5.30"
18
18
  }
@@ -87,5 +87,5 @@
87
87
  ],
88
88
  "title": "ImageStepProject",
89
89
  "type": "object",
90
- "x-contract-version": "0.5.29"
90
+ "x-contract-version": "0.5.30"
91
91
  }
@@ -46,5 +46,5 @@
46
46
  ],
47
47
  "title": "ImageStepRun",
48
48
  "type": "object",
49
- "x-contract-version": "0.5.29"
49
+ "x-contract-version": "0.5.30"
50
50
  }
@@ -37,5 +37,5 @@
37
37
  ],
38
38
  "title": "ImageStepTemplateFiles",
39
39
  "type": "object",
40
- "x-contract-version": "0.5.29"
40
+ "x-contract-version": "0.5.30"
41
41
  }
@@ -14,5 +14,5 @@
14
14
  ],
15
15
  "title": "ImageStepUvPip",
16
16
  "type": "object",
17
- "x-contract-version": "0.5.29"
17
+ "x-contract-version": "0.5.30"
18
18
  }
@@ -99,5 +99,5 @@
99
99
  ],
100
100
  "title": "InferParam",
101
101
  "type": "object",
102
- "x-contract-version": "0.5.29"
102
+ "x-contract-version": "0.5.30"
103
103
  }
@@ -24,5 +24,5 @@
24
24
  ],
25
25
  "title": "Lease",
26
26
  "type": "object",
27
- "x-contract-version": "0.5.29"
27
+ "x-contract-version": "0.5.30"
28
28
  }
@@ -51,5 +51,5 @@
51
51
  ],
52
52
  "title": "MetricAgg",
53
53
  "type": "object",
54
- "x-contract-version": "0.5.29"
54
+ "x-contract-version": "0.5.30"
55
55
  }
@@ -169,5 +169,5 @@
169
169
  ],
170
170
  "title": "Observation",
171
171
  "type": "object",
172
- "x-contract-version": "0.5.29"
172
+ "x-contract-version": "0.5.30"
173
173
  }
@@ -170,5 +170,5 @@
170
170
  },
171
171
  "title": "ObservationContract",
172
172
  "type": "object",
173
- "x-contract-version": "0.5.29"
173
+ "x-contract-version": "0.5.30"
174
174
  }
@@ -260,5 +260,5 @@
260
260
  },
261
261
  "title": "Observations",
262
262
  "type": "object",
263
- "x-contract-version": "0.5.29"
263
+ "x-contract-version": "0.5.30"
264
264
  }
@@ -53,5 +53,5 @@
53
53
  ],
54
54
  "title": "ObserveRequest",
55
55
  "type": "object",
56
- "x-contract-version": "0.5.29"
56
+ "x-contract-version": "0.5.30"
57
57
  }
@@ -13,5 +13,5 @@
13
13
  ],
14
14
  "title": "ObserveResponse",
15
15
  "type": "object",
16
- "x-contract-version": "0.5.29"
16
+ "x-contract-version": "0.5.30"
17
17
  }
@@ -1116,7 +1116,7 @@
1116
1116
  ],
1117
1117
  "title": "SeqFlags",
1118
1118
  "type": "integer",
1119
- "x-contract-version": "0.5.29",
1119
+ "x-contract-version": "0.5.30",
1120
1120
  "x-flag-names": {
1121
1121
  "CHECK": 65536,
1122
1122
  "INFER": 16,
@@ -1307,5 +1307,5 @@
1307
1307
  ],
1308
1308
  "title": "PolicyRegistration",
1309
1309
  "type": "object",
1310
- "x-contract-version": "0.5.29"
1310
+ "x-contract-version": "0.5.30"
1311
1311
  }
@@ -1163,5 +1163,5 @@
1163
1163
  ],
1164
1164
  "title": "PolicySpec",
1165
1165
  "type": "object",
1166
- "x-contract-version": "0.5.29"
1166
+ "x-contract-version": "0.5.30"
1167
1167
  }
@@ -72,5 +72,5 @@
72
72
  },
73
73
  "title": "Project",
74
74
  "type": "object",
75
- "x-contract-version": "0.5.29"
75
+ "x-contract-version": "0.5.30"
76
76
  }
@@ -68,5 +68,5 @@
68
68
  },
69
69
  "title": "Proprioception",
70
70
  "type": "object",
71
- "x-contract-version": "0.5.29"
71
+ "x-contract-version": "0.5.30"
72
72
  }
@@ -36,5 +36,5 @@
36
36
  ],
37
37
  "title": "RenderSpec",
38
38
  "type": "object",
39
- "x-contract-version": "0.5.29"
39
+ "x-contract-version": "0.5.30"
40
40
  }
@@ -52,5 +52,5 @@
52
52
  },
53
53
  "title": "ReplaySpec",
54
54
  "type": "object",
55
- "x-contract-version": "0.5.29"
55
+ "x-contract-version": "0.5.30"
56
56
  }
@@ -86,5 +86,5 @@
86
86
  ],
87
87
  "title": "Resources",
88
88
  "type": "object",
89
- "x-contract-version": "0.5.29"
89
+ "x-contract-version": "0.5.30"
90
90
  }
@@ -55,5 +55,5 @@
55
55
  ],
56
56
  "title": "RolloutResult",
57
57
  "type": "object",
58
- "x-contract-version": "0.5.29"
58
+ "x-contract-version": "0.5.30"
59
59
  }
@@ -21,5 +21,5 @@
21
21
  ],
22
22
  "title": "SecretCreateRequest",
23
23
  "type": "object",
24
- "x-contract-version": "0.5.29"
24
+ "x-contract-version": "0.5.30"
25
25
  }
@@ -40,5 +40,5 @@
40
40
  ],
41
41
  "title": "SecretInfo",
42
42
  "type": "object",
43
- "x-contract-version": "0.5.29"
43
+ "x-contract-version": "0.5.30"
44
44
  }
@@ -12,5 +12,5 @@
12
12
  ],
13
13
  "title": "SecretRef",
14
14
  "type": "object",
15
- "x-contract-version": "0.5.29"
15
+ "x-contract-version": "0.5.30"
16
16
  }
@@ -18,7 +18,7 @@
18
18
  ],
19
19
  "title": "SeqFlags",
20
20
  "type": "integer",
21
- "x-contract-version": "0.5.29",
21
+ "x-contract-version": "0.5.30",
22
22
  "x-flag-names": {
23
23
  "CHECK": 65536,
24
24
  "INFER": 16,
@@ -82,5 +82,5 @@
82
82
  ],
83
83
  "title": "Step",
84
84
  "type": "object",
85
- "x-contract-version": "0.5.29"
85
+ "x-contract-version": "0.5.30"
86
86
  }
@@ -189,5 +189,5 @@
189
189
  },
190
190
  "title": "Stream",
191
191
  "type": "object",
192
- "x-contract-version": "0.5.29"
192
+ "x-contract-version": "0.5.30"
193
193
  }
@@ -22,5 +22,5 @@
22
22
  ],
23
23
  "title": "TaskAgg",
24
24
  "type": "object",
25
- "x-contract-version": "0.5.29"
25
+ "x-contract-version": "0.5.30"
26
26
  }
@@ -22,5 +22,5 @@
22
22
  ],
23
23
  "title": "TemplateFiles",
24
24
  "type": "object",
25
- "x-contract-version": "0.5.29"
25
+ "x-contract-version": "0.5.30"
26
26
  }
@@ -10,5 +10,5 @@
10
10
  },
11
11
  "title": "Tensors",
12
12
  "type": "object",
13
- "x-contract-version": "0.5.29"
13
+ "x-contract-version": "0.5.30"
14
14
  }
@@ -34,5 +34,5 @@
34
34
  ],
35
35
  "title": "Timeouts",
36
36
  "type": "object",
37
- "x-contract-version": "0.5.29"
37
+ "x-contract-version": "0.5.30"
38
38
  }
@@ -24,5 +24,5 @@
24
24
  ],
25
25
  "title": "UploadTarget",
26
26
  "type": "object",
27
- "x-contract-version": "0.5.29"
27
+ "x-contract-version": "0.5.30"
28
28
  }
@@ -20,5 +20,5 @@
20
20
  ],
21
21
  "title": "Variant",
22
22
  "type": "object",
23
- "x-contract-version": "0.5.29"
23
+ "x-contract-version": "0.5.30"
24
24
  }
@@ -25,5 +25,5 @@
25
25
  ],
26
26
  "title": "VolumeFile",
27
27
  "type": "object",
28
- "x-contract-version": "0.5.29"
28
+ "x-contract-version": "0.5.30"
29
29
  }
@@ -68,5 +68,5 @@
68
68
  ],
69
69
  "title": "VolumeInfo",
70
70
  "type": "object",
71
- "x-contract-version": "0.5.29"
71
+ "x-contract-version": "0.5.30"
72
72
  }
@@ -17,5 +17,5 @@
17
17
  ],
18
18
  "title": "VolumeMount",
19
19
  "type": "object",
20
- "x-contract-version": "0.5.29"
20
+ "x-contract-version": "0.5.30"
21
21
  }
@@ -24,5 +24,5 @@
24
24
  ],
25
25
  "title": "VolumeRef",
26
26
  "type": "object",
27
- "x-contract-version": "0.5.29"
27
+ "x-contract-version": "0.5.30"
28
28
  }
@@ -56,5 +56,5 @@
56
56
  ],
57
57
  "title": "VolumeUploadRequest",
58
58
  "type": "object",
59
- "x-contract-version": "0.5.29"
59
+ "x-contract-version": "0.5.30"
60
60
  }
@@ -65,5 +65,5 @@
65
65
  ],
66
66
  "title": "VolumeUploadResponse",
67
67
  "type": "object",
68
- "x-contract-version": "0.5.29"
68
+ "x-contract-version": "0.5.30"
69
69
  }
@@ -86,5 +86,5 @@
86
86
  ],
87
87
  "title": "WarmingError",
88
88
  "type": "object",
89
- "x-contract-version": "0.5.29"
89
+ "x-contract-version": "0.5.30"
90
90
  }
@@ -1,16 +0,0 @@
1
- """The cards a benchmark machine may run on, defined once here: the SDK refuses any other before a benchmark registers
2
- (and `seq validate` offline, so the list is a constant, not a read), the gateway at registration and at an eval, and
3
- the harness at the machine it starts - one list where each kept its own.
4
-
5
-
6
- Both cards have RT cores, video encoders, EGL and Vulkan, so a benchmark only picks cheaper or faster; one that names a
7
- card simulates on it (registration checks). CPU physics is the author's explicit choice, gpu="cpu": CPU machines, one
8
- environment per core
9
- .
10
- """
11
-
12
- BENCHMARK_GPUS = ("L4", "RTX-PRO-6000")
13
-
14
- DEFAULT_BENCHMARK_GPU = "L4"
15
-
16
- BENCHMARK_CPU = "cpu"
File without changes