fal 1.0.1__tar.gz → 1.0.2__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.0.1 → fal-1.0.2}/PKG-INFO +1 -1
- {fal-1.0.1 → fal-1.0.2}/fal.egg-info/PKG-INFO +1 -1
- {fal-1.0.1 → fal-1.0.2}/src/fal/_fal_version.py +2 -2
- {fal-1.0.1 → fal-1.0.2}/src/fal/_serialization.py +4 -1
- {fal-1.0.1 → fal-1.0.2}/tests/test_stability.py +34 -0
- {fal-1.0.1 → fal-1.0.2}/.gitignore +0 -0
- {fal-1.0.1 → fal-1.0.2}/README.md +0 -0
- {fal-1.0.1 → fal-1.0.2}/fal.egg-info/SOURCES.txt +0 -0
- {fal-1.0.1 → fal-1.0.2}/fal.egg-info/dependency_links.txt +0 -0
- {fal-1.0.1 → fal-1.0.2}/fal.egg-info/entry_points.txt +0 -0
- {fal-1.0.1 → fal-1.0.2}/fal.egg-info/requires.txt +0 -0
- {fal-1.0.1 → fal-1.0.2}/fal.egg-info/top_level.txt +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/README.md +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/applications/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/billing/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/billing/get_user_details.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/files/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/files/check_dir_hash.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/files/upload_local_file.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_or_update_workflow_workflows_post.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow_workflows_user_id_workflow_name_delete.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/execute_workflow_workflows_user_id_workflow_name_post.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/get_workflow_workflows_user_id_workflow_name_get.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/api/workflows/get_workflows_workflows_get.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/client.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/errors.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/app_metadata_response_app_metadata.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/customer_details.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/execute_workflow_workflows_user_id_workflow_name_post_json_body_type_0.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/execute_workflow_workflows_user_id_workflow_name_post_response_200_type_0.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/hash_check.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/http_validation_error.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/lock_reason.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/page_workflow_item.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/validation_error.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents_type_0.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_item.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_node.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_node_type.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_input.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/py.typed +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/types.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/pyproject.toml +0 -0
- {fal-1.0.1 → fal-1.0.2}/openapi_rest.config.yaml +0 -0
- {fal-1.0.1 → fal-1.0.2}/pyproject.toml +0 -0
- {fal-1.0.1 → fal-1.0.2}/setup.cfg +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/__main__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/_version.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/api.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/app.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/apps.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/auth/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/auth/auth0.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/auth/local.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/cli/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/cli/apps.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/cli/auth.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/cli/debug.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/cli/deploy.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/cli/keys.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/cli/main.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/cli/parser.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/cli/run.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/cli/secrets.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/console/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/console/icons.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/console/ux.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/exceptions/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/exceptions/_base.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/exceptions/auth.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/flags.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/logging/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/logging/isolate.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/logging/style.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/logging/trace.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/logging/user.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/py.typed +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/rest_client.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/sdk.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/sync.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/exceptions.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/file/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/file/file.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/file/providers/fal.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/file/providers/gcp.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/file/providers/r2.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/file/types.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/image/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/image/image.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/optimize.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/utils/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/toolkit/utils/download_utils.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/utils.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/src/fal/workflows.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/cli/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/cli/test_apps.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/cli/test_auth.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/cli/test_deploy.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/cli/test_keys.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/cli/test_run.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/cli/test_secrets.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/conftest.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/integration_test.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/mainify_package/__init__.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/mainify_package/impl.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/mainify_package/utils.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/mainify_target.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/test_apps.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/toolkit/file_test.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tests/toolkit/image_test.py +0 -0
- {fal-1.0.1 → fal-1.0.2}/tools/demo_script.py +0 -0
{fal-1.0.1 → fal-1.0.2}/PKG-INFO
RENAMED
|
@@ -195,7 +195,10 @@ def _patch_rlock() -> None:
|
|
|
195
195
|
|
|
196
196
|
|
|
197
197
|
def _patch_console_thread_locals() -> None:
|
|
198
|
-
|
|
198
|
+
try:
|
|
199
|
+
from rich.console import ConsoleThreadLocals
|
|
200
|
+
except ModuleNotFoundError:
|
|
201
|
+
return
|
|
199
202
|
|
|
200
203
|
def create_locals(kwargs: dict) -> ConsoleThreadLocals:
|
|
201
204
|
return ConsoleThreadLocals(**kwargs)
|
|
@@ -67,6 +67,40 @@ def test_function_pipelining(isolated_client):
|
|
|
67
67
|
assert calling_function(regular_function()) == 84
|
|
68
68
|
|
|
69
69
|
|
|
70
|
+
def test_function_exception(isolated_client):
|
|
71
|
+
class FooException(Exception):
|
|
72
|
+
pass
|
|
73
|
+
|
|
74
|
+
class BarException(Exception):
|
|
75
|
+
pass
|
|
76
|
+
|
|
77
|
+
class MyFuncException(Exception):
|
|
78
|
+
pass
|
|
79
|
+
|
|
80
|
+
def foo():
|
|
81
|
+
raise FooException("foo")
|
|
82
|
+
|
|
83
|
+
def bar():
|
|
84
|
+
try:
|
|
85
|
+
foo()
|
|
86
|
+
except Exception as exc:
|
|
87
|
+
raise BarException("bar") from exc
|
|
88
|
+
|
|
89
|
+
@isolated_client()
|
|
90
|
+
def myfunc():
|
|
91
|
+
try:
|
|
92
|
+
bar()
|
|
93
|
+
except Exception as exc:
|
|
94
|
+
raise MyFuncException("myfunc") from exc
|
|
95
|
+
|
|
96
|
+
with pytest.raises(MyFuncException) as excinfo:
|
|
97
|
+
myfunc()
|
|
98
|
+
|
|
99
|
+
bar_exc = excinfo.value.__cause__
|
|
100
|
+
assert isinstance(bar_exc, BarException)
|
|
101
|
+
assert isinstance(bar_exc.__cause__, FooException)
|
|
102
|
+
|
|
103
|
+
|
|
70
104
|
@pytest.mark.xfail(reason="See https://github.com/fal-ai/fal/issues/169")
|
|
71
105
|
def test_function_calling_other_function(isolated_client):
|
|
72
106
|
try:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py
RENAMED
|
File without changes
|
|
File without changes
|
{fal-1.0.1 → fal-1.0.2}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents_type_0.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
|