fal 1.46.2__py3-none-any.whl → 1.47.0__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.46.2'
32
- __version_tuple__ = version_tuple = (1, 46, 2)
31
+ __version__ = version = '1.47.0'
32
+ __version_tuple__ = version_tuple = (1, 47, 0)
33
33
 
34
34
  __commit_id__ = commit_id = None
fal/api/api.py CHANGED
@@ -514,6 +514,7 @@ class FalServerlessHost(Host):
514
514
  *,
515
515
  application_name: Optional[str] = None,
516
516
  application_auth_mode: Optional[AuthModeLiteral] = None,
517
+ source_code: Optional[str] = None,
517
518
  metadata: Optional[dict[str, Any]] = None,
518
519
  deployment_strategy: DeploymentStrategyLiteral,
519
520
  scale: bool = True,
@@ -574,6 +575,7 @@ class FalServerlessHost(Host):
574
575
  environments,
575
576
  application_name=application_name,
576
577
  auth_mode=application_auth_mode,
578
+ source_code=source_code,
577
579
  machine_requirements=machine_requirements,
578
580
  metadata=metadata,
579
581
  deployment_strategy=deployment_strategy,
fal/api/deploy.py CHANGED
@@ -122,6 +122,7 @@ def _deploy_from_reference(
122
122
  options=isolated_function.options,
123
123
  application_name=app_name,
124
124
  application_auth_mode=app_auth, # type: ignore
125
+ source_code=loaded.source_code,
125
126
  metadata=isolated_function.options.host.get("metadata", {}),
126
127
  deployment_strategy=strategy,
127
128
  scale=scale,
fal/sdk.py CHANGED
@@ -632,6 +632,7 @@ class FalServerlessConnection:
632
632
  application_name: str | None = None,
633
633
  auth_mode: Optional[AuthModeLiteral] = None,
634
634
  *,
635
+ source_code: str | None = None,
635
636
  serialization_method: str = _DEFAULT_SERIALIZATION_METHOD,
636
637
  machine_requirements: MachineRequirements | None = None,
637
638
  metadata: dict[str, Any] | None = None,
@@ -700,6 +701,7 @@ class FalServerlessConnection:
700
701
  scale=scale,
701
702
  private_logs=private_logs,
702
703
  files=files,
704
+ source_code=source_code,
703
705
  )
704
706
  for partial_result in self.stub.RegisterApplication(request):
705
707
  yield from_grpc(partial_result)
fal/utils.py CHANGED
@@ -14,6 +14,7 @@ class LoadedFunction:
14
14
  endpoints: list[str]
15
15
  app_name: str | None
16
16
  app_auth: str | None
17
+ source_code: str | None
17
18
 
18
19
 
19
20
  def load_function_from(
@@ -57,6 +58,9 @@ def load_function_from(
57
58
 
58
59
  target = module[function_name]
59
60
 
61
+ with open(file_path) as f:
62
+ source_code = f.read()
63
+
60
64
  endpoints = ["/"]
61
65
  if isinstance(target, type) and issubclass(target, App):
62
66
  app_name = target.app_name
@@ -68,4 +72,6 @@ def load_function_from(
68
72
  raise FalServerlessError(
69
73
  f"Function '{function_name}' is not a fal.function or a fal.App"
70
74
  )
71
- return LoadedFunction(target, endpoints, app_name=app_name, app_auth=app_auth)
75
+ return LoadedFunction(
76
+ target, endpoints, app_name=app_name, app_auth=app_auth, source_code=source_code
77
+ )
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fal
3
- Version: 1.46.2
3
+ Version: 1.47.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
8
  Requires-Dist: isolate[build]<0.21.0,>=0.18.0
9
- Requires-Dist: isolate-proto<0.19.0,>=0.18.0
9
+ Requires-Dist: isolate-proto<0.20.0,>=0.19.0
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
@@ -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=MyiW3dCNr7rXFhLUn70uLkuWcqfKcDA4uyCrp7qx8do,706
3
+ fal/_fal_version.py,sha256=AC7UG3sxgeLuYPm4PsUGj8NvnIK0NBQ2MrOYq5BiW-E,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
@@ -13,15 +13,15 @@ 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=Nk3dbVyYXQi2XtzBd5Bdex-6TK8iYMS6vPDqJvlhxyk,29431
16
+ fal/sdk.py,sha256=e4ZzTn4qjUeRc0puqdITtI0omDrClenZNwmuUea4Z8I,29508
17
17
  fal/sync.py,sha256=ZuIJA2-hTPNANG9B_NNJZUsO68EIdTH0dc9MzeVE2VU,4340
18
- fal/utils.py,sha256=sYjJLl68AG21BOmmE9H2aW161DMvCh3qIduH-CyZhk4,2179
18
+ fal/utils.py,sha256=GSDJFdGBM7MtjkWIZW-VHcA6T99nZVYcRClLcoKNHuk,2309
19
19
  fal/workflows.py,sha256=Zl4f6Bs085hY40zmqScxDUyCu7zXkukDbW02iYOLTTI,14805
20
20
  fal/api/__init__.py,sha256=N8FaQCgKU05WTvxYBB8PYzkDJ34p3w8AsloRM2-q4SA,33
21
- fal/api/api.py,sha256=tW3B4AbprSnpKDtGb_mjUwUwImd9VaaxUpMtS0f45ks,51860
21
+ fal/api/api.py,sha256=m67EqjDcCiCHFdBDkVpCqFEgiW2panqKXay-JZxpXzo,51940
22
22
  fal/api/apps.py,sha256=YSy2RUvFGBmXp8OrtWf49FMLvzwS79e0LD426naaMx0,2219
23
23
  fal/api/client.py,sha256=TYTaCz0mh5fnLcV37JUqDhWFYU6rqaqbfVli_jpaq_g,3665
24
- fal/api/deploy.py,sha256=87ZFOFB8sGPaWNkfyU17hL3RapUWMUMPiOqxrwzcyi4,6435
24
+ fal/api/deploy.py,sha256=dJaGP3ndafTI8f2SpTjA17ZZgDY_-P27rwdlg2Pycfo,6475
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
@@ -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.46.2.dist-info/METADATA,sha256=CA7VvSjkeiH4ioBcZyALt2zbnxfoP4UpiBwiqyeEk7Q,4223
156
- fal-1.46.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
157
- fal-1.46.2.dist-info/entry_points.txt,sha256=32zwTUC1U1E7nSTIGCoANQOQ3I7-qHG5wI6gsVz5pNU,37
158
- fal-1.46.2.dist-info/top_level.txt,sha256=r257X1L57oJL8_lM0tRrfGuXFwm66i1huwQygbpLmHw,21
159
- fal-1.46.2.dist-info/RECORD,,
155
+ fal-1.47.0.dist-info/METADATA,sha256=bvggcAXgYK1uoCW0kF4_mZxZ8eeu4haFvmuVRp9QdVE,4223
156
+ fal-1.47.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
157
+ fal-1.47.0.dist-info/entry_points.txt,sha256=32zwTUC1U1E7nSTIGCoANQOQ3I7-qHG5wI6gsVz5pNU,37
158
+ fal-1.47.0.dist-info/top_level.txt,sha256=r257X1L57oJL8_lM0tRrfGuXFwm66i1huwQygbpLmHw,21
159
+ fal-1.47.0.dist-info/RECORD,,
File without changes