fal 1.30.1__tar.gz → 1.32.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.
Potentially problematic release.
This version of fal might be problematic. Click here for more details.
- {fal-1.30.1/fal.egg-info → fal-1.32.0}/PKG-INFO +1 -1
- {fal-1.30.1 → fal-1.32.0/fal.egg-info}/PKG-INFO +1 -1
- {fal-1.30.1 → fal-1.32.0}/src/fal/_fal_version.py +2 -2
- {fal-1.30.1 → fal-1.32.0}/src/fal/api.py +20 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/app.py +1 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/files.py +18 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/files.py +14 -0
- {fal-1.30.1 → fal-1.32.0}/.gitignore +0 -0
- {fal-1.30.1 → fal-1.32.0}/Makefile +0 -0
- {fal-1.30.1 → fal-1.32.0}/README.md +0 -0
- {fal-1.30.1 → fal-1.32.0}/docs/conf.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/docs/index.rst +0 -0
- {fal-1.30.1 → fal-1.32.0}/fal.egg-info/SOURCES.txt +0 -0
- {fal-1.30.1 → fal-1.32.0}/fal.egg-info/dependency_links.txt +0 -0
- {fal-1.30.1 → fal-1.32.0}/fal.egg-info/entry_points.txt +0 -0
- {fal-1.30.1 → fal-1.32.0}/fal.egg-info/requires.txt +0 -0
- {fal-1.30.1 → fal-1.32.0}/fal.egg-info/top_level.txt +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/README.md +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/applications/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/billing/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/billing/get_user_details.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/create_workflow.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/delete_workflow.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/get_workflow.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/list_user_workflows.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/update_workflow.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/files/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/files/check_dir_hash.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/files/upload_local_file.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/users/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/users/get_current_user.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_workflow.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/get_workflow.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/update_workflow.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/client.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/errors.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/app_metadata_response_app_metadata.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_detail.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_item.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_extra_data.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs_dev_info.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_prompt.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/current_user.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/customer_details.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/hash_check.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/http_validation_error.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/lock_reason.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/page_comfy_workflow_item.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/page_workflow_item.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/team_role.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow_update.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow_update.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/user_member.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/validation_error.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_item.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_node.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_node_type.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_input.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/py.typed +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/types.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/pyproject.toml +0 -0
- {fal-1.30.1 → fal-1.32.0}/openapi_rest.config.yaml +0 -0
- {fal-1.30.1 → fal-1.32.0}/pyproject.toml +0 -0
- {fal-1.30.1 → fal-1.32.0}/setup.cfg +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/__main__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/_serialization.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/_version.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/apps.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/auth/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/auth/auth0.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/auth/local.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/_utils.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/api.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/apps.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/auth.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/cli_nested_json.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/create.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/debug.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/deploy.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/doctor.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/keys.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/main.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/parser.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/profile.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/run.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/runners.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/secrets.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/cli/teams.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/config.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/console/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/console/icons.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/console/ux.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/container.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/exceptions/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/exceptions/_base.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/exceptions/_cuda.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/exceptions/auth.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/flags.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/logging/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/logging/isolate.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/logging/style.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/logging/trace.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/logging/user.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/project.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/py.typed +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/rest_client.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/sdk.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/sync.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/audio/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/audio/audio.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/exceptions.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/file/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/file/file.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/file/providers/fal.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/file/providers/gcp.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/file/providers/r2.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/file/providers/s3.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/file/types.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/image/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/image/image.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/image/nsfw_filter/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/image/nsfw_filter/env.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/image/nsfw_filter/inference.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/image/nsfw_filter/model.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/image/nsfw_filter/requirements.txt +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/image/safety_checker.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/kv.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/optimize.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/types.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/utils/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/utils/download_utils.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/utils/endpoint.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/utils/retry.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/utils/setup_utils.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/video/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/toolkit/video/video.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/utils.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/src/fal/workflows.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/assets/cat.png +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/cli/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/cli/test_apps.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/cli/test_auth.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/cli/test_deploy.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/cli/test_keys.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/cli/test_run.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/cli/test_secrets.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/conftest.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/integration_test.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/mainify_package/__init__.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/mainify_package/impl.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/mainify_package/utils.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/mainify_target.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/test_apps.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/test_files.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/test_kv.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/test_stability.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/toolkit/file/providers/test_fal_retry.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/toolkit/file_test.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/toolkit/image_test.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/toolkit/test_types.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tests/toolkit/utils/retry.py +0 -0
- {fal-1.30.1 → fal-1.32.0}/tools/demo_script.py +0 -0
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.
|
|
32
|
-
__version_tuple__ = version_tuple = (1,
|
|
31
|
+
__version__ = version = '1.32.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 32, 0)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -600,7 +600,27 @@ class FalServerlessHost(Host):
|
|
|
600
600
|
kwargs: dict[str, Any],
|
|
601
601
|
) -> ReturnT:
|
|
602
602
|
def result_handler(partial_result):
|
|
603
|
+
from fal.console import console
|
|
604
|
+
|
|
605
|
+
if service_urls := partial_result.service_urls:
|
|
606
|
+
console.print("Playground:")
|
|
607
|
+
endpoints = getattr(func, "_routes", ["/"]) # type: ignore[attr-defined]
|
|
608
|
+
for endpoint in endpoints:
|
|
609
|
+
console.print(f"\t{service_urls.playground}{endpoint}")
|
|
610
|
+
console.print("Synchronous Endpoints:")
|
|
611
|
+
for endpoint in endpoints:
|
|
612
|
+
console.print(f"\t{service_urls.run}{endpoint}")
|
|
613
|
+
console.print("Asynchronous Endpoints (Recommended):")
|
|
614
|
+
for endpoint in endpoints:
|
|
615
|
+
console.print(f"\t{service_urls.queue}{endpoint}")
|
|
616
|
+
|
|
603
617
|
for log in partial_result.logs:
|
|
618
|
+
if (
|
|
619
|
+
"Access the playground at" in log.message
|
|
620
|
+
or "And API access through" in log.message
|
|
621
|
+
):
|
|
622
|
+
# Obsolete messages from before service_urls were added.
|
|
623
|
+
continue
|
|
604
624
|
self._log_printer.print(log)
|
|
605
625
|
|
|
606
626
|
return self._run(func, options, args, kwargs, result_handler=result_handler)
|
|
@@ -110,6 +110,7 @@ def wrap_app(cls: type[App], **kwargs) -> IsolatedFunction:
|
|
|
110
110
|
metadata["openapi"] = app.openapi()
|
|
111
111
|
|
|
112
112
|
routes = app.collect_routes()
|
|
113
|
+
initialize_and_serve._routes = [r.path for r in routes.keys()] or ["/"] # type: ignore[attr-defined]
|
|
113
114
|
realtime_app = any(route.is_websocket for route in routes)
|
|
114
115
|
|
|
115
116
|
kind = cls.host_kwargs.pop("kind", "virtualenv")
|
|
@@ -35,6 +35,13 @@ def _upload_url(args):
|
|
|
35
35
|
fs.put_file_from_url(args.url, args.remote_path)
|
|
36
36
|
|
|
37
37
|
|
|
38
|
+
def _mv(args):
|
|
39
|
+
from fal.files import FalFileSystem
|
|
40
|
+
|
|
41
|
+
fs = FalFileSystem()
|
|
42
|
+
fs.mv(args.source, args.destination)
|
|
43
|
+
|
|
44
|
+
|
|
38
45
|
def add_parser(main_subparsers, parents):
|
|
39
46
|
files_help = "Manage fal files."
|
|
40
47
|
parser = main_subparsers.add_parser(
|
|
@@ -108,3 +115,14 @@ def add_parser(main_subparsers, parents):
|
|
|
108
115
|
"remote_path", type=str, help="Remote path to upload to"
|
|
109
116
|
)
|
|
110
117
|
upload_url_parser.set_defaults(func=_upload_url)
|
|
118
|
+
|
|
119
|
+
mv_help = "Move or rename a remote file or directory."
|
|
120
|
+
mv_parser = subparsers.add_parser(
|
|
121
|
+
"mv",
|
|
122
|
+
description=mv_help,
|
|
123
|
+
help=mv_help,
|
|
124
|
+
parents=parents,
|
|
125
|
+
)
|
|
126
|
+
mv_parser.add_argument("source", type=str, help="Remote source path")
|
|
127
|
+
mv_parser.add_argument("destination", type=str, help="Remote destination path")
|
|
128
|
+
mv_parser.set_defaults(func=_mv)
|
|
@@ -234,3 +234,17 @@ class FalFileSystem(AbstractFileSystem):
|
|
|
234
234
|
f"/files/file/{abs_path}",
|
|
235
235
|
)
|
|
236
236
|
self.dircache.clear()
|
|
237
|
+
|
|
238
|
+
def rename(self, path, destination, **kwargs):
|
|
239
|
+
abs_path = self._abspath(path)
|
|
240
|
+
abs_dest = self._abspath(destination)
|
|
241
|
+
self._request(
|
|
242
|
+
"POST",
|
|
243
|
+
f"/files/rename/{abs_path}",
|
|
244
|
+
json={"destination": abs_dest},
|
|
245
|
+
)
|
|
246
|
+
self.dircache.clear()
|
|
247
|
+
|
|
248
|
+
def mv(self, path1, path2, recursive=False, maxdepth=None, **kwargs):
|
|
249
|
+
# Delegate to server-side rename
|
|
250
|
+
self.rename(path1, path2)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/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
|
{fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_workflow.py
RENAMED
|
File without changes
|
{fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
{fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py
RENAMED
|
File without changes
|
{fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/update_workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fal-1.30.1 → fal-1.32.0}/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.30.1 → fal-1.32.0}/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.30.1 → fal-1.32.0}/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.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py
RENAMED
|
File without changes
|
{fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py
RENAMED
|
File without changes
|
{fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py
RENAMED
|
File without changes
|
|
File without changes
|
{fal-1.30.1 → fal-1.32.0}/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
|
{fal-1.30.1 → fal-1.32.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|