fal 1.20.3__py3-none-any.whl → 1.20.5__py3-none-any.whl
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/_fal_version.py +2 -2
- fal/api.py +3 -12
- fal/cli/deploy.py +4 -4
- fal/flags.py +2 -1
- fal/sdk.py +2 -0
- {fal-1.20.3.dist-info → fal-1.20.5.dist-info}/METADATA +2 -2
- {fal-1.20.3.dist-info → fal-1.20.5.dist-info}/RECORD +10 -10
- {fal-1.20.3.dist-info → fal-1.20.5.dist-info}/WHEEL +0 -0
- {fal-1.20.3.dist-info → fal-1.20.5.dist-info}/entry_points.txt +0 -0
- {fal-1.20.3.dist-info → fal-1.20.5.dist-info}/top_level.txt +0 -0
fal/_fal_version.py
CHANGED
fal/api.py
CHANGED
|
@@ -166,18 +166,6 @@ class Host(Generic[ArgsT, ReturnT]):
|
|
|
166
166
|
|
|
167
167
|
return options
|
|
168
168
|
|
|
169
|
-
def register(
|
|
170
|
-
self,
|
|
171
|
-
func: Callable[ArgsT, ReturnT],
|
|
172
|
-
options: Options,
|
|
173
|
-
application_name: str | None = None,
|
|
174
|
-
application_auth_mode: Literal["public", "shared", "private"] | None = None,
|
|
175
|
-
metadata: dict[str, Any] | None = None,
|
|
176
|
-
scale: bool = True,
|
|
177
|
-
) -> str | None:
|
|
178
|
-
"""Register the given function on the host for API call execution."""
|
|
179
|
-
raise NotImplementedError
|
|
180
|
-
|
|
181
169
|
def run(
|
|
182
170
|
self,
|
|
183
171
|
func: Callable[ArgsT, ReturnT],
|
|
@@ -415,6 +403,7 @@ class FalServerlessHost(Host):
|
|
|
415
403
|
"metadata",
|
|
416
404
|
"request_timeout",
|
|
417
405
|
"startup_timeout",
|
|
406
|
+
"private_logs",
|
|
418
407
|
"_base_image",
|
|
419
408
|
"_scheduler",
|
|
420
409
|
"_scheduler_options",
|
|
@@ -512,6 +501,8 @@ class FalServerlessHost(Host):
|
|
|
512
501
|
metadata=metadata,
|
|
513
502
|
deployment_strategy=deployment_strategy,
|
|
514
503
|
scale=scale,
|
|
504
|
+
# By default, logs are public
|
|
505
|
+
private_logs=options.host.get("private_logs", False),
|
|
515
506
|
):
|
|
516
507
|
for log in partial_result.logs:
|
|
517
508
|
self._log_printer.print(log)
|
fal/cli/deploy.py
CHANGED
|
@@ -68,7 +68,7 @@ def _deploy_from_reference(
|
|
|
68
68
|
args,
|
|
69
69
|
auth: Optional[Literal["public", "shared", "private"]] = None,
|
|
70
70
|
deployment_strategy: Optional[Literal["recreate", "rolling"]] = None,
|
|
71
|
-
|
|
71
|
+
scale: bool = True,
|
|
72
72
|
):
|
|
73
73
|
from fal.api import FalServerlessError, FalServerlessHost
|
|
74
74
|
from fal.utils import load_function_from
|
|
@@ -104,10 +104,10 @@ def _deploy_from_reference(
|
|
|
104
104
|
func=isolated_function.func,
|
|
105
105
|
options=isolated_function.options,
|
|
106
106
|
application_name=app_name,
|
|
107
|
-
application_auth_mode=app_auth,
|
|
107
|
+
application_auth_mode=app_auth, # type: ignore
|
|
108
108
|
metadata=isolated_function.options.host.get("metadata", {}),
|
|
109
109
|
deployment_strategy=deployment_strategy,
|
|
110
|
-
scale=
|
|
110
|
+
scale=scale,
|
|
111
111
|
)
|
|
112
112
|
|
|
113
113
|
if app_id:
|
|
@@ -165,7 +165,7 @@ def _deploy(args):
|
|
|
165
165
|
args,
|
|
166
166
|
app_auth,
|
|
167
167
|
app_deployment_strategy,
|
|
168
|
-
app_no_scale,
|
|
168
|
+
scale=not app_no_scale,
|
|
169
169
|
)
|
|
170
170
|
|
|
171
171
|
|
fal/flags.py
CHANGED
|
@@ -19,7 +19,8 @@ AUTH_DISABLED = bool_envvar("ISOLATE_AUTH_DISABLED")
|
|
|
19
19
|
config = Config()
|
|
20
20
|
config_host = config.get("host")
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
# FAL_HOST takes precedence over config.host
|
|
23
|
+
GRPC_HOST = os.getenv("FAL_HOST") or config_host or "api.alpha.fal.ai"
|
|
23
24
|
if not TEST_MODE:
|
|
24
25
|
assert GRPC_HOST.startswith("api"), "FAL_HOST must start with 'api'"
|
|
25
26
|
|
fal/sdk.py
CHANGED
|
@@ -572,6 +572,7 @@ class FalServerlessConnection:
|
|
|
572
572
|
metadata: dict[str, Any] | None = None,
|
|
573
573
|
deployment_strategy: Literal["recreate", "rolling"] = "recreate",
|
|
574
574
|
scale: bool = True,
|
|
575
|
+
private_logs: bool = False,
|
|
575
576
|
) -> Iterator[isolate_proto.RegisterApplicationResult]:
|
|
576
577
|
wrapped_function = to_serialized_object(function, serialization_method)
|
|
577
578
|
if machine_requirements:
|
|
@@ -623,6 +624,7 @@ class FalServerlessConnection:
|
|
|
623
624
|
metadata=struct_metadata,
|
|
624
625
|
deployment_strategy=deployment_strategy_proto,
|
|
625
626
|
scale=scale,
|
|
627
|
+
private_logs=private_logs,
|
|
626
628
|
)
|
|
627
629
|
for partial_result in self.stub.RegisterApplication(request):
|
|
628
630
|
yield from_grpc(partial_result)
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fal
|
|
3
|
-
Version: 1.20.
|
|
3
|
+
Version: 1.20.5
|
|
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
8
|
Requires-Dist: isolate[build]<0.17.0,>=0.16.2
|
|
9
|
-
Requires-Dist: isolate-proto<0.10.0,>=0.9.
|
|
9
|
+
Requires-Dist: isolate-proto<0.10.0,>=0.9.1
|
|
10
10
|
Requires-Dist: grpcio==1.64.0
|
|
11
11
|
Requires-Dist: dill==0.3.7
|
|
12
12
|
Requires-Dist: cloudpickle==3.0.0
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
fal/__init__.py,sha256=wXs1G0gSc7ZK60-bHe-B2m0l_sA6TrFk4BxY0tMoLe8,784
|
|
2
2
|
fal/__main__.py,sha256=4JMK66Wj4uLZTKbF-sT3LAxOsr6buig77PmOkJCRRxw,83
|
|
3
|
-
fal/_fal_version.py,sha256=
|
|
3
|
+
fal/_fal_version.py,sha256=9IgFbP59gZPgT4GwWtSC-JlHJPEohz9_mPJJwWlvsp8,513
|
|
4
4
|
fal/_serialization.py,sha256=npXNsFJ5G7jzBeBIyVMH01Ww34mGY4XWhHpRbSrTtnQ,7598
|
|
5
5
|
fal/_version.py,sha256=1BbTFnucNC_6ldKJ_ZoC722_UkW4S9aDBSW9L0fkKAw,2315
|
|
6
|
-
fal/api.py,sha256=
|
|
6
|
+
fal/api.py,sha256=KR3RkuEEamAJBe5cBwfDL64Yj3bZVeVC_IpZDJ4uGC4,46149
|
|
7
7
|
fal/app.py,sha256=S5VHxDaj5J9YVC8ECenHCZJlTHalapHyOyHbCBNsDfs,24153
|
|
8
8
|
fal/apps.py,sha256=pzCd2mrKl5J_4oVc40_pggvPtFahXBCdrZXWpnaEJVs,12130
|
|
9
9
|
fal/config.py,sha256=BEMH10B2bfWJ9yNawnLG6v3kBLnLmkhMe201EAODzs4,3124
|
|
10
10
|
fal/container.py,sha256=OvR-Zq-NPbYFHTnw0SBUUFxr890Fgbe68J2kSJEpLOk,1905
|
|
11
11
|
fal/files.py,sha256=1eOyrj1M0hTixZdbtQ1ogJqWpLd7UfiOt1Rxihnqh8g,3565
|
|
12
|
-
fal/flags.py,sha256=
|
|
12
|
+
fal/flags.py,sha256=QonyDM7R2GqfAB1bJr46oriu-fHJCkpUwXuSdanePWg,987
|
|
13
13
|
fal/project.py,sha256=QgfYfMKmNobMPufrAP_ga1FKcIAlSbw18Iar1-0qepo,2650
|
|
14
14
|
fal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
fal/rest_client.py,sha256=kGBGmuyHfX1lR910EoKCYPjsyU8MdXawT_cW2q8Sajc,568
|
|
16
|
-
fal/sdk.py,sha256=
|
|
16
|
+
fal/sdk.py,sha256=63W0o2bp_EAJmUHL6o6lrSn1d89fRzccXeZ3ww5YYYo,25994
|
|
17
17
|
fal/sync.py,sha256=ZuIJA2-hTPNANG9B_NNJZUsO68EIdTH0dc9MzeVE2VU,4340
|
|
18
18
|
fal/utils.py,sha256=iQTBG3-i6JZgHkkwbY_I4210g0xoW-as51yrke608u0,2208
|
|
19
19
|
fal/workflows.py,sha256=Zl4f6Bs085hY40zmqScxDUyCu7zXkukDbW02iYOLTTI,14805
|
|
@@ -28,7 +28,7 @@ fal/cli/auth.py,sha256=Qe-Z3ycXJnOzHimz5PjCQYoni8MF4csmdL19yGN7a1o,5171
|
|
|
28
28
|
fal/cli/cli_nested_json.py,sha256=veSZU8_bYV3Iu1PAoxt-4BMBraNIqgH5nughbs2UKvE,13539
|
|
29
29
|
fal/cli/create.py,sha256=a8WDq-nJLFTeoIXqpb5cr7GR7YR9ZZrQCawNm34KXXE,627
|
|
30
30
|
fal/cli/debug.py,sha256=u_urnyFzSlNnrq93zz_GXE9FX4VyVxDoamJJyrZpFI0,1312
|
|
31
|
-
fal/cli/deploy.py,sha256=
|
|
31
|
+
fal/cli/deploy.py,sha256=D47AR_voAy-r-h8xnVHICLsosyFRCW4Bn7Br7xwwjNg,7785
|
|
32
32
|
fal/cli/doctor.py,sha256=U4ne9LX5gQwNblsYQ27XdO8AYDgbYjTO39EtxhwexRM,983
|
|
33
33
|
fal/cli/files.py,sha256=pSgAnTm2eHdP-IPkMIVfnK_Ii7mkSSOVgvbsiFUVBC0,2936
|
|
34
34
|
fal/cli/keys.py,sha256=7Sf4DT4le89G42eAOt0ltRjbZAtE70AVQ62hmjZhUy0,3059
|
|
@@ -141,8 +141,8 @@ openapi_fal_rest/models/workflow_node_type.py,sha256=-FzyeY2bxcNmizKbJI8joG7byRi
|
|
|
141
141
|
openapi_fal_rest/models/workflow_schema.py,sha256=4K5gsv9u9pxx2ItkffoyHeNjBBYf6ur5bN4m_zePZNY,2019
|
|
142
142
|
openapi_fal_rest/models/workflow_schema_input.py,sha256=2OkOXWHTNsCXHWS6EGDFzcJKkW5FIap-2gfO233EvZQ,1191
|
|
143
143
|
openapi_fal_rest/models/workflow_schema_output.py,sha256=EblwSPAGfWfYVWw_WSSaBzQVju296is9o28rMBAd0mc,1196
|
|
144
|
-
fal-1.20.
|
|
145
|
-
fal-1.20.
|
|
146
|
-
fal-1.20.
|
|
147
|
-
fal-1.20.
|
|
148
|
-
fal-1.20.
|
|
144
|
+
fal-1.20.5.dist-info/METADATA,sha256=10D71G2SOCGeQhnnJf5LHFHSiws1vdacjukzNM7_1Ig,4085
|
|
145
|
+
fal-1.20.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
146
|
+
fal-1.20.5.dist-info/entry_points.txt,sha256=32zwTUC1U1E7nSTIGCoANQOQ3I7-qHG5wI6gsVz5pNU,37
|
|
147
|
+
fal-1.20.5.dist-info/top_level.txt,sha256=r257X1L57oJL8_lM0tRrfGuXFwm66i1huwQygbpLmHw,21
|
|
148
|
+
fal-1.20.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|