pipelex-api 0.92.1__tar.gz → 0.92.3__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.
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/PKG-INFO +2 -2
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/method_source.py +4 -1
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/pipeline.py +7 -5
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/schemas/models.py +4 -3
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/.gitignore +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/LICENSE +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/README.md +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/hatch_build.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/__init__.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/api.toml +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/api_config.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/blob_store.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/blob_upload.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/bundle.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/bundle_resources.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/exception_handlers.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/exceptions.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/json_body.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/limits.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/main.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/method_cache.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/method_tree_request.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/middleware.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/openapi_responses.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/openapi_schema.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/problem_document.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/problem_view.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/py.typed +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/request_refusals.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/__init__.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/blob_upload.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/health.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/__init__.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/agent/__init__.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/agent/models.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/blobs.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/codegen.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/crate_ops.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/method_selection.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/pipe_io.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/resolve.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/tools.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/utils.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/pipelex/validate.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/routes/version.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/run_extras_binding.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/schemas/__init__.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pipelex_api/security.py +0 -0
- {pipelex_api-0.92.1 → pipelex_api-0.92.3}/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: pipelex-api
|
|
3
|
-
Version: 0.92.
|
|
3
|
+
Version: 0.92.3
|
|
4
4
|
Summary: Pipelex API
|
|
5
5
|
Project-URL: Homepage, https://pipelex.com
|
|
6
6
|
Project-URL: Repository, https://github.com/Pipelex/pipelex
|
|
@@ -16,7 +16,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.14
|
|
17
17
|
Requires-Python: <3.15,>=3.11
|
|
18
18
|
Requires-Dist: fastapi<0.142,>=0.118.0
|
|
19
|
-
Requires-Dist: pipelex[anthropic,bedrock,fal,google,google-genai,mistralai]==0.92.
|
|
19
|
+
Requires-Dist: pipelex[anthropic,bedrock,fal,google,google-genai,mistralai]==0.92.3
|
|
20
20
|
Requires-Dist: pyjwt>=2.10.1
|
|
21
21
|
Requires-Dist: uvicorn>=0.37.0
|
|
22
22
|
Provides-Extra: dev
|
|
@@ -13,7 +13,8 @@ commit, read from the commit's git objects as stored, with no checkout filter, l
|
|
|
13
13
|
`export-ignore`, so its digest is the same on every machine, and filtered by the membership rule read with that
|
|
14
14
|
commit's own `.gitignore` files and the package's own `exclude` patterns. A submodule contributes no file, and a
|
|
15
15
|
symbolic link committed in the package is refused unless the rule excludes it. The tree's digest is recorded in the
|
|
16
|
-
run's provenance (`method_provenance.tree_digest`), beside the commit
|
|
16
|
+
run's provenance (`method_provenance.tree_digest`), beside the commit and the `display_name` the package's manifest
|
|
17
|
+
declares, which the fetched package's own provenance already carries.
|
|
17
18
|
|
|
18
19
|
The packages a package ships under its own `.mthds/methods/<name>/`, the layout of the local method cache, are out of
|
|
19
20
|
its tree (a dot directory), and each becomes a dependency tree of its own, keyed by the address its manifest declares,
|
|
@@ -291,5 +292,7 @@ def fetched_method(method_ref: str) -> FetchedMethod:
|
|
|
291
292
|
"""
|
|
292
293
|
with _fetched_package(method_ref) as package:
|
|
293
294
|
request_method = _read_package_method(package=package)
|
|
295
|
+
# The package's own provenance already holds the address, the tag, the commit and the manifest's display name;
|
|
296
|
+
# only the digest of the tree this runner read is added here.
|
|
294
297
|
provenance = package.provenance.model_copy(update={"tree_digest": request_method.tree.tree.digest})
|
|
295
298
|
return FetchedMethod(request_method=request_method, package=package, provenance=provenance)
|
|
@@ -1043,8 +1043,9 @@ async def execute(request: Request) -> JSONResponse:
|
|
|
1043
1043
|
# `TokensUsageRecord` wire shape instead (pipelex owns the shape authority).
|
|
1044
1044
|
response_dump = response.model_dump(mode="json", serialize_as_any=True, by_alias=True)
|
|
1045
1045
|
apply_tokens_usage_wire_shape(response_dump, pipe_output=response.pipe_output)
|
|
1046
|
-
# Provenance of a `method_ref` run (address, tag, resolved commit SHA
|
|
1047
|
-
# the run was selected by reference, so the classic response
|
|
1046
|
+
# Provenance of a `method_ref` run (address, tag, resolved commit SHA, tree digest, the manifest's
|
|
1047
|
+
# display name) — attached only when the run was selected by reference, so the classic response
|
|
1048
|
+
# stays byte-identical.
|
|
1048
1049
|
if source.method_provenance is not None:
|
|
1049
1050
|
response_dump["method_provenance"] = source.method_provenance.model_dump(mode="json")
|
|
1050
1051
|
return JSONResponse(content=response_dump)
|
|
@@ -1140,9 +1141,10 @@ async def start(
|
|
|
1140
1141
|
requested_orchestration_mode=extras.orchestration_mode,
|
|
1141
1142
|
callback_problem_view=problem_view_of(request),
|
|
1142
1143
|
)
|
|
1143
|
-
# The ack plus this server's provenance extension: `(address, tag, commit_sha
|
|
1144
|
-
# `method_ref` run, null otherwise — the caller (and, on hosted, the
|
|
1145
|
-
# learns exactly what was fetched
|
|
1144
|
+
# The ack plus this server's provenance extension: `(address, tag, commit_sha, tree_digest,
|
|
1145
|
+
# display_name)` for a `method_ref` run, null otherwise — the caller (and, on hosted, the
|
|
1146
|
+
# platform's Run row) learns exactly what was fetched, at which commit, and what the package
|
|
1147
|
+
# calls itself.
|
|
1146
1148
|
return PipelexApiStartResponse(
|
|
1147
1149
|
**dict(start_result),
|
|
1148
1150
|
method_provenance=source.method_provenance,
|
|
@@ -615,9 +615,10 @@ class PipeOutputWire(PipeOutput):
|
|
|
615
615
|
|
|
616
616
|
_METHOD_PROVENANCE_DESCRIPTION = (
|
|
617
617
|
"PIPELEX-API EXTENSION (not part of the MTHDS Protocol) — provenance of a `method_ref` run: the package's "
|
|
618
|
-
"resolved full address, the requested tag (null for a bare address),
|
|
619
|
-
"fetched
|
|
620
|
-
"
|
|
618
|
+
"resolved full address, the requested tag (null for a bare address), the commit SHA that was actually "
|
|
619
|
+
"fetched, the digest of the method tree the run loaded, and the `display_name` the package's manifest declares "
|
|
620
|
+
"(null when it declares none). The SHA is what keeps the run explainable when a tag moves. Absent (or null) for "
|
|
621
|
+
"runs from inline source or a bundle."
|
|
621
622
|
)
|
|
622
623
|
|
|
623
624
|
|
|
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
|