pipelex-api 0.91.0__tar.gz → 0.92.0__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.91.0 → pipelex_api-0.92.0}/PKG-INFO +2 -2
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/pipeline.py +12 -6
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/.gitignore +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/LICENSE +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/README.md +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/hatch_build.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/__init__.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/api.toml +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/api_config.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/blob_store.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/blob_upload.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/bundle.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/bundle_resources.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/exception_handlers.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/exceptions.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/json_body.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/limits.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/main.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/method_cache.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/method_source.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/method_tree_request.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/middleware.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/openapi_responses.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/openapi_schema.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/problem_document.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/problem_view.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/py.typed +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/request_refusals.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/__init__.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/blob_upload.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/health.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/__init__.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/agent/__init__.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/agent/models.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/blobs.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/codegen.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/crate_ops.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/method_selection.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/pipe_io.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/resolve.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/tools.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/utils.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/pipelex/validate.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/routes/version.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/run_extras_binding.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/schemas/__init__.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/schemas/models.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pipelex_api/security.py +0 -0
- {pipelex_api-0.91.0 → pipelex_api-0.92.0}/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: pipelex-api
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.92.0
|
|
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.
|
|
19
|
+
Requires-Dist: pipelex[anthropic,bedrock,fal,google,google-genai,mistralai]==0.92.0
|
|
20
20
|
Requires-Dist: pyjwt>=2.10.1
|
|
21
21
|
Requires-Dist: uvicorn>=0.37.0
|
|
22
22
|
Provides-Extra: dev
|
|
@@ -590,9 +590,14 @@ class ApiRunner(PipelexMTHDSProtocol):
|
|
|
590
590
|
and it is made through `tree_listing`, which the caller hands to the request's load, so the load reads the trees
|
|
591
591
|
checked here without listing them again.
|
|
592
592
|
|
|
593
|
+
A refusal of the method is the invalid verdict the load of the same directories gives, through the one translation
|
|
594
|
+
the run path's load uses (`translate_to_validate_bundle_error`): a `method.invalid` problem whose items each keep
|
|
595
|
+
their own code, a `method.dependency_missing` or a `method.package_invalid` located at `requirements.txt` and at the
|
|
596
|
+
line refused. A run answers it as a 422, and a validation as its invalid verdict.
|
|
597
|
+
|
|
593
598
|
Raises:
|
|
594
|
-
|
|
595
|
-
|
|
599
|
+
ValidateBundleError: The method's requirements.txt holds a line the standard refuses, or the PipeFunc
|
|
600
|
+
environment does not meet the method's requirements, or the deployment refuses them with its own reason.
|
|
596
601
|
HostLibraryTreeError: A directory of the request could not be listed as a method tree.
|
|
597
602
|
PipeFuncPackageSetUnstatedError: The deployment states no package set for its PipeFunc sandbox.
|
|
598
603
|
"""
|
|
@@ -601,7 +606,9 @@ class ApiRunner(PipelexMTHDSProtocol):
|
|
|
601
606
|
library_dirs = [Path(library_dir) for library_dir in self.library_dirs]
|
|
602
607
|
# In the method-load pool, whose cancellation waits for the check to end: the directories it lists are removed
|
|
603
608
|
# when the request's scope exits, which a client disconnect can make happen while the check still hashes them.
|
|
604
|
-
|
|
609
|
+
# The directories are the caller's (`library_dirs_are_callers`), so their refusal is translated as their load's is.
|
|
610
|
+
with translate_to_validate_bundle_error():
|
|
611
|
+
await run_method_load(ensure_served_method_requirements_met, library_dirs=library_dirs, tree_listing=tree_listing)
|
|
605
612
|
|
|
606
613
|
async def validate_verdict(
|
|
607
614
|
self,
|
|
@@ -668,11 +675,10 @@ class ApiRunner(PipelexMTHDSProtocol):
|
|
|
668
675
|
# its PipeFunc steps run with, before any dispatch, so a refusal reaches the caller whichever validator runs. A
|
|
669
676
|
# worker a method tree's validation is dispatched to never reads these directories: it receives the method's
|
|
670
677
|
# trees through its method file store and judges their requirements again as it loads them. A refusal is the
|
|
671
|
-
# method's invalid verdict,
|
|
678
|
+
# method's invalid verdict, the same one a run of it is refused with before its files load.
|
|
672
679
|
tree_listing = MethodTreeListing()
|
|
673
680
|
try:
|
|
674
|
-
|
|
675
|
-
await self._ensure_served_method_requirements_met(tree_listing=tree_listing)
|
|
681
|
+
await self._ensure_served_method_requirements_met(tree_listing=tree_listing)
|
|
676
682
|
except ValidateBundleError as invalid_method:
|
|
677
683
|
return BundleValidationFailure(
|
|
678
684
|
problem=invalid_method.to_problem(view=ProblemView.OPERATOR),
|
|
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
|