fal 1.48.0__py3-none-any.whl → 1.49.1__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.
fal/_fal_version.py CHANGED
@@ -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.48.0'
32
- __version_tuple__ = version_tuple = (1, 48, 0)
31
+ __version__ = version = '1.49.1'
32
+ __version_tuple__ = version_tuple = (1, 49, 1)
33
33
 
34
34
  __commit_id__ = commit_id = None
fal/api/client.py CHANGED
@@ -4,7 +4,7 @@ import os
4
4
  from dataclasses import dataclass
5
5
  from typing import List, Optional
6
6
 
7
- from fal.api import FAL_SERVERLESS_DEFAULT_URL
7
+ from fal.api import FAL_SERVERLESS_DEFAULT_URL, FalServerlessHost
8
8
  from fal.sdk import (
9
9
  AliasInfo,
10
10
  Credentials,
@@ -114,3 +114,10 @@ class SyncServerlessClient:
114
114
  os.environ["FAL_PROFILE"] = prev
115
115
 
116
116
  return get_default_credentials(team=self.team)
117
+
118
+ def _create_host(self, *, local_file_path: str = "") -> FalServerlessHost:
119
+ return FalServerlessHost(
120
+ self._grpc_host,
121
+ local_file_path=local_file_path,
122
+ credentials=self._credentials,
123
+ )
fal/api/deploy.py CHANGED
@@ -14,9 +14,6 @@ import json
14
14
  from collections import namedtuple
15
15
  from typing import Tuple, Union, cast
16
16
 
17
- from fal.cli._utils import get_app_data_from_toml, is_app_name
18
- from fal.cli.parser import RefAction
19
-
20
17
  User = namedtuple("User", ["user_id", "username"])
21
18
 
22
19
 
@@ -87,7 +84,7 @@ def _deploy_from_reference(
87
84
  strategy: Optional[DeploymentStrategyLiteral],
88
85
  scale: bool,
89
86
  ) -> DeploymentResult:
90
- from fal.api import FalServerlessError, FalServerlessHost
87
+ from fal.api import FalServerlessError
91
88
  from fal.utils import load_function_from
92
89
 
93
90
  file_path, func_name = app_ref
@@ -106,7 +103,7 @@ def _deploy_from_reference(
106
103
  file_path = str(file_path) # type: ignore
107
104
 
108
105
  user = _get_user()
109
- host = FalServerlessHost(client._grpc_host, local_file_path=str(file_path))
106
+ host = client._create_host(local_file_path=str(file_path))
110
107
  loaded = load_function_from(
111
108
  host,
112
109
  file_path, # type: ignore
@@ -172,6 +169,9 @@ def deploy(
172
169
  strategy: DeploymentStrategyLiteral = "rolling",
173
170
  reset_scale: bool = False,
174
171
  ) -> DeploymentResult:
172
+ from fal.cli._utils import get_app_data_from_toml, is_app_name
173
+ from fal.cli.parser import RefAction
174
+
175
175
  if isinstance(app_ref, tuple):
176
176
  app_ref_tuple = app_ref
177
177
  elif app_ref:
fal/cli/run.py CHANGED
@@ -5,7 +5,7 @@ from .parser import FalClientParser, RefAction
5
5
 
6
6
 
7
7
  def _run(args):
8
- from fal.api import FalServerlessHost
8
+ from fal.api.client import SyncServerlessClient
9
9
  from fal.utils import load_function_from
10
10
 
11
11
  if is_app_name(args.func_ref):
@@ -17,7 +17,8 @@ def _run(args):
17
17
  # Turn relative path into absolute path for files
18
18
  file_path = str(Path(file_path).absolute())
19
19
 
20
- host = FalServerlessHost(args.host, local_file_path=file_path)
20
+ client = SyncServerlessClient(host=args.host, team=args.team)
21
+ host = client._create_host(local_file_path=file_path)
21
22
 
22
23
  loaded = load_function_from(host, file_path, func_name)
23
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fal
3
- Version: 1.48.0
3
+ Version: 1.49.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
@@ -1,6 +1,6 @@
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=KvE-hw8uYyakhZUePaqSoIuSvqfSiOrCXRsyFQnWvQc,706
3
+ fal/_fal_version.py,sha256=z1lUW7WmYaaDh786ralq8p2PqHIIlr9846SohVDp5e4,706
4
4
  fal/_serialization.py,sha256=npXNsFJ5G7jzBeBIyVMH01Ww34mGY4XWhHpRbSrTtnQ,7598
5
5
  fal/_version.py,sha256=1BbTFnucNC_6ldKJ_ZoC722_UkW4S9aDBSW9L0fkKAw,2315
6
6
  fal/app.py,sha256=mW7H2k41y4-BTEyvVmwTMEfVy2a5_ctAHTZEtQCn2ig,31061
@@ -20,8 +20,8 @@ fal/workflows.py,sha256=Zl4f6Bs085hY40zmqScxDUyCu7zXkukDbW02iYOLTTI,14805
20
20
  fal/api/__init__.py,sha256=N8FaQCgKU05WTvxYBB8PYzkDJ34p3w8AsloRM2-q4SA,33
21
21
  fal/api/api.py,sha256=m67EqjDcCiCHFdBDkVpCqFEgiW2panqKXay-JZxpXzo,51940
22
22
  fal/api/apps.py,sha256=YSy2RUvFGBmXp8OrtWf49FMLvzwS79e0LD426naaMx0,2219
23
- fal/api/client.py,sha256=TYTaCz0mh5fnLcV37JUqDhWFYU6rqaqbfVli_jpaq_g,3665
24
- fal/api/deploy.py,sha256=dJaGP3ndafTI8f2SpTjA17ZZgDY_-P27rwdlg2Pycfo,6475
23
+ fal/api/client.py,sha256=DGKL-FAc_JNTacZ7MW6zDWkozTbECQSeo3lQQoaFIRY,3925
24
+ fal/api/deploy.py,sha256=1HpvVbdKxJHXjq6Y7KzSHTKfe_MYDs_a2vR5tKMAykA,6447
25
25
  fal/api/runners.py,sha256=4P1llGDhcl0xM5UayK8XvxGMU-o07gzZaAchkUUKREY,484
26
26
  fal/auth/__init__.py,sha256=mtyQou8DGHC-COjW9WbtRyyzjyt7fMlhVmsB4U-CBh4,6509
27
27
  fal/auth/auth0.py,sha256=g5OgEKe4rsbkLQp6l7EauOAVL6WsmKjuA1wmzmyvvhc,5354
@@ -42,7 +42,7 @@ fal/cli/main.py,sha256=LDy3gze9TRsvGa4uSNc8NMFmWMLpsyoC-msteICNiso,3371
42
42
  fal/cli/parser.py,sha256=siSY1kxqczZIs3l_jLwug_BpVzY_ZqHpewON3am83Ow,6658
43
43
  fal/cli/profile.py,sha256=PAY_ffifCT71VJ8VxfDVaXPT0U1oN8drvWZDFRXwvek,6678
44
44
  fal/cli/queue.py,sha256=YhcD0URGeqaJXqTl1hPEV9-UqdWsQ-4beG5xE9AGLJI,2727
45
- fal/cli/run.py,sha256=xFcNxBWD60PTbW51R4qqLifUL7dqgYYvw38Nz-18ZWc,1365
45
+ fal/cli/run.py,sha256=l3wq-Fa3bCznKrdsC-4ouAU_74rAjrb-SqRCWEuGJQM,1432
46
46
  fal/cli/runners.py,sha256=29SQqBQQidABiDYaW-SA68HjxVw4tbxfXwimevX_xkw,17282
47
47
  fal/cli/secrets.py,sha256=HfIeO2IZpCEiBC6Cs5Kpi3zckfDnc7GsLwLdgj3NnPU,3085
48
48
  fal/cli/teams.py,sha256=_JcNcf659ZoLBFOxKnVP5A6Pyk1jY1vh4_xzMweYIDo,1285
@@ -152,8 +152,8 @@ openapi_fal_rest/models/workflow_node_type.py,sha256=-FzyeY2bxcNmizKbJI8joG7byRi
152
152
  openapi_fal_rest/models/workflow_schema.py,sha256=4K5gsv9u9pxx2ItkffoyHeNjBBYf6ur5bN4m_zePZNY,2019
153
153
  openapi_fal_rest/models/workflow_schema_input.py,sha256=2OkOXWHTNsCXHWS6EGDFzcJKkW5FIap-2gfO233EvZQ,1191
154
154
  openapi_fal_rest/models/workflow_schema_output.py,sha256=EblwSPAGfWfYVWw_WSSaBzQVju296is9o28rMBAd0mc,1196
155
- fal-1.48.0.dist-info/METADATA,sha256=6HgHJjYlGO2OQqoFOsWkVySq4z7u9UY3VaOQHXRenc4,4250
156
- fal-1.48.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
157
- fal-1.48.0.dist-info/entry_points.txt,sha256=32zwTUC1U1E7nSTIGCoANQOQ3I7-qHG5wI6gsVz5pNU,37
158
- fal-1.48.0.dist-info/top_level.txt,sha256=r257X1L57oJL8_lM0tRrfGuXFwm66i1huwQygbpLmHw,21
159
- fal-1.48.0.dist-info/RECORD,,
155
+ fal-1.49.1.dist-info/METADATA,sha256=P72EGlGUM2H1JdN2hCWqMNjNpyTB-F-tXouqef1ppTA,4250
156
+ fal-1.49.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
157
+ fal-1.49.1.dist-info/entry_points.txt,sha256=32zwTUC1U1E7nSTIGCoANQOQ3I7-qHG5wI6gsVz5pNU,37
158
+ fal-1.49.1.dist-info/top_level.txt,sha256=r257X1L57oJL8_lM0tRrfGuXFwm66i1huwQygbpLmHw,21
159
+ fal-1.49.1.dist-info/RECORD,,
File without changes