fal 1.8.4__tar.gz → 1.9.1__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.
Potentially problematic release.
This version of fal might be problematic. Click here for more details.
- {fal-1.8.4/fal.egg-info → fal-1.9.1}/PKG-INFO +3 -3
- {fal-1.8.4 → fal-1.9.1/fal.egg-info}/PKG-INFO +3 -3
- {fal-1.8.4 → fal-1.9.1}/fal.egg-info/requires.txt +2 -2
- {fal-1.8.4 → fal-1.9.1}/pyproject.toml +2 -2
- {fal-1.8.4 → fal-1.9.1}/src/fal/_fal_version.py +2 -2
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/apps.py +27 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/sdk.py +7 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/file/file.py +13 -9
- {fal-1.8.4 → fal-1.9.1}/.gitignore +0 -0
- {fal-1.8.4 → fal-1.9.1}/Makefile +0 -0
- {fal-1.8.4 → fal-1.9.1}/README.md +0 -0
- {fal-1.8.4 → fal-1.9.1}/docs/conf.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/docs/index.rst +0 -0
- {fal-1.8.4 → fal-1.9.1}/fal.egg-info/SOURCES.txt +0 -0
- {fal-1.8.4 → fal-1.9.1}/fal.egg-info/dependency_links.txt +0 -0
- {fal-1.8.4 → fal-1.9.1}/fal.egg-info/entry_points.txt +0 -0
- {fal-1.8.4 → fal-1.9.1}/fal.egg-info/top_level.txt +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/README.md +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/applications/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/billing/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/billing/get_user_details.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/create_workflow.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/delete_workflow.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/get_workflow.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/list_user_workflows.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/update_workflow.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/files/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/files/check_dir_hash.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/files/upload_local_file.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/users/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/users/get_current_user.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_workflow.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/get_workflow.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/update_workflow.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/client.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/errors.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/app_metadata_response_app_metadata.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_detail.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_item.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_extra_data.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs_dev_info.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_prompt.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/current_user.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/customer_details.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/hash_check.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/http_validation_error.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/lock_reason.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/page_comfy_workflow_item.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/page_workflow_item.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/team_role.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow_update.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow_update.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/user_member.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/validation_error.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_item.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_node.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_node_type.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_input.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/py.typed +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/types.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/pyproject.toml +0 -0
- {fal-1.8.4 → fal-1.9.1}/openapi_rest.config.yaml +0 -0
- {fal-1.8.4 → fal-1.9.1}/setup.cfg +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/__main__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/_serialization.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/_version.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/api.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/app.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/apps.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/auth/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/auth/auth0.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/auth/local.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/_utils.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/auth.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/create.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/debug.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/deploy.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/doctor.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/keys.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/main.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/parser.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/run.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/runners.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/cli/secrets.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/config.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/console/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/console/icons.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/console/ux.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/container.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/exceptions/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/exceptions/_base.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/exceptions/_cuda.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/exceptions/auth.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/files.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/flags.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/logging/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/logging/isolate.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/logging/style.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/logging/trace.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/logging/user.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/py.typed +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/rest_client.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/sync.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/exceptions.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/file/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/file/providers/fal.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/file/providers/gcp.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/file/providers/r2.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/file/providers/s3.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/file/types.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/image/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/image/image.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/image/nsfw_filter/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/image/nsfw_filter/env.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/image/nsfw_filter/inference.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/image/nsfw_filter/model.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/image/nsfw_filter/requirements.txt +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/image/safety_checker.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/optimize.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/types.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/utils/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/utils/download_utils.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/toolkit/utils/retry.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/utils.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/src/fal/workflows.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/assets/cat.png +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/cli/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/cli/test_apps.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/cli/test_auth.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/cli/test_deploy.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/cli/test_keys.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/cli/test_run.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/cli/test_secrets.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/conftest.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/integration_test.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/mainify_package/__init__.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/mainify_package/impl.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/mainify_package/utils.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/mainify_target.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/test_apps.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/test_stability.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/toolkit/file_test.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/toolkit/image_test.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/toolkit/test_types.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tests/toolkit/utils/retry.py +0 -0
- {fal-1.8.4 → fal-1.9.1}/tools/demo_script.py +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: fal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.9.1
|
|
4
4
|
Summary: fal is an easy-to-use Serverless Python Framework
|
|
5
5
|
Author: Features & Labels <support@fal.ai>
|
|
6
6
|
Requires-Python: >=3.8
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
|
-
Requires-Dist: isolate[build]<0.
|
|
8
|
+
Requires-Dist: isolate[build]<0.17.0,>=0.16.1
|
|
9
9
|
Requires-Dist: isolate-proto<0.7.0,>=0.6.6
|
|
10
10
|
Requires-Dist: grpcio==1.64.0
|
|
11
11
|
Requires-Dist: dill==0.3.7
|
|
@@ -39,7 +39,7 @@ Requires-Dist: uvicorn<1,>=0.29.0
|
|
|
39
39
|
Requires-Dist: cookiecutter
|
|
40
40
|
Requires-Dist: tomli
|
|
41
41
|
Provides-Extra: docs
|
|
42
|
-
Requires-Dist: sphinx; extra == "docs"
|
|
42
|
+
Requires-Dist: sphinx<8.2.0; extra == "docs"
|
|
43
43
|
Requires-Dist: sphinx-rtd-theme; extra == "docs"
|
|
44
44
|
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
|
|
45
45
|
Provides-Extra: test
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: fal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.9.1
|
|
4
4
|
Summary: fal is an easy-to-use Serverless Python Framework
|
|
5
5
|
Author: Features & Labels <support@fal.ai>
|
|
6
6
|
Requires-Python: >=3.8
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
|
-
Requires-Dist: isolate[build]<0.
|
|
8
|
+
Requires-Dist: isolate[build]<0.17.0,>=0.16.1
|
|
9
9
|
Requires-Dist: isolate-proto<0.7.0,>=0.6.6
|
|
10
10
|
Requires-Dist: grpcio==1.64.0
|
|
11
11
|
Requires-Dist: dill==0.3.7
|
|
@@ -39,7 +39,7 @@ Requires-Dist: uvicorn<1,>=0.29.0
|
|
|
39
39
|
Requires-Dist: cookiecutter
|
|
40
40
|
Requires-Dist: tomli
|
|
41
41
|
Provides-Extra: docs
|
|
42
|
-
Requires-Dist: sphinx; extra == "docs"
|
|
42
|
+
Requires-Dist: sphinx<8.2.0; extra == "docs"
|
|
43
43
|
Requires-Dist: sphinx-rtd-theme; extra == "docs"
|
|
44
44
|
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
|
|
45
45
|
Provides-Extra: test
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
isolate[build]<0.
|
|
1
|
+
isolate[build]<0.17.0,>=0.16.1
|
|
2
2
|
isolate-proto<0.7.0,>=0.6.6
|
|
3
3
|
grpcio==1.64.0
|
|
4
4
|
dill==0.3.7
|
|
@@ -39,7 +39,7 @@ fal[docs,test]
|
|
|
39
39
|
openapi-python-client<1,>=0.14.1
|
|
40
40
|
|
|
41
41
|
[docs]
|
|
42
|
-
sphinx
|
|
42
|
+
sphinx<8.2.0
|
|
43
43
|
sphinx-rtd-theme
|
|
44
44
|
sphinx-autodoc-typehints
|
|
45
45
|
|
|
@@ -22,7 +22,7 @@ authors = [{ name = "Features & Labels <support@fal.ai>"}]
|
|
|
22
22
|
readme = "README.md"
|
|
23
23
|
requires-python = ">=3.8"
|
|
24
24
|
dependencies = [
|
|
25
|
-
"isolate[build]>=0.
|
|
25
|
+
"isolate[build]>=0.16.1,<0.17.0",
|
|
26
26
|
"isolate-proto>=0.6.6,<0.7.0",
|
|
27
27
|
"grpcio==1.64.0",
|
|
28
28
|
"dill==0.3.7",
|
|
@@ -62,7 +62,7 @@ dependencies = [
|
|
|
62
62
|
|
|
63
63
|
[project.optional-dependencies]
|
|
64
64
|
docs = [
|
|
65
|
-
"sphinx",
|
|
65
|
+
"sphinx<8.2.0",
|
|
66
66
|
"sphinx-rtd-theme",
|
|
67
67
|
"sphinx-autodoc-typehints",
|
|
68
68
|
]
|
|
@@ -128,6 +128,7 @@ def _scale(args):
|
|
|
128
128
|
and args.min_concurrency is None
|
|
129
129
|
and args.request_timeout is None
|
|
130
130
|
and args.startup_timeout is None
|
|
131
|
+
and args.machine_types is None
|
|
131
132
|
):
|
|
132
133
|
args.console.log("No parameters for update were provided, ignoring.")
|
|
133
134
|
return
|
|
@@ -140,6 +141,7 @@ def _scale(args):
|
|
|
140
141
|
min_concurrency=args.min_concurrency,
|
|
141
142
|
request_timeout=args.request_timeout,
|
|
142
143
|
startup_timeout=args.startup_timeout,
|
|
144
|
+
machine_types=args.machine_types,
|
|
143
145
|
)
|
|
144
146
|
table = _apps_table([alias_info])
|
|
145
147
|
|
|
@@ -188,6 +190,13 @@ def _add_scale_parser(subparsers, parents):
|
|
|
188
190
|
type=int,
|
|
189
191
|
help="Startup timeout (seconds).",
|
|
190
192
|
)
|
|
193
|
+
parser.add_argument(
|
|
194
|
+
"--machine-type",
|
|
195
|
+
type=str,
|
|
196
|
+
action="append",
|
|
197
|
+
dest="machine_types",
|
|
198
|
+
help="Machine type.",
|
|
199
|
+
)
|
|
191
200
|
parser.set_defaults(func=_scale)
|
|
192
201
|
|
|
193
202
|
|
|
@@ -255,6 +264,24 @@ def _runners(args):
|
|
|
255
264
|
|
|
256
265
|
args.console.print(table)
|
|
257
266
|
|
|
267
|
+
requests_table = Table()
|
|
268
|
+
requests_table.add_column("Runner ID")
|
|
269
|
+
requests_table.add_column("Request ID")
|
|
270
|
+
requests_table.add_column("Caller ID")
|
|
271
|
+
|
|
272
|
+
for runner in runners:
|
|
273
|
+
for lease in runner.external_metadata.get("leases", []):
|
|
274
|
+
if not (req_id := lease.get("request_id")):
|
|
275
|
+
continue
|
|
276
|
+
|
|
277
|
+
requests_table.add_row(
|
|
278
|
+
runner.runner_id,
|
|
279
|
+
req_id,
|
|
280
|
+
lease.get("caller_user_id") or "",
|
|
281
|
+
)
|
|
282
|
+
|
|
283
|
+
args.console.print(requests_table)
|
|
284
|
+
|
|
258
285
|
|
|
259
286
|
def _add_runners_parser(subparsers, parents):
|
|
260
287
|
runners_help = "List application runners."
|
|
@@ -11,6 +11,7 @@ import grpc
|
|
|
11
11
|
import isolate_proto
|
|
12
12
|
from isolate.connections.common import is_agent
|
|
13
13
|
from isolate.logs import Log
|
|
14
|
+
from isolate.server import definitions as worker_definitions
|
|
14
15
|
from isolate.server.interface import from_grpc, to_serialized_object, to_struct
|
|
15
16
|
from isolate_proto.configuration import GRPC_OPTIONS
|
|
16
17
|
|
|
@@ -222,6 +223,7 @@ class RunnerInfo:
|
|
|
222
223
|
in_flight_requests: int
|
|
223
224
|
expiration_countdown: Optional[int]
|
|
224
225
|
uptime: timedelta
|
|
226
|
+
external_metadata: dict[str, Any]
|
|
225
227
|
|
|
226
228
|
|
|
227
229
|
@dataclass
|
|
@@ -353,6 +355,7 @@ def _from_grpc_alias_info(message: isolate_proto.AliasInfo) -> AliasInfo:
|
|
|
353
355
|
|
|
354
356
|
@from_grpc.register(isolate_proto.RunnerInfo)
|
|
355
357
|
def _from_grpc_runner_info(message: isolate_proto.RunnerInfo) -> RunnerInfo:
|
|
358
|
+
external_metadata = worker_definitions.struct_to_dict(message.external_metadata)
|
|
356
359
|
return RunnerInfo(
|
|
357
360
|
runner_id=message.runner_id,
|
|
358
361
|
in_flight_requests=message.in_flight_requests,
|
|
@@ -360,6 +363,7 @@ def _from_grpc_runner_info(message: isolate_proto.RunnerInfo) -> RunnerInfo:
|
|
|
360
363
|
if message.HasField("expiration_countdown")
|
|
361
364
|
else None,
|
|
362
365
|
uptime=timedelta(seconds=message.uptime),
|
|
366
|
+
external_metadata=external_metadata,
|
|
363
367
|
)
|
|
364
368
|
|
|
365
369
|
|
|
@@ -578,7 +582,9 @@ class FalServerlessConnection:
|
|
|
578
582
|
min_concurrency: int | None = None,
|
|
579
583
|
request_timeout: int | None = None,
|
|
580
584
|
startup_timeout: int | None = None,
|
|
585
|
+
machine_types: list[str] | None = None,
|
|
581
586
|
) -> AliasInfo:
|
|
587
|
+
print(machine_types)
|
|
582
588
|
request = isolate_proto.UpdateApplicationRequest(
|
|
583
589
|
application_name=application_name,
|
|
584
590
|
keep_alive=keep_alive,
|
|
@@ -587,6 +593,7 @@ class FalServerlessConnection:
|
|
|
587
593
|
min_concurrency=min_concurrency,
|
|
588
594
|
request_timeout=request_timeout,
|
|
589
595
|
startup_timeout=startup_timeout,
|
|
596
|
+
machine_types=machine_types,
|
|
590
597
|
)
|
|
591
598
|
res: isolate_proto.UpdateApplicationResult = self.stub.UpdateApplication(
|
|
592
599
|
request
|
|
@@ -156,6 +156,9 @@ class File(BaseModel):
|
|
|
156
156
|
save_kwargs.setdefault(
|
|
157
157
|
"object_lifecycle_preference", object_lifecycle_preference
|
|
158
158
|
)
|
|
159
|
+
fallback_save_kwargs.setdefault(
|
|
160
|
+
"object_lifecycle_preference", object_lifecycle_preference
|
|
161
|
+
)
|
|
159
162
|
|
|
160
163
|
try:
|
|
161
164
|
url = repo.save(fdata, **save_kwargs)
|
|
@@ -165,11 +168,7 @@ class File(BaseModel):
|
|
|
165
168
|
|
|
166
169
|
fallback_repo = get_builtin_repository(fallback_repository)
|
|
167
170
|
|
|
168
|
-
url = fallback_repo.save(
|
|
169
|
-
fdata,
|
|
170
|
-
object_lifecycle_preference=object_lifecycle_preference,
|
|
171
|
-
**fallback_save_kwargs,
|
|
172
|
-
)
|
|
171
|
+
url = fallback_repo.save(fdata, **fallback_save_kwargs)
|
|
173
172
|
|
|
174
173
|
return cls(
|
|
175
174
|
url=url,
|
|
@@ -206,13 +205,20 @@ class File(BaseModel):
|
|
|
206
205
|
object_lifecycle_preference = (
|
|
207
206
|
request_lifecycle_preference(request) or LIFECYCLE_PREFERENCE.get()
|
|
208
207
|
)
|
|
208
|
+
save_kwargs.setdefault(
|
|
209
|
+
"object_lifecycle_preference", object_lifecycle_preference
|
|
210
|
+
)
|
|
211
|
+
fallback_save_kwargs.setdefault(
|
|
212
|
+
"object_lifecycle_preference", object_lifecycle_preference
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
save_kwargs.setdefault("multipart", multipart)
|
|
216
|
+
fallback_save_kwargs.setdefault("multipart", multipart)
|
|
209
217
|
|
|
210
218
|
try:
|
|
211
219
|
url, data = repo.save_file(
|
|
212
220
|
file_path,
|
|
213
221
|
content_type=content_type,
|
|
214
|
-
multipart=multipart,
|
|
215
|
-
object_lifecycle_preference=object_lifecycle_preference,
|
|
216
222
|
**save_kwargs,
|
|
217
223
|
)
|
|
218
224
|
except Exception:
|
|
@@ -224,8 +230,6 @@ class File(BaseModel):
|
|
|
224
230
|
url, data = fallback_repo.save_file(
|
|
225
231
|
file_path,
|
|
226
232
|
content_type=content_type,
|
|
227
|
-
multipart=multipart,
|
|
228
|
-
object_lifecycle_preference=object_lifecycle_preference,
|
|
229
233
|
**fallback_save_kwargs,
|
|
230
234
|
)
|
|
231
235
|
|
|
File without changes
|
{fal-1.8.4 → fal-1.9.1}/Makefile
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
|
{fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py
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
|
{fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_extra_data.py
RENAMED
|
File without changes
|
{fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs.py
RENAMED
|
File without changes
|
|
File without changes
|
{fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_prompt.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/page_comfy_workflow_item.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow_update.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py
RENAMED
|
File without changes
|
|
File without changes
|
{fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py
RENAMED
|
File without changes
|
|
File without changes
|
{fal-1.8.4 → fal-1.9.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents.py
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
|
|
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
|