sequence-base 0.3.1__tar.gz → 0.3.2__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.
- {sequence_base-0.3.1 → sequence_base-0.3.2}/PKG-INFO +1 -1
- {sequence_base-0.3.1 → sequence_base-0.3.2}/pyproject.toml +1 -1
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/__init__.py +1 -1
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/contract/deployments.py +28 -1
- {sequence_base-0.3.1 → sequence_base-0.3.2}/tests/test_contracts.py +32 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/.github/workflows/ci.yml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/.gitignore +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/README.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/README.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/REVIEW.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/START.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/accounts.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/billing.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/build/BUILD_LOG.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/build/goal_sha256.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/build/gs-build-wave.js +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/build/gs-spec-goals.js +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/container.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/contracts.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/deploy/PLAN.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/deploy/PROD_REORG.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/deploy/SCHEMA_COMPAT.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/deploy/archive/sequences-gw.genseq-506918.20261001.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/eval.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/gateway.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/A1.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/A2.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/A3.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/C1.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/C2.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/C3.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/C4.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/C5.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/G1.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/G2.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/G3.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/G4.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/G5.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/O1.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/O2.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/O3.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/O4.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/O5.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/R1.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/R2.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/R3.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/S1.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/S2.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/S3.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/S4.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/S5.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/S6.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/V1-storage.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/V2-user-quotas.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/W0.1.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/goals/W0.2.yaml +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/README.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/architecture.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/connect.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/cost.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/custom-domain.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/debugging.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/goals.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/limits.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/plan.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/white-label.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/modal/wiring.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/observability.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/references.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/docs/platform/sdk.md +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/auth.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/codec/__init__.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/codec/image.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/codec/resize.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/constants/__init__.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/constants/env.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/constants/headers.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/constants/version.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/contract/__init__.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/contract/accounts.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/contract/act.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/contract/benchmarks.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/contract/connect.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/contract/errors.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/contract/eval.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/contract/flags.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/contract/policy.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/errors/__init__.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/errors/transport.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/obs/__init__.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/obs/log.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/obs/rid.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schema_export.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ActionChunk.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ActionContract.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ActionStep.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/AdapterTransform.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Autoscaler.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/BenchmarkRegisterRequest.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/BenchmarkSpec.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/BenchmarkStatusResponse.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/BootstrapResponse.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ClampInfo.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/CodeBundle.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Concurrency.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Conditions.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ConnectRequest.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ConnectResponse.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/DeploymentAccepted.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/DeploymentPolicy.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/DeploymentRequest.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/DeploymentStatusResponse.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ErrorBody.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Estimate.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/EvalDryRunResponse.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/EvalReport.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/EvalRequest.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/EvalResponse.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ImageFrame.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ImageSpec.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ImageStepApt.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ImageStepEnv.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ImageStepRun.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/ImageStepUvPip.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Lease.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/LossyTransform.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/MetricAgg.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Observation.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/PolicyRegistration.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/PolicySpec.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Proprioception.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/RenderSpec.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Resources.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/RolloutResult.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/SecretCreateRequest.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/SecretInfo.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/SecretRef.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/SeqFlags.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Step.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/SuiteAgg.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/TaskAgg.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Timeouts.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/UsageReport.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/Variant.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/VolumeAttach.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/VolumeMount.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/VolumeRef.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/WarmingError.json +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/telemetry/__init__.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/telemetry/events.py +0 -0
- {sequence_base-0.3.1 → sequence_base-0.3.2}/tests/test_codec_roundtrip.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: sequence-base
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
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
|
Requires-Python: >=3.11
|
|
6
6
|
Requires-Dist: pydantic>=2.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sequence-base"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.2"
|
|
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.11"
|
|
6
6
|
dependencies = ["pydantic>=2.0"]
|
|
@@ -14,10 +14,11 @@ from __future__ import annotations
|
|
|
14
14
|
import base64
|
|
15
15
|
import binascii
|
|
16
16
|
import hashlib
|
|
17
|
+
import re
|
|
17
18
|
from enum import Enum
|
|
18
19
|
from typing import Literal
|
|
19
20
|
|
|
20
|
-
from pydantic import BaseModel, ConfigDict, Field, model_validator
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
|
|
21
22
|
|
|
22
23
|
from sequence_base.contract.accounts import SecretRef
|
|
23
24
|
from sequence_base.contract.policy import (
|
|
@@ -168,6 +169,32 @@ class DeploymentRequest(BaseModel):
|
|
|
168
169
|
concurrency: Concurrency = Field(default_factory=lambda: Concurrency(max_inputs=1, target_inputs=1))
|
|
169
170
|
timeouts: Timeouts | None = None
|
|
170
171
|
|
|
172
|
+
@field_validator("name")
|
|
173
|
+
@classmethod
|
|
174
|
+
def _name_is_a_slug(cls, v: str) -> str:
|
|
175
|
+
"""The name is how a robot addresses the model (`connect(model=name)`) and how the console lists it, so
|
|
176
|
+
it is a slug: letters, digits, `.`, `_`, `-`, starting with a letter or digit, at most 64 characters.
|
|
177
|
+
A raw POST once registered "hfcheck-missing hf://nobody/x" — a space, a scheme and a slash in a name.
|
|
178
|
+
{LIVE 2026-10-02: THREE DEPLOYMENTS NAMED "<SLUG> HF://…" WERE ACCEPTED 202 WITH AN EMPTY WEIGHTS URI}"""
|
|
179
|
+
if not _NAME.fullmatch(v):
|
|
180
|
+
raise ValueError("name must be 1-64 letters, digits, '.', '_' or '-', starting with a letter or digit")
|
|
181
|
+
return v
|
|
182
|
+
|
|
183
|
+
@model_validator(mode="after")
|
|
184
|
+
def _weights_have_an_origin(self) -> "DeploymentRequest":
|
|
185
|
+
"""The checkpoint the build provisions: a gs:// prefix or an hf:// repo, never empty. PolicySpec already
|
|
186
|
+
enforces this for SDK-authored deploys; this holds it for a body POSTed by anything else."""
|
|
187
|
+
uri = self.weights.uri.strip()
|
|
188
|
+
if not any(uri.startswith(s) and len(uri) > len(s) for s in _WEIGHTS_SCHEMES):
|
|
189
|
+
raise ValueError("weights.uri must be a gs://bucket/prefix or an hf://org/model checkpoint")
|
|
190
|
+
return self
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
# A deployment name: what `connect(model=...)` and the console address. {DeploymentRequest._name_is_a_slug}
|
|
194
|
+
_NAME = re.compile(r"[A-Za-z0-9][A-Za-z0-9._-]{0,63}")
|
|
195
|
+
# The origins the build knows how to provision weights from.
|
|
196
|
+
_WEIGHTS_SCHEMES = ("gs://", "hf://")
|
|
197
|
+
|
|
171
198
|
|
|
172
199
|
class DeploymentAccepted(BaseModel):
|
|
173
200
|
"""202 — the build is async; the id comes back first, status pinned to `building`."""
|
|
@@ -631,3 +631,35 @@ def test_code_bundle_rejects_tampering_bad_base64_and_oversize():
|
|
|
631
631
|
def test_deploy_body_without_code_is_still_valid():
|
|
632
632
|
# A handler installed by the image itself needs no bundle.
|
|
633
633
|
assert INSTANCES["DeploymentRequest"].code is None
|
|
634
|
+
|
|
635
|
+
|
|
636
|
+
# ── a POSTed deployment is held to what the SDK already guarantees ───────────────────────────────────────
|
|
637
|
+
def _deploy_body(**over):
|
|
638
|
+
body = {"name": "pi05-droid", "image": {"base": "python:3.11-slim"},
|
|
639
|
+
"weights": {"uri": "gs://bkt/ckpt", "mount": "/data"},
|
|
640
|
+
"resources": {"gpu": ["L4"], "cpu": 4, "memory_gb": 16},
|
|
641
|
+
"policy": {"handler_ref": "p:P", "action": {"robot": "r", "action_space": "joint_delta",
|
|
642
|
+
"action_dim": 8, "control_frequency_hz": 15.0}}}
|
|
643
|
+
body.update(over)
|
|
644
|
+
return body
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
@pytest.mark.parametrize("name", ["Pi05Droid", "pi05-droid", "my_policy.v2", "a"])
|
|
648
|
+
def test_a_deployment_name_is_a_slug(name):
|
|
649
|
+
from sequence_base import DeploymentRequest
|
|
650
|
+
assert DeploymentRequest.model_validate(_deploy_body(name=name)).name == name
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
@pytest.mark.parametrize("name", ["hfcheck-missing hf://nobody/x", "", "-lead", "a/b", "x" * 65, "na me"])
|
|
654
|
+
def test_a_name_with_spaces_slashes_or_schemes_is_refused(name):
|
|
655
|
+
"""{LIVE 2026-10-02: "HFCHECK-MISSING HF://…" WAS ACCEPTED AS A DEPLOYMENT NAME}"""
|
|
656
|
+
from sequence_base import DeploymentRequest
|
|
657
|
+
with pytest.raises(ValueError):
|
|
658
|
+
DeploymentRequest.model_validate(_deploy_body(name=name))
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
@pytest.mark.parametrize("uri", ["", " ", "gs://", "hf://", "s3://bkt/x", "/local/path"])
|
|
662
|
+
def test_weights_need_a_gs_or_hf_origin(uri):
|
|
663
|
+
from sequence_base import DeploymentRequest
|
|
664
|
+
with pytest.raises(ValueError):
|
|
665
|
+
DeploymentRequest.model_validate(_deploy_body(weights={"uri": uri, "mount": "/data"}))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/BenchmarkRegisterRequest.json
RENAMED
|
File without changes
|
|
File without changes
|
{sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/BenchmarkStatusResponse.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sequence_base-0.3.1 → sequence_base-0.3.2}/sequence_base/schemas/DeploymentStatusResponse.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|