fal 1.41.0__tar.gz → 1.59.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.
- {fal-1.41.0/fal.egg-info → fal-1.59.0}/PKG-INFO +10 -6
- {fal-1.41.0 → fal-1.59.0}/README.md +1 -1
- {fal-1.41.0 → fal-1.59.0/fal.egg-info}/PKG-INFO +10 -6
- {fal-1.41.0 → fal-1.59.0}/fal.egg-info/SOURCES.txt +37 -23
- {fal-1.41.0 → fal-1.59.0}/fal.egg-info/requires.txt +8 -4
- {fal-1.41.0 → fal-1.59.0}/pyproject.toml +9 -4
- {fal-1.41.0 → fal-1.59.0}/src/fal/__init__.py +2 -1
- {fal-1.41.0 → fal-1.59.0}/src/fal/_fal_version.py +2 -2
- {fal-1.41.0 → fal-1.59.0}/src/fal/_serialization.py +1 -0
- fal-1.59.0/src/fal/api/__init__.py +2 -0
- {fal-1.41.0/src/fal → fal-1.59.0/src/fal/api}/api.py +105 -9
- fal-1.59.0/src/fal/api/apps.py +91 -0
- fal-1.59.0/src/fal/api/client.py +194 -0
- fal-1.59.0/src/fal/api/deploy.py +200 -0
- fal-1.59.0/src/fal/api/keys.py +31 -0
- fal-1.59.0/src/fal/api/runners.py +26 -0
- fal-1.59.0/src/fal/api/secrets.py +29 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/app.py +200 -15
- {fal-1.41.0 → fal-1.59.0}/src/fal/apps.py +1 -1
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/_utils.py +24 -8
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/api.py +4 -2
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/apps.py +121 -62
- fal-1.59.0/src/fal/cli/deploy.py +138 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/files.py +28 -19
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/keys.py +47 -50
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/parser.py +32 -1
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/queue.py +14 -12
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/run.py +17 -8
- fal-1.59.0/src/fal/cli/runners.py +730 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/secrets.py +28 -30
- fal-1.59.0/src/fal/distributed/__init__.py +3 -0
- fal-1.59.0/src/fal/distributed/utils.py +420 -0
- fal-1.59.0/src/fal/distributed/worker.py +791 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/exceptions/__init__.py +2 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/exceptions/_base.py +15 -0
- fal-1.59.0/src/fal/file_sync.py +356 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/files.py +32 -8
- fal-1.59.0/src/fal/flags.py +50 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/logging/__init__.py +0 -5
- {fal-1.41.0 → fal-1.59.0}/src/fal/sdk.py +155 -28
- {fal-1.41.0 → fal-1.59.0}/src/fal/sync.py +22 -12
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/__init__.py +10 -0
- fal-1.59.0/src/fal/toolkit/compilation.py +220 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/file/file.py +10 -9
- fal-1.59.0/src/fal/utils.py +111 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/workflows.py +6 -2
- {fal-1.41.0/tests → fal-1.59.0/tests/e2e}/test_apps.py +229 -24
- fal-1.41.0/tests/integration_test.py → fal-1.59.0/tests/integration/test.py +2 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/integration}/test_stability.py +2 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/unit}/cli/test_apps.py +6 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/unit}/cli/test_deploy.py +179 -33
- fal-1.59.0/tests/unit/cli/test_run.py +221 -0
- fal-1.59.0/tests/unit/distributed/__init__.py +0 -0
- fal-1.59.0/tests/unit/distributed/test_integration.py +66 -0
- fal-1.59.0/tests/unit/distributed/test_utils.py +157 -0
- fal-1.59.0/tests/unit/distributed/test_worker.py +144 -0
- fal-1.59.0/tests/unit/test_app.py +161 -0
- fal-1.59.0/tests/unit/test_file_sync.py +320 -0
- fal-1.59.0/tests/unit/test_utils.py +108 -0
- fal-1.41.0/src/fal/cli/deploy.py +0 -271
- fal-1.41.0/src/fal/cli/runners.py +0 -219
- fal-1.41.0/src/fal/flags.py +0 -36
- fal-1.41.0/src/fal/rest_client.py +0 -25
- fal-1.41.0/src/fal/utils.py +0 -72
- fal-1.41.0/tests/cli/test_run.py +0 -114
- fal-1.41.0/tests/mainify_package/__init__.py +0 -1
- fal-1.41.0/tests/mainify_package/impl.py +0 -8
- fal-1.41.0/tests/mainify_package/utils.py +0 -2
- fal-1.41.0/tests/mainify_target.py +0 -22
- {fal-1.41.0 → fal-1.59.0}/.gitignore +0 -0
- {fal-1.41.0 → fal-1.59.0}/Makefile +0 -0
- {fal-1.41.0 → fal-1.59.0}/docs/conf.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/docs/index.rst +0 -0
- {fal-1.41.0 → fal-1.59.0}/fal.egg-info/dependency_links.txt +0 -0
- {fal-1.41.0 → fal-1.59.0}/fal.egg-info/entry_points.txt +0 -0
- {fal-1.41.0 → fal-1.59.0}/fal.egg-info/top_level.txt +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/README.md +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/applications/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/billing/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/billing/get_user_details.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/create_workflow.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/delete_workflow.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/get_workflow.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/list_user_workflows.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/comfy/update_workflow.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/files/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/files/check_dir_hash.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/files/upload_local_file.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/users/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/users/get_current_user.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_workflow.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/get_workflow.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/api/workflows/update_workflow.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/client.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/errors.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/app_metadata_response_app_metadata.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_detail.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_item.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_extra_data.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs_dev_info.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_prompt.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/current_user.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/customer_details.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/hash_check.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/http_validation_error.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/lock_reason.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/page_comfy_workflow_item.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/page_workflow_item.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/team_role.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow_update.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow_update.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/user_member.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/validation_error.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_item.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_node.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_node_type.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_input.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/py.typed +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/openapi_fal_rest/types.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi-fal-rest/pyproject.toml +0 -0
- {fal-1.41.0 → fal-1.59.0}/openapi_rest.config.yaml +0 -0
- {fal-1.41.0 → fal-1.59.0}/setup.cfg +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/__main__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/_version.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/auth/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/auth/auth0.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/auth/local.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/auth.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/cli_nested_json.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/create.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/debug.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/doctor.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/main.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/profile.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/cli/teams.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/config.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/console/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/console/icons.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/console/ux.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/container.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/exceptions/_cuda.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/exceptions/auth.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/logging/isolate.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/logging/style.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/logging/trace.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/project.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/py.typed +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/audio/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/audio/audio.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/exceptions.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/file/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/file/providers/fal.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/file/providers/gcp.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/file/providers/r2.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/file/providers/s3.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/file/types.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/image/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/image/image.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/image/nsfw_filter/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/image/nsfw_filter/env.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/image/nsfw_filter/inference.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/image/nsfw_filter/model.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/image/nsfw_filter/requirements.txt +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/image/safety_checker.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/kv.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/optimize.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/types.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/utils/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/utils/download_utils.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/utils/endpoint.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/utils/retry.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/utils/setup_utils.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/video/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/src/fal/toolkit/video/video.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/tests/__init__.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/tests/assets/cat.png +0 -0
- {fal-1.41.0 → fal-1.59.0}/tests/conftest.py +0 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/integration}/test_files.py +0 -0
- /fal-1.41.0/tests/toolkit/image_test.py → /fal-1.59.0/tests/integration/toolkit/test_image.py +0 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/integration/toolkit}/test_kv.py +0 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/unit}/cli/__init__.py +0 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/unit}/cli/test_auth.py +0 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/unit}/cli/test_keys.py +0 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/unit}/cli/test_secrets.py +0 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/unit}/toolkit/file/providers/test_fal_retry.py +0 -0
- /fal-1.41.0/tests/toolkit/file_test.py → /fal-1.59.0/tests/unit/toolkit/test_file.py +0 -0
- {fal-1.41.0/tests → fal-1.59.0/tests/unit}/toolkit/test_types.py +0 -0
- /fal-1.41.0/tests/toolkit/utils/retry.py → /fal-1.59.0/tests/unit/toolkit/utils/test_retry.py +0 -0
- {fal-1.41.0 → fal-1.59.0}/tools/demo_script.py +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.59.0
|
|
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.
|
|
9
|
-
Requires-Dist: isolate-proto
|
|
8
|
+
Requires-Dist: isolate[build]<0.22.0,>=0.18.0
|
|
9
|
+
Requires-Dist: isolate-proto>=0.29.2
|
|
10
10
|
Requires-Dist: grpcio<2,>=1.64.0
|
|
11
11
|
Requires-Dist: dill==0.3.7
|
|
12
12
|
Requires-Dist: cloudpickle==3.0.0
|
|
@@ -21,15 +21,17 @@ Requires-Dist: rich<15,>=13.3.2
|
|
|
21
21
|
Requires-Dist: rich_argparse
|
|
22
22
|
Requires-Dist: packaging>=21.3
|
|
23
23
|
Requires-Dist: pathspec<1,>=0.11.1
|
|
24
|
-
Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4
|
|
25
|
-
Requires-Dist: fastapi<
|
|
24
|
+
Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*
|
|
25
|
+
Requires-Dist: fastapi<0.119,>=0.99.1
|
|
26
26
|
Requires-Dist: starlette-exporter>=0.21.0
|
|
27
27
|
Requires-Dist: httpx>=0.15.4
|
|
28
|
+
Requires-Dist: httpx-sse
|
|
28
29
|
Requires-Dist: attrs>=21.3.0
|
|
29
30
|
Requires-Dist: python-dateutil<3,>=2.8.0
|
|
30
31
|
Requires-Dist: types-python-dateutil<3,>=2.8.0
|
|
31
32
|
Requires-Dist: dateparser<2,>=1.2.0
|
|
32
33
|
Requires-Dist: types-dateparser<2,>=1.2.0
|
|
34
|
+
Requires-Dist: tuspy==1.1.0
|
|
33
35
|
Requires-Dist: importlib-metadata>=4.4; python_version < "3.10"
|
|
34
36
|
Requires-Dist: msgpack<2,>=1.0.7
|
|
35
37
|
Requires-Dist: websockets>=12.0
|
|
@@ -40,6 +42,7 @@ Requires-Dist: cookiecutter
|
|
|
40
42
|
Requires-Dist: tomli<3,>2
|
|
41
43
|
Requires-Dist: tomli-w<2,>=1
|
|
42
44
|
Requires-Dist: fsspec
|
|
45
|
+
Requires-Dist: tblib<3.2.0
|
|
43
46
|
Provides-Extra: docs
|
|
44
47
|
Requires-Dist: sphinx<8.2.0; extra == "docs"
|
|
45
48
|
Requires-Dist: sphinx-rtd-theme; extra == "docs"
|
|
@@ -51,12 +54,13 @@ Requires-Dist: pytest-xdist; extra == "test"
|
|
|
51
54
|
Requires-Dist: pytest-timeout; extra == "test"
|
|
52
55
|
Requires-Dist: flaky; extra == "test"
|
|
53
56
|
Requires-Dist: boto3; extra == "test"
|
|
57
|
+
Requires-Dist: numpy; extra == "test"
|
|
54
58
|
Provides-Extra: dev
|
|
55
59
|
Requires-Dist: fal[docs,test]; extra == "dev"
|
|
56
60
|
Requires-Dist: openapi-python-client<1,>=0.14.1; extra == "dev"
|
|
57
61
|
|
|
58
62
|
[](https://pypi.org/project/fal)
|
|
59
|
-
[](https://github.com/fal-ai/fal/actions)
|
|
60
64
|
|
|
61
65
|
# fal
|
|
62
66
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[](https://pypi.org/project/fal)
|
|
2
|
-
[](https://github.com/fal-ai/fal/actions)
|
|
3
3
|
|
|
4
4
|
# fal
|
|
5
5
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fal
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.59.0
|
|
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.
|
|
9
|
-
Requires-Dist: isolate-proto
|
|
8
|
+
Requires-Dist: isolate[build]<0.22.0,>=0.18.0
|
|
9
|
+
Requires-Dist: isolate-proto>=0.29.2
|
|
10
10
|
Requires-Dist: grpcio<2,>=1.64.0
|
|
11
11
|
Requires-Dist: dill==0.3.7
|
|
12
12
|
Requires-Dist: cloudpickle==3.0.0
|
|
@@ -21,15 +21,17 @@ Requires-Dist: rich<15,>=13.3.2
|
|
|
21
21
|
Requires-Dist: rich_argparse
|
|
22
22
|
Requires-Dist: packaging>=21.3
|
|
23
23
|
Requires-Dist: pathspec<1,>=0.11.1
|
|
24
|
-
Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4
|
|
25
|
-
Requires-Dist: fastapi<
|
|
24
|
+
Requires-Dist: pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*
|
|
25
|
+
Requires-Dist: fastapi<0.119,>=0.99.1
|
|
26
26
|
Requires-Dist: starlette-exporter>=0.21.0
|
|
27
27
|
Requires-Dist: httpx>=0.15.4
|
|
28
|
+
Requires-Dist: httpx-sse
|
|
28
29
|
Requires-Dist: attrs>=21.3.0
|
|
29
30
|
Requires-Dist: python-dateutil<3,>=2.8.0
|
|
30
31
|
Requires-Dist: types-python-dateutil<3,>=2.8.0
|
|
31
32
|
Requires-Dist: dateparser<2,>=1.2.0
|
|
32
33
|
Requires-Dist: types-dateparser<2,>=1.2.0
|
|
34
|
+
Requires-Dist: tuspy==1.1.0
|
|
33
35
|
Requires-Dist: importlib-metadata>=4.4; python_version < "3.10"
|
|
34
36
|
Requires-Dist: msgpack<2,>=1.0.7
|
|
35
37
|
Requires-Dist: websockets>=12.0
|
|
@@ -40,6 +42,7 @@ Requires-Dist: cookiecutter
|
|
|
40
42
|
Requires-Dist: tomli<3,>2
|
|
41
43
|
Requires-Dist: tomli-w<2,>=1
|
|
42
44
|
Requires-Dist: fsspec
|
|
45
|
+
Requires-Dist: tblib<3.2.0
|
|
43
46
|
Provides-Extra: docs
|
|
44
47
|
Requires-Dist: sphinx<8.2.0; extra == "docs"
|
|
45
48
|
Requires-Dist: sphinx-rtd-theme; extra == "docs"
|
|
@@ -51,12 +54,13 @@ Requires-Dist: pytest-xdist; extra == "test"
|
|
|
51
54
|
Requires-Dist: pytest-timeout; extra == "test"
|
|
52
55
|
Requires-Dist: flaky; extra == "test"
|
|
53
56
|
Requires-Dist: boto3; extra == "test"
|
|
57
|
+
Requires-Dist: numpy; extra == "test"
|
|
54
58
|
Provides-Extra: dev
|
|
55
59
|
Requires-Dist: fal[docs,test]; extra == "dev"
|
|
56
60
|
Requires-Dist: openapi-python-client<1,>=0.14.1; extra == "dev"
|
|
57
61
|
|
|
58
62
|
[](https://pypi.org/project/fal)
|
|
59
|
-
[](https://github.com/fal-ai/fal/actions)
|
|
60
64
|
|
|
61
65
|
# fal
|
|
62
66
|
|
|
@@ -81,20 +81,27 @@ src/fal/__main__.py
|
|
|
81
81
|
src/fal/_fal_version.py
|
|
82
82
|
src/fal/_serialization.py
|
|
83
83
|
src/fal/_version.py
|
|
84
|
-
src/fal/api.py
|
|
85
84
|
src/fal/app.py
|
|
86
85
|
src/fal/apps.py
|
|
87
86
|
src/fal/config.py
|
|
88
87
|
src/fal/container.py
|
|
88
|
+
src/fal/file_sync.py
|
|
89
89
|
src/fal/files.py
|
|
90
90
|
src/fal/flags.py
|
|
91
91
|
src/fal/project.py
|
|
92
92
|
src/fal/py.typed
|
|
93
|
-
src/fal/rest_client.py
|
|
94
93
|
src/fal/sdk.py
|
|
95
94
|
src/fal/sync.py
|
|
96
95
|
src/fal/utils.py
|
|
97
96
|
src/fal/workflows.py
|
|
97
|
+
src/fal/api/__init__.py
|
|
98
|
+
src/fal/api/api.py
|
|
99
|
+
src/fal/api/apps.py
|
|
100
|
+
src/fal/api/client.py
|
|
101
|
+
src/fal/api/deploy.py
|
|
102
|
+
src/fal/api/keys.py
|
|
103
|
+
src/fal/api/runners.py
|
|
104
|
+
src/fal/api/secrets.py
|
|
98
105
|
src/fal/auth/__init__.py
|
|
99
106
|
src/fal/auth/auth0.py
|
|
100
107
|
src/fal/auth/local.py
|
|
@@ -121,6 +128,9 @@ src/fal/cli/teams.py
|
|
|
121
128
|
src/fal/console/__init__.py
|
|
122
129
|
src/fal/console/icons.py
|
|
123
130
|
src/fal/console/ux.py
|
|
131
|
+
src/fal/distributed/__init__.py
|
|
132
|
+
src/fal/distributed/utils.py
|
|
133
|
+
src/fal/distributed/worker.py
|
|
124
134
|
src/fal/exceptions/__init__.py
|
|
125
135
|
src/fal/exceptions/_base.py
|
|
126
136
|
src/fal/exceptions/_cuda.py
|
|
@@ -130,6 +140,7 @@ src/fal/logging/isolate.py
|
|
|
130
140
|
src/fal/logging/style.py
|
|
131
141
|
src/fal/logging/trace.py
|
|
132
142
|
src/fal/toolkit/__init__.py
|
|
143
|
+
src/fal/toolkit/compilation.py
|
|
133
144
|
src/fal/toolkit/exceptions.py
|
|
134
145
|
src/fal/toolkit/kv.py
|
|
135
146
|
src/fal/toolkit/optimize.py
|
|
@@ -160,26 +171,29 @@ src/fal/toolkit/video/__init__.py
|
|
|
160
171
|
src/fal/toolkit/video/video.py
|
|
161
172
|
tests/__init__.py
|
|
162
173
|
tests/conftest.py
|
|
163
|
-
tests/integration_test.py
|
|
164
|
-
tests/mainify_target.py
|
|
165
|
-
tests/test_apps.py
|
|
166
|
-
tests/test_files.py
|
|
167
|
-
tests/test_kv.py
|
|
168
|
-
tests/test_stability.py
|
|
169
174
|
tests/assets/cat.png
|
|
170
|
-
tests/
|
|
171
|
-
tests/
|
|
172
|
-
tests/
|
|
173
|
-
tests/
|
|
174
|
-
tests/
|
|
175
|
-
tests/
|
|
176
|
-
tests/
|
|
177
|
-
tests/
|
|
178
|
-
tests/
|
|
179
|
-
tests/
|
|
180
|
-
tests/
|
|
181
|
-
tests/
|
|
182
|
-
tests/
|
|
183
|
-
tests/
|
|
184
|
-
tests/
|
|
175
|
+
tests/e2e/test_apps.py
|
|
176
|
+
tests/integration/test.py
|
|
177
|
+
tests/integration/test_files.py
|
|
178
|
+
tests/integration/test_stability.py
|
|
179
|
+
tests/integration/toolkit/test_image.py
|
|
180
|
+
tests/integration/toolkit/test_kv.py
|
|
181
|
+
tests/unit/test_app.py
|
|
182
|
+
tests/unit/test_file_sync.py
|
|
183
|
+
tests/unit/test_utils.py
|
|
184
|
+
tests/unit/cli/__init__.py
|
|
185
|
+
tests/unit/cli/test_apps.py
|
|
186
|
+
tests/unit/cli/test_auth.py
|
|
187
|
+
tests/unit/cli/test_deploy.py
|
|
188
|
+
tests/unit/cli/test_keys.py
|
|
189
|
+
tests/unit/cli/test_run.py
|
|
190
|
+
tests/unit/cli/test_secrets.py
|
|
191
|
+
tests/unit/distributed/__init__.py
|
|
192
|
+
tests/unit/distributed/test_integration.py
|
|
193
|
+
tests/unit/distributed/test_utils.py
|
|
194
|
+
tests/unit/distributed/test_worker.py
|
|
195
|
+
tests/unit/toolkit/test_file.py
|
|
196
|
+
tests/unit/toolkit/test_types.py
|
|
197
|
+
tests/unit/toolkit/file/providers/test_fal_retry.py
|
|
198
|
+
tests/unit/toolkit/utils/test_retry.py
|
|
185
199
|
tools/demo_script.py
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
isolate[build]<0.
|
|
2
|
-
isolate-proto
|
|
1
|
+
isolate[build]<0.22.0,>=0.18.0
|
|
2
|
+
isolate-proto>=0.29.2
|
|
3
3
|
grpcio<2,>=1.64.0
|
|
4
4
|
dill==0.3.7
|
|
5
5
|
cloudpickle==3.0.0
|
|
@@ -14,15 +14,17 @@ rich<15,>=13.3.2
|
|
|
14
14
|
rich_argparse
|
|
15
15
|
packaging>=21.3
|
|
16
16
|
pathspec<1,>=0.11.1
|
|
17
|
-
pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4
|
|
18
|
-
fastapi<
|
|
17
|
+
pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*
|
|
18
|
+
fastapi<0.119,>=0.99.1
|
|
19
19
|
starlette-exporter>=0.21.0
|
|
20
20
|
httpx>=0.15.4
|
|
21
|
+
httpx-sse
|
|
21
22
|
attrs>=21.3.0
|
|
22
23
|
python-dateutil<3,>=2.8.0
|
|
23
24
|
types-python-dateutil<3,>=2.8.0
|
|
24
25
|
dateparser<2,>=1.2.0
|
|
25
26
|
types-dateparser<2,>=1.2.0
|
|
27
|
+
tuspy==1.1.0
|
|
26
28
|
msgpack<2,>=1.0.7
|
|
27
29
|
websockets>=12.0
|
|
28
30
|
pillow<12,>=10.2.0
|
|
@@ -32,6 +34,7 @@ cookiecutter
|
|
|
32
34
|
tomli<3,>2
|
|
33
35
|
tomli-w<2,>=1
|
|
34
36
|
fsspec
|
|
37
|
+
tblib<3.2.0
|
|
35
38
|
|
|
36
39
|
[:python_version < "3.10"]
|
|
37
40
|
importlib-metadata>=4.4
|
|
@@ -52,3 +55,4 @@ pytest-xdist
|
|
|
52
55
|
pytest-timeout
|
|
53
56
|
flaky
|
|
54
57
|
boto3
|
|
58
|
+
numpy
|
|
@@ -22,8 +22,8 @@ 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.18.0,<0.
|
|
26
|
-
"isolate-proto>=0.
|
|
25
|
+
"isolate[build]>=0.18.0,<0.22.0",
|
|
26
|
+
"isolate-proto>=0.29.2",
|
|
27
27
|
"grpcio>=1.64.0,<2",
|
|
28
28
|
"dill==0.3.7",
|
|
29
29
|
"cloudpickle==3.0.0",
|
|
@@ -38,17 +38,20 @@ dependencies = [
|
|
|
38
38
|
"rich_argparse",
|
|
39
39
|
"packaging>=21.3",
|
|
40
40
|
"pathspec>=0.11.1,<1",
|
|
41
|
-
"pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4
|
|
41
|
+
"pydantic!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*",
|
|
42
42
|
# serve=True dependencies
|
|
43
|
-
|
|
43
|
+
# https://github.com/fastapi/fastapi/issues/14221
|
|
44
|
+
"fastapi>=0.99.1,<0.119",
|
|
44
45
|
"starlette-exporter>=0.21.0",
|
|
45
46
|
# rest-api-client dependencies
|
|
46
47
|
"httpx>=0.15.4",
|
|
48
|
+
"httpx-sse",
|
|
47
49
|
"attrs>=21.3.0",
|
|
48
50
|
"python-dateutil>=2.8.0,<3",
|
|
49
51
|
"types-python-dateutil>=2.8.0,<3",
|
|
50
52
|
"dateparser>=1.2.0,<2",
|
|
51
53
|
"types-dateparser>=1.2.0,<2",
|
|
54
|
+
"tuspy==1.1.0",
|
|
52
55
|
# For 3.9 and earlier, importlib-metadata's newer versions are included in the standard library.
|
|
53
56
|
'importlib-metadata>=4.4; python_version < "3.10"',
|
|
54
57
|
"msgpack>=1.0.7,<2",
|
|
@@ -60,6 +63,7 @@ dependencies = [
|
|
|
60
63
|
"tomli>2,<3",
|
|
61
64
|
"tomli-w>=1,<2",
|
|
62
65
|
"fsspec",
|
|
66
|
+
"tblib<3.2.0",
|
|
63
67
|
]
|
|
64
68
|
|
|
65
69
|
[project.optional-dependencies]
|
|
@@ -75,6 +79,7 @@ test = [
|
|
|
75
79
|
"pytest-timeout",
|
|
76
80
|
"flaky",
|
|
77
81
|
"boto3",
|
|
82
|
+
"numpy",
|
|
78
83
|
]
|
|
79
84
|
dev = [
|
|
80
85
|
"fal[docs,test]",
|
|
@@ -5,7 +5,7 @@ from fal.api import FalServerlessHost, LocalHost, cached, function
|
|
|
5
5
|
from fal.api import function as isolated # noqa: F401
|
|
6
6
|
from fal.app import App, endpoint, realtime, wrap_app # noqa: F401
|
|
7
7
|
from fal.container import ContainerImage
|
|
8
|
-
from fal.sdk import FalServerlessKeyCredentials
|
|
8
|
+
from fal.sdk import FalServerlessKeyCredentials, HealthCheck
|
|
9
9
|
from fal.sync import sync_dir
|
|
10
10
|
|
|
11
11
|
from ._version import __version__, version_tuple # noqa: F401
|
|
@@ -23,6 +23,7 @@ __all__ = [
|
|
|
23
23
|
"endpoint",
|
|
24
24
|
"realtime",
|
|
25
25
|
# "wrap_app",
|
|
26
|
+
"HealthCheck",
|
|
26
27
|
"FalServerlessKeyCredentials",
|
|
27
28
|
"sync_dir",
|
|
28
29
|
"__version__",
|
|
@@ -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.59.0'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 59, 0)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|