instance-repo 1.3.2.dev5__tar.gz → 1.3.4__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.
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/PKG-INFO +2 -2
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/__init__.py +5 -1
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/datasets.py +16 -1
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/instances.py +518 -39
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/splits.py +48 -19
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/versions.py +20 -3
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/content.py +38 -2
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/models.py +79 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/repo.py +60 -8
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/store/oss.py +10 -7
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/store/oss_discovery.py +73 -14
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/transport.py +20 -7
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo.egg-info/PKG-INFO +2 -2
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo.egg-info/requires.txt +1 -1
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/pyproject.toml +2 -2
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/README.md +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/_routing.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/_site_defaults.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/artifacts.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/bootstrap.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/cache.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/cli.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/__init__.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/benchmarks.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/config.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/images.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/reports.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/scaffold.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/clients/workflows.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/concurrency.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/endpoints.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/errors.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/image.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/layout.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/loader.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/paths.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/release.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/retry.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/store/__init__.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/store/acr.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/store/base.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/store/registry.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/tasktoml.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo/validate.py +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo.egg-info/SOURCES.txt +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo.egg-info/dependency_links.txt +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo.egg-info/entry_points.txt +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/instance_repo.egg-info/top_level.txt +0 -0
- {instance_repo-1.3.2.dev5 → instance_repo-1.3.4}/setup.cfg +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: instance-repo
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.4
|
|
4
4
|
Summary: InstanceRepo SDK — 评测 Instance 统一存储客户端(SDK-only;控制面由 apiserver 承载)
|
|
5
5
|
Requires-Python: >=3.10
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
|
-
Requires-Dist: irepo-artifact<0.
|
|
7
|
+
Requires-Dist: irepo-artifact<0.3.0,>=0.1.1
|
|
8
8
|
Requires-Dist: tomli>=1.1.0; python_version < "3.11"
|
|
9
9
|
Provides-Extra: oss
|
|
10
10
|
Requires-Dist: oss2>=2.19; extra == "oss"
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
"""
|
|
6
6
|
from .repo import Repo
|
|
7
7
|
from .loader import load_instances
|
|
8
|
+
from .content import compute_source_hash
|
|
8
9
|
from .models import (
|
|
9
10
|
DatasetSeries, DatasetVersion, DatasetInstance, ManifestEntry,
|
|
10
11
|
OwnerReference, Feedback, Identity, PushResult,
|
|
11
12
|
RolloutReport, RolloutJob, ScaffoldConfig,
|
|
13
|
+
DatasetObjectDirectory, DatasetObjectFile, DatasetObjectListResult,
|
|
12
14
|
canonical_json, parse_feedbacks, append_feedback,
|
|
13
15
|
)
|
|
14
16
|
from .errors import (
|
|
@@ -18,14 +20,16 @@ from .errors import (
|
|
|
18
20
|
TransportError,
|
|
19
21
|
)
|
|
20
22
|
|
|
21
|
-
__version__ = "1.3.
|
|
23
|
+
__version__ = "1.3.4"
|
|
22
24
|
|
|
23
25
|
__all__ = [
|
|
24
26
|
"Repo", "load_instances",
|
|
25
27
|
"DatasetSeries", "DatasetVersion", "DatasetInstance", "ManifestEntry",
|
|
26
28
|
"OwnerReference", "Feedback", "Identity", "PushResult",
|
|
27
29
|
"RolloutReport", "RolloutJob", "ScaffoldConfig",
|
|
30
|
+
"DatasetObjectDirectory", "DatasetObjectFile", "DatasetObjectListResult",
|
|
28
31
|
"canonical_json", "parse_feedbacks", "append_feedback",
|
|
32
|
+
"compute_source_hash",
|
|
29
33
|
"InstanceRepoError", "LayoutError", "SchemaError", "OwnerRefMissing",
|
|
30
34
|
"ImageMissing", "Immutable", "DigestMismatch", "Forbidden", "NotVisible",
|
|
31
35
|
"TargetNotAllowed", "NetworkDenied", "CredExpired",
|
|
@@ -160,7 +160,8 @@ class DatasetsClient:
|
|
|
160
160
|
return DatasetDetail.from_dict(data) if isinstance(data, dict) else DatasetDetail()
|
|
161
161
|
except TransportError as e:
|
|
162
162
|
if (e.biz_code == 92001 and fallback_to_oss
|
|
163
|
-
and self._content is not None
|
|
163
|
+
and self._content is not None
|
|
164
|
+
and self._discovery_env_match(environment)):
|
|
164
165
|
return self._discover_detail(name, storage_env=environment,
|
|
165
166
|
metadata_model=metadata_model)
|
|
166
167
|
raise
|
|
@@ -396,6 +397,20 @@ class DatasetsClient:
|
|
|
396
397
|
|
|
397
398
|
# ── OSS fallback discovery (private) ─────────────────────────────────
|
|
398
399
|
|
|
400
|
+
def _discovery_env_match(self, environment: str | None) -> bool:
|
|
401
|
+
"""OSS 回退环境兼容性检查:请求的 environment 须与 profile storage_env 派生环境一致。"""
|
|
402
|
+
req = (environment or "").strip()
|
|
403
|
+
if not req:
|
|
404
|
+
return True
|
|
405
|
+
if self._p is None:
|
|
406
|
+
return True
|
|
407
|
+
from .config import dataset_environment_for
|
|
408
|
+
derived = dataset_environment_for(
|
|
409
|
+
getattr(self._p, "storage_env", ""))
|
|
410
|
+
if not derived:
|
|
411
|
+
return True
|
|
412
|
+
return req == derived
|
|
413
|
+
|
|
399
414
|
def _discover_detail(self, name: str, *,
|
|
400
415
|
storage_env: str | None = None,
|
|
401
416
|
metadata_model: str | None = None) -> DatasetDetail:
|