fal 1.28.2__py3-none-any.whl → 1.28.4__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 CHANGED
@@ -1,14 +1,7 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = [
5
- "__version__",
6
- "__version_tuple__",
7
- "version",
8
- "version_tuple",
9
- "__commit_id__",
10
- "commit_id",
11
- ]
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
12
5
 
13
6
  TYPE_CHECKING = False
14
7
  if TYPE_CHECKING:
@@ -16,19 +9,13 @@ if TYPE_CHECKING:
16
9
  from typing import Union
17
10
 
18
11
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
- COMMIT_ID = Union[str, None]
20
12
  else:
21
13
  VERSION_TUPLE = object
22
- COMMIT_ID = object
23
14
 
24
15
  version: str
25
16
  __version__: str
26
17
  __version_tuple__: VERSION_TUPLE
27
18
  version_tuple: VERSION_TUPLE
28
- commit_id: COMMIT_ID
29
- __commit_id__: COMMIT_ID
30
19
 
31
- __version__ = version = '1.28.2'
32
- __version_tuple__ = version_tuple = (1, 28, 2)
33
-
34
- __commit_id__ = commit_id = None
20
+ __version__ = version = '1.28.4'
21
+ __version_tuple__ = version_tuple = (1, 28, 4)
fal/cli/apps.py CHANGED
@@ -1,5 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import json
4
+ from dataclasses import asdict
3
5
  from typing import TYPE_CHECKING
4
6
 
5
7
  import fal.cli.runners as runners
@@ -62,9 +64,13 @@ def _list(args):
62
64
  else:
63
65
  apps.sort(key=lambda x: x.alias)
64
66
 
65
- table = _apps_table(apps)
66
-
67
- args.console.print(table)
67
+ if args.output == "pretty":
68
+ table = _apps_table(apps)
69
+ args.console.print(table)
70
+ elif args.output == "json":
71
+ apps_as_dicts = [asdict(a) for a in apps]
72
+ res = json.dumps({"apps": apps_as_dicts})
73
+ args.console.print(res)
68
74
 
69
75
 
70
76
  def _add_list_parser(subparsers, parents):
@@ -85,6 +91,13 @@ def _add_list_parser(subparsers, parents):
85
91
  type=str,
86
92
  help="Filter applications by alias contents",
87
93
  )
94
+ parser.add_argument(
95
+ "--output",
96
+ type=str,
97
+ default="pretty",
98
+ choices=["pretty", "json"],
99
+ help="Modify the command output",
100
+ )
88
101
  parser.set_defaults(func=_list)
89
102
 
90
103
 
fal/cli/deploy.py CHANGED
@@ -1,4 +1,5 @@
1
1
  import argparse
2
+ import json
2
3
  from collections import namedtuple
3
4
  from pathlib import Path
4
5
  from typing import Literal, Optional, Tuple, Union
@@ -122,20 +123,30 @@ def _deploy_from_reference(
122
123
  # just replace .ai for .run
123
124
  endpoint_host = env_host.replace(".ai", ".run")
124
125
 
125
- args.console.print(
126
- "Registered a new revision for function "
127
- f"'{app_name}' (revision='{app_id}')."
128
- )
129
- args.console.print("Playground:")
130
- for endpoint in loaded.endpoints:
126
+ if args.output == "json":
131
127
  args.console.print(
132
- f"\thttps://{playground_host}/models/{user.username}/{app_name}{endpoint}"
128
+ json.dumps(
129
+ {
130
+ "revision": app_id,
131
+ "app_name": app_name,
132
+ }
133
+ )
133
134
  )
134
- args.console.print("Endpoints:")
135
- for endpoint in loaded.endpoints:
135
+ elif args.output == "pretty":
136
136
  args.console.print(
137
- f"\thttps://{endpoint_host}/{user.username}/{app_name}{endpoint}"
137
+ "Registered a new revision for function "
138
+ f"'{app_name}' (revision='{app_id}')."
138
139
  )
140
+ args.console.print("Playground:")
141
+ for endpoint in loaded.endpoints:
142
+ args.console.print(
143
+ f"\thttps://{playground_host}/models/{user.username}/{app_name}{endpoint}"
144
+ )
145
+ args.console.print("Endpoints:")
146
+ for endpoint in loaded.endpoints:
147
+ args.console.print(
148
+ f"\thttps://{endpoint_host}/{user.username}/{app_name}{endpoint}"
149
+ )
139
150
 
140
151
 
141
152
  def _deploy(args):
@@ -245,5 +256,12 @@ def add_parser(main_subparsers, parents):
245
256
  dest="app_scale_settings",
246
257
  help="Use the application code for scale settings.",
247
258
  )
259
+ parser.add_argument(
260
+ "--output",
261
+ type=str,
262
+ default="pretty",
263
+ choices=["pretty", "json"],
264
+ help="Modify the command output",
265
+ )
248
266
 
249
267
  parser.set_defaults(func=_deploy)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fal
3
- Version: 1.28.2
3
+ Version: 1.28.4
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=nTwdjoxcXTX5Uf2SU_PSi40OB3G-_aJ3rimio5QdbAU,706
3
+ fal/_fal_version.py,sha256=ArOQ6JyFN3fgAOm9sfbcoQJliocBtp1BOR_Z6Km5LdI,513
4
4
  fal/_serialization.py,sha256=npXNsFJ5G7jzBeBIyVMH01Ww34mGY4XWhHpRbSrTtnQ,7598
5
5
  fal/_version.py,sha256=1BbTFnucNC_6ldKJ_ZoC722_UkW4S9aDBSW9L0fkKAw,2315
6
6
  fal/api.py,sha256=TWUpQICgsRO5aDdRP8A3sFI26P6QM93TobcW9M4E0lQ,47501
@@ -23,12 +23,12 @@ fal/auth/local.py,sha256=sndkM6vKpeVny6NHTacVlTbiIFqaksOmw0Viqs_RN1U,1790
23
23
  fal/cli/__init__.py,sha256=padK4o0BFqq61kxAA1qQ0jYr2SuhA2mf90B3AaRkmJA,37
24
24
  fal/cli/_utils.py,sha256=ulYezhr3G29nTIF8MDQ6tsW01Oj1zPo-YSqMoBi05Ic,1871
25
25
  fal/cli/api.py,sha256=ZuDE_PIC-czzneTAWMwvC7P7WnwIyluNZSuJqzCFhqI,2640
26
- fal/cli/apps.py,sha256=q0uxuD4h_5tft77QfyFbDz0kGmM51JT39du_OeFytPA,10565
26
+ fal/cli/apps.py,sha256=73vLbMTpgadd0p_S6RW8t7NKpTmIMO_W2mYoWbyZvcQ,11008
27
27
  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=TseHLukhcHbtfnUMFqd2gQ1eNlBr58l_-y61ZdRsshw,7886
31
+ fal/cli/deploy.py,sha256=RB6UZCWE1Jp8rWkepfwQyuAy09Mq-O9rmXjWg7k5DEU,8425
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
@@ -142,8 +142,8 @@ openapi_fal_rest/models/workflow_node_type.py,sha256=-FzyeY2bxcNmizKbJI8joG7byRi
142
142
  openapi_fal_rest/models/workflow_schema.py,sha256=4K5gsv9u9pxx2ItkffoyHeNjBBYf6ur5bN4m_zePZNY,2019
143
143
  openapi_fal_rest/models/workflow_schema_input.py,sha256=2OkOXWHTNsCXHWS6EGDFzcJKkW5FIap-2gfO233EvZQ,1191
144
144
  openapi_fal_rest/models/workflow_schema_output.py,sha256=EblwSPAGfWfYVWw_WSSaBzQVju296is9o28rMBAd0mc,1196
145
- fal-1.28.2.dist-info/METADATA,sha256=PFDPOVKkSNsGasm8URJ9h6YTVSIED9Sko-Rp37h8mdo,4089
146
- fal-1.28.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
147
- fal-1.28.2.dist-info/entry_points.txt,sha256=32zwTUC1U1E7nSTIGCoANQOQ3I7-qHG5wI6gsVz5pNU,37
148
- fal-1.28.2.dist-info/top_level.txt,sha256=r257X1L57oJL8_lM0tRrfGuXFwm66i1huwQygbpLmHw,21
149
- fal-1.28.2.dist-info/RECORD,,
145
+ fal-1.28.4.dist-info/METADATA,sha256=1nXV4eeae7rzO5z1KVSsNRvv9VwQuRpwTZr4EbfK-WA,4089
146
+ fal-1.28.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
147
+ fal-1.28.4.dist-info/entry_points.txt,sha256=32zwTUC1U1E7nSTIGCoANQOQ3I7-qHG5wI6gsVz5pNU,37
148
+ fal-1.28.4.dist-info/top_level.txt,sha256=r257X1L57oJL8_lM0tRrfGuXFwm66i1huwQygbpLmHw,21
149
+ fal-1.28.4.dist-info/RECORD,,
File without changes