fal 1.0.7__py3-none-any.whl → 1.1.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.

Potentially problematic release.


This version of fal might be problematic. Click here for more details.

Files changed (50) hide show
  1. fal/_fal_version.py +2 -2
  2. fal/api.py +116 -29
  3. fal/app.py +63 -1
  4. fal/cli/deploy.py +18 -8
  5. fal/cli/doctor.py +37 -0
  6. fal/cli/main.py +2 -2
  7. fal/sdk.py +6 -2
  8. fal/toolkit/file/providers/fal.py +1 -0
  9. fal/workflows.py +1 -1
  10. {fal-1.0.7.dist-info → fal-1.1.0.dist-info}/METADATA +2 -1
  11. {fal-1.0.7.dist-info → fal-1.1.0.dist-info}/RECORD +49 -27
  12. {fal-1.0.7.dist-info → fal-1.1.0.dist-info}/WHEEL +1 -1
  13. openapi_fal_rest/api/comfy/__init__.py +0 -0
  14. openapi_fal_rest/api/comfy/create_workflow.py +172 -0
  15. openapi_fal_rest/api/comfy/delete_workflow.py +175 -0
  16. openapi_fal_rest/api/comfy/get_workflow.py +181 -0
  17. openapi_fal_rest/api/comfy/list_user_workflows.py +189 -0
  18. openapi_fal_rest/api/comfy/update_workflow.py +198 -0
  19. openapi_fal_rest/api/users/__init__.py +0 -0
  20. openapi_fal_rest/api/users/get_current_user.py +143 -0
  21. openapi_fal_rest/api/workflows/{create_or_update_workflow_workflows_post.py → create_workflow.py} +4 -4
  22. openapi_fal_rest/api/workflows/{get_workflows_workflows_get.py → list_user_workflows.py} +4 -4
  23. openapi_fal_rest/api/workflows/update_workflow.py +198 -0
  24. openapi_fal_rest/models/__init__.py +32 -10
  25. openapi_fal_rest/models/comfy_workflow_detail.py +109 -0
  26. openapi_fal_rest/models/comfy_workflow_item.py +88 -0
  27. openapi_fal_rest/models/comfy_workflow_schema.py +119 -0
  28. openapi_fal_rest/models/{execute_workflow_workflows_user_id_workflow_name_post_json_body_type_0.py → comfy_workflow_schema_extra_data.py} +5 -5
  29. openapi_fal_rest/models/{execute_workflow_workflows_user_id_workflow_name_post_response_200_type_0.py → comfy_workflow_schema_fal_inputs.py} +5 -5
  30. openapi_fal_rest/models/comfy_workflow_schema_fal_inputs_dev_info.py +44 -0
  31. openapi_fal_rest/models/{workflow_detail_contents_type_0.py → comfy_workflow_schema_prompt.py} +5 -5
  32. openapi_fal_rest/models/current_user.py +138 -0
  33. openapi_fal_rest/models/customer_details.py +8 -8
  34. openapi_fal_rest/models/lock_reason.py +3 -0
  35. openapi_fal_rest/models/page_comfy_workflow_item.py +107 -0
  36. openapi_fal_rest/models/team_role.py +10 -0
  37. openapi_fal_rest/models/typed_comfy_workflow.py +85 -0
  38. openapi_fal_rest/models/typed_comfy_workflow_update.py +95 -0
  39. openapi_fal_rest/models/typed_workflow_update.py +95 -0
  40. openapi_fal_rest/models/user_member.py +87 -0
  41. openapi_fal_rest/models/workflow_contents.py +20 -1
  42. openapi_fal_rest/models/workflow_contents_metadata.py +44 -0
  43. openapi_fal_rest/models/workflow_detail.py +18 -59
  44. openapi_fal_rest/models/workflow_detail_contents.py +44 -0
  45. openapi_fal_rest/models/workflow_item.py +19 -1
  46. openapi_fal_rest/api/workflows/execute_workflow_workflows_user_id_workflow_name_post.py +0 -268
  47. {fal-1.0.7.dist-info → fal-1.1.0.dist-info}/entry_points.txt +0 -0
  48. {fal-1.0.7.dist-info → fal-1.1.0.dist-info}/top_level.txt +0 -0
  49. /openapi_fal_rest/api/workflows/{delete_workflow_workflows_user_id_workflow_name_delete.py → delete_workflow.py} +0 -0
  50. /openapi_fal_rest/api/workflows/{get_workflow_workflows_user_id_workflow_name_get.py → get_workflow.py} +0 -0
@@ -1,19 +1,19 @@
1
1
  fal/__init__.py,sha256=wXs1G0gSc7ZK60-bHe-B2m0l_sA6TrFk4BxY0tMoLe8,784
2
2
  fal/__main__.py,sha256=MSmt_5Xg84uHqzTN38JwgseJK8rsJn_11A8WD99VtEo,61
3
- fal/_fal_version.py,sha256=B_2jTRPLk-a7dhEz8Rto7VRGwxfpXrqO4mYrudjn7bw,411
3
+ fal/_fal_version.py,sha256=CqDGE4B1ZqZ-56mxeOFcXRTmlxrdOh4ayrjbcPjziE4,411
4
4
  fal/_serialization.py,sha256=7urrZXw99qmsK-RkjCurk6Va4TMEfDIMajkzKbSW4j4,7655
5
5
  fal/_version.py,sha256=EBGqrknaf1WygENX-H4fBefLvHryvJBBGtVJetaB0NY,266
6
- fal/api.py,sha256=SX8o5Uc5TAl2sZ3u1RuNKEpj7g_OPZOwVTyKsSxNgjk,38045
7
- fal/app.py,sha256=Sublwqso-gRlJ7oNX00JY8YK0P0WLTrB2c57GQH8Oxw,13946
6
+ fal/api.py,sha256=x60GlBWynDd1yhHsVWeqf07WVTzgbwNC6cqCjhlTiFQ,40556
7
+ fal/app.py,sha256=duOf_YKE8o30hmhNtF9zvkT8wlKYXW7hdQLJtPrXHik,15793
8
8
  fal/apps.py,sha256=UhR6mq8jBiTAp-QvUnvbnMNcuJ5wHIKSqdlfyx8aBQ8,6829
9
9
  fal/container.py,sha256=V7riyyq8AZGwEX9QaqRQDZyDN_bUKeRKV1OOZArXjL0,622
10
10
  fal/flags.py,sha256=oWN_eidSUOcE9wdPK_77si3A1fpgOC0UEERPsvNLIMc,842
11
11
  fal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  fal/rest_client.py,sha256=kGBGmuyHfX1lR910EoKCYPjsyU8MdXawT_cW2q8Sajc,568
13
- fal/sdk.py,sha256=eHcg5TRouGL5d_9-p44x6lQUCYXVXdul6iEETCUov5Q,19976
13
+ fal/sdk.py,sha256=_1aK9VSzHPoDPbLm3nbhE4213zI66qAsgYs1Y1Wc3J8,20077
14
14
  fal/sync.py,sha256=ZuIJA2-hTPNANG9B_NNJZUsO68EIdTH0dc9MzeVE2VU,4340
15
15
  fal/utils.py,sha256=MFDs-eO3rBgc3jqIwBpfBtvvK5tbzAYWMzHV-tTVLic,1754
16
- fal/workflows.py,sha256=4rjqL4xB6GHLJsqTplJmAvpd6uHZJ28sc8su33BFXEo,14682
16
+ fal/workflows.py,sha256=jx3tGy2R7cN6lLvOzT6lhhlcjmiq64iZls2smVrmQj0,14657
17
17
  fal/auth/__init__.py,sha256=r8iA2-5ih7-Fik3gEC4HEWNFbGoxpYnXpZu1icPIoS0,3561
18
18
  fal/auth/auth0.py,sha256=rSG1mgH-QGyKfzd7XyAaj1AYsWt-ho8Y_LZ-FUVWzh4,5421
19
19
  fal/auth/local.py,sha256=sndkM6vKpeVny6NHTacVlTbiIFqaksOmw0Viqs_RN1U,1790
@@ -21,9 +21,10 @@ fal/cli/__init__.py,sha256=padK4o0BFqq61kxAA1qQ0jYr2SuhA2mf90B3AaRkmJA,37
21
21
  fal/cli/apps.py,sha256=Dqcx7ewUNY6dh0bYqRlOCHVDzmkdpFxe9CNThEz7HX4,8144
22
22
  fal/cli/auth.py,sha256=--MhfHGwxmtHbRkGioyn1prKn_U-pBzbz0G_QeZou-U,1352
23
23
  fal/cli/debug.py,sha256=1doDNwoaPDfLQginGNBxpC20dZYs5UxIojflDvV1Q04,1342
24
- fal/cli/deploy.py,sha256=S_HIMLqDpGyzDdbiIxudRizwjGoAaHpN-sXcl2uCaQ4,4329
24
+ fal/cli/deploy.py,sha256=yx7QDv4PTrqLCUODgK3glMRs58of9nlCM1_a_GYaZBk,4783
25
+ fal/cli/doctor.py,sha256=U4ne9LX5gQwNblsYQ27XdO8AYDgbYjTO39EtxhwexRM,983
25
26
  fal/cli/keys.py,sha256=-9N6ZY6rW-_IE9tpupgaBPDGjGdKB3HKqU2g9daM3Xc,3109
26
- fal/cli/main.py,sha256=bLwuHlkCiroVDZ21WcL_qAv71k5kNTloWreZHuO0jR4,1977
27
+ fal/cli/main.py,sha256=MxETDhqIT37quMbmofSMxBcAFOhnEHjpQ_pYEtOhApM,1993
27
28
  fal/cli/parser.py,sha256=r1hd5e8Jq6yzDZw8-S0On1EjJbjRtHMuVuHC6MlvUj4,2835
28
29
  fal/cli/run.py,sha256=NXwzkAWCKrRwgoMLsBOgW7RJPJW4IgSTrG85q2iePyk,894
29
30
  fal/cli/secrets.py,sha256=mgHp3gBr8d2su7wBApeADKWHPkYu2ueB6gG3eNMETh8,2595
@@ -44,7 +45,7 @@ fal/toolkit/optimize.py,sha256=p75sovF0SmRP6zxzpIaaOmqlxvXB_xEz3XPNf59EF7w,1339
44
45
  fal/toolkit/file/__init__.py,sha256=FbNl6wD-P0aSSTUwzHt4HujBXrbC3ABmaigPQA4hRfg,70
45
46
  fal/toolkit/file/file.py,sha256=r8PzNCgv8Gkj6s1zM0yW-pcMKIouyaiEH06iBue8MwM,6066
46
47
  fal/toolkit/file/types.py,sha256=9CqDh8SmNJNzfsrvtj468uo2SprJH9rOk8KMhhfU73c,1050
47
- fal/toolkit/file/providers/fal.py,sha256=AtYYXBM72leb8OmP6pvYiNZCWhEmoi9VfpckJ8FuZto,3700
48
+ fal/toolkit/file/providers/fal.py,sha256=ACxkfQ9kmMJ1xP8dNUHzkLkJJLZvoybTpVt8avGb8Nw,3747
48
49
  fal/toolkit/file/providers/gcp.py,sha256=7Lg7BXoHKkFu0jkGv3_vKh2Ks6eRfDMbw31N3mvDUtk,1913
49
50
  fal/toolkit/file/providers/r2.py,sha256=YW5aJBOX41MQxfx1rA_f-IiJhAPMZ5md0cxBcg3y08I,2537
50
51
  fal/toolkit/image/__init__.py,sha256=qNLyXsBWysionUjbeWbohLqWlw3G_UpzunamkZd_JLQ,71
@@ -61,40 +62,61 @@ openapi_fal_rest/api/applications/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
61
62
  openapi_fal_rest/api/applications/app_metadata.py,sha256=GqG6Q7jt8Jcyhb3ms_6i0M1B3cy205y3_A8W-AGEapY,5120
62
63
  openapi_fal_rest/api/billing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
64
  openapi_fal_rest/api/billing/get_user_details.py,sha256=2HQHRUQj8QwqSKgiV_USBdXCxGlfaVTBbLiPaDsMBUM,4013
65
+ openapi_fal_rest/api/comfy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
+ openapi_fal_rest/api/comfy/create_workflow.py,sha256=3TTnMB3s2IQSMvECzQx6c68mcEO4ZwU8s8MfrQyCU7o,4689
67
+ openapi_fal_rest/api/comfy/delete_workflow.py,sha256=eiK1usnC16mUtRyrWrys-7nrMepEir9FxQaVb7BkVIs,4406
68
+ openapi_fal_rest/api/comfy/get_workflow.py,sha256=nAkEi8XnJGb1q7FySoqDEzVR1aIh28hK-ZedijbpUwc,4645
69
+ openapi_fal_rest/api/comfy/list_user_workflows.py,sha256=ty6OBZkR8pz6KJJZ4BbI_Gt-WWDRIDhFldOMkWp2_3s,5328
70
+ openapi_fal_rest/api/comfy/update_workflow.py,sha256=ACUt2IU22AR7MXLcA9ffFstzSB43YQ2X-HQ25YVw1p4,5322
64
71
  openapi_fal_rest/api/files/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
72
  openapi_fal_rest/api/files/check_dir_hash.py,sha256=zPNlOwG4YVvnhgfrleQtYLhI1lG0t8YQ1CU3TyvXvfk,4747
66
73
  openapi_fal_rest/api/files/upload_local_file.py,sha256=p2lM7hswGbs8KNLg1Pp6vwV7x-1PKtWX-aYmaHUHSDU,5649
74
+ openapi_fal_rest/api/users/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
+ openapi_fal_rest/api/users/get_current_user.py,sha256=PpOBI3q1mGjAjb-SMWbV6xKounZXWNlsO62ZxOa5Oys,3942
67
76
  openapi_fal_rest/api/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- openapi_fal_rest/api/workflows/create_or_update_workflow_workflows_post.py,sha256=bS-CUo3CMsBxkXBEVOoa_GqL-EDgVMW9FHUMyYBneug,4611
69
- openapi_fal_rest/api/workflows/delete_workflow_workflows_user_id_workflow_name_delete.py,sha256=svJcV5q2e8caxuLJKIld3M7-raQFqSIxPNq58e3AgaA,4590
70
- openapi_fal_rest/api/workflows/execute_workflow_workflows_user_id_workflow_name_post.py,sha256=kofDDU3TEVQ8Fmua_K2-lk5xh16g6_FNFHQ0KzoFMcM,8743
71
- openapi_fal_rest/api/workflows/get_workflow_workflows_user_id_workflow_name_get.py,sha256=-E-TELi9Q_-yqobdHAcTHVm-8HithJRUGk7wc1mLA18,4763
72
- openapi_fal_rest/api/workflows/get_workflows_workflows_get.py,sha256=iJF3lNYp22p8-JbbBMDoHO9iXQB8779lSnH2fNimYP4,5242
73
- openapi_fal_rest/models/__init__.py,sha256=pGB91qXG3VDxob4DPAh3OMa2fyJFYBxc-jQ-9A4y3Gs,2037
77
+ openapi_fal_rest/api/workflows/create_workflow.py,sha256=ICeiqkVJtzuBp9BruZzMqgrqbZBiLmY_uVQhOWILZ-o,4571
78
+ openapi_fal_rest/api/workflows/delete_workflow.py,sha256=svJcV5q2e8caxuLJKIld3M7-raQFqSIxPNq58e3AgaA,4590
79
+ openapi_fal_rest/api/workflows/get_workflow.py,sha256=-E-TELi9Q_-yqobdHAcTHVm-8HithJRUGk7wc1mLA18,4763
80
+ openapi_fal_rest/api/workflows/list_user_workflows.py,sha256=aO7Wa0ogMgoKBDxbG7NMBbPs74Pp7XyM71b9mOuYEbc,5262
81
+ openapi_fal_rest/api/workflows/update_workflow.py,sha256=Q3-FnFnCGNBjYGgip-6L4QMWVOcZuODmAM1HPfKiYyI,5384
82
+ openapi_fal_rest/models/__init__.py,sha256=JNBQjkcf5E_vaeYvEtdEHzxSSk6H1d0Fop8s4Mk8R1c,2872
74
83
  openapi_fal_rest/models/app_metadata_response_app_metadata.py,sha256=1vx_5cp8V0jyE8iBRIe8TfngaeXMojfEpMCpT6i3qvs,1252
75
84
  openapi_fal_rest/models/body_upload_local_file.py,sha256=rOTEbYBXfwZk8TsywZWSPPQQEfJgvsLIufT6A40RJZs,1980
76
- openapi_fal_rest/models/customer_details.py,sha256=_zvJ_Y2uLowpXqhUnkcpoZpyIB0s8kc5pWSdlBA2_7o,3913
77
- openapi_fal_rest/models/execute_workflow_workflows_user_id_workflow_name_post_json_body_type_0.py,sha256=84MkDJeOgxwPozZZuP8Fb2dqlF57fmXuRGlrvMKxUew,1418
78
- openapi_fal_rest/models/execute_workflow_workflows_user_id_workflow_name_post_response_200_type_0.py,sha256=SAGhH0grz3tYISHqsTr-MeiKWqTQsi8gFwSK2ksBoqY,1433
85
+ openapi_fal_rest/models/comfy_workflow_detail.py,sha256=GR3Ft0iGlk3MTzJ-DyWJP0et2fxcS2aPMrbjzFd49kQ,2885
86
+ openapi_fal_rest/models/comfy_workflow_item.py,sha256=ZqFfqxr-BBWy-GBuPmyzzaSER6CaJFRIR2FevzV0OZs,2249
87
+ openapi_fal_rest/models/comfy_workflow_schema.py,sha256=SW8XYfYCZ0GUq5bOaxSeDrBh0cS-uA1jBajYV1mdj08,4586
88
+ openapi_fal_rest/models/comfy_workflow_schema_extra_data.py,sha256=DImMZQEmwPl3VTyZUK_dGIjwbhiQYYTbTizU3QB3LN8,1242
89
+ openapi_fal_rest/models/comfy_workflow_schema_fal_inputs.py,sha256=ZbM4bR77-Bzknwz6NBHSk0F3-oYAX8lxJ5dn1qUABKw,1242
90
+ openapi_fal_rest/models/comfy_workflow_schema_fal_inputs_dev_info.py,sha256=2n_NQZD5HfNa7-FPhoxGbrgCj5BbmYSZAPioGg35PWM,1283
91
+ openapi_fal_rest/models/comfy_workflow_schema_prompt.py,sha256=akFEhmHHaLiC3dJJcePKpnWF7G_G00ugl13lHVkRsGw,1224
92
+ openapi_fal_rest/models/current_user.py,sha256=MjEnWZGBs2TjyjeDOJ9QFF06phLxYcX50psEi86w7qY,4044
93
+ openapi_fal_rest/models/customer_details.py,sha256=dxo1c6Eh5Sht5cFxtWIzh52PYEF5N7_hpxaqiC7KhrE,4073
79
94
  openapi_fal_rest/models/hash_check.py,sha256=T9R7n4EdadCxbFUZvresZZFPYwDfyJMZVNxY6wIJEE8,1352
80
95
  openapi_fal_rest/models/http_validation_error.py,sha256=2nhqlv8RX2qp6VR7hb8-SKtzJWXSZ0J95ThW9J4agJo,2131
81
- openapi_fal_rest/models/lock_reason.py,sha256=3b_foCV6bZKvsbyic3hM1_qzvJk_9ZD_5mS1GzSawdw,703
96
+ openapi_fal_rest/models/lock_reason.py,sha256=f3m_JdFhY4pmSyYH9tL4fJmpzIzGIikLlOoc32wdLgk,846
97
+ openapi_fal_rest/models/page_comfy_workflow_item.py,sha256=kw6mYOcLkMv5MdfKme7IXzuhYmSlmwIIzmBJ3zD1grs,2877
82
98
  openapi_fal_rest/models/page_workflow_item.py,sha256=5DCUMQ2b8LAH8So6nQJW8mhlxZbedM4ixAJqbf-KZNE,2812
99
+ openapi_fal_rest/models/team_role.py,sha256=SY1MjPLsXeLE7nb6Zz9MzKucSLbO8fQVhugY7mjEvWg,185
100
+ openapi_fal_rest/models/typed_comfy_workflow.py,sha256=2UmQnZneQI0za4mwQSw4luzMseYyvdK5XtIBIQUtxj0,2170
101
+ openapi_fal_rest/models/typed_comfy_workflow_update.py,sha256=6ym6WKSvqxeiUnVhUX9JHWiWywe8ZDra7Hy6rJpV96c,2821
83
102
  openapi_fal_rest/models/typed_workflow.py,sha256=haE4Sa16s4iea_VNYtVR7cP3A8Z2ja2KNywYJhc6GmQ,2119
103
+ openapi_fal_rest/models/typed_workflow_update.py,sha256=u0omx2jSdf4UaFoio2IIJZuDckYSR4SJYF47zJ3bhPY,2767
104
+ openapi_fal_rest/models/user_member.py,sha256=WrErlZpCsQtLZVOJrdSpcIOqnBfEycig-oZVIu8KGeA,2212
84
105
  openapi_fal_rest/models/validation_error.py,sha256=I6tB-HbEOmE0ua27erDX5PX5YUynENv_dgPN3SrwTrQ,2091
85
- openapi_fal_rest/models/workflow_contents.py,sha256=TIockMwkpjeUjbWtZmtzcC327akwD4XgnTskgdsHQFQ,2703
106
+ openapi_fal_rest/models/workflow_contents.py,sha256=3n14xb_irIBWBrsbI0X3kKIPj8NNiWI4bwQb9m2sMmY,3542
107
+ openapi_fal_rest/models/workflow_contents_metadata.py,sha256=JNuIQ70mSHASUW4suVbr5Z-WZWzh_l7eQB6QWOT8xI0,1216
86
108
  openapi_fal_rest/models/workflow_contents_nodes.py,sha256=mMeQO_DlQZQPSwyGKTNC9eBovFVCVQNFbrB60k7tTtU,1695
87
109
  openapi_fal_rest/models/workflow_contents_output.py,sha256=2m4ITxXcQxTt8iiY5bos0QQW_uMYOGAR1xAcm1rzrcI,1206
88
- openapi_fal_rest/models/workflow_detail.py,sha256=lxlPkiOgc9_Dz6c0v3mDJNFXa4CWDkMWw9on-9McojE,4597
89
- openapi_fal_rest/models/workflow_detail_contents_type_0.py,sha256=DUQg0mDQKczL5g76rJMYvFK_RFcQaQPC1BoTr43eheA,1237
90
- openapi_fal_rest/models/workflow_item.py,sha256=M_8ojGsBpnKUe3l9yDnciPPgEjmfq1v-Bn9kVHPxT-0,1988
110
+ openapi_fal_rest/models/workflow_detail.py,sha256=DrCvgCaZJT-P8Zj48Iza3fF5wEh-Wo7MbGqfP7k33QM,2877
111
+ openapi_fal_rest/models/workflow_detail_contents.py,sha256=Dy2bxIuh4Sls30oRggbMA4QBnF-toWh_lJLu9mC-hkA,1206
112
+ openapi_fal_rest/models/workflow_item.py,sha256=fUCx9lM0USogxwn-ymxXt1uKakNxjGsSEcM04GXbYps,2584
91
113
  openapi_fal_rest/models/workflow_node.py,sha256=DZ3i-auxvm2cWFTBE52YSoLOEIVFvLPW9MyzyR91e78,1797
92
114
  openapi_fal_rest/models/workflow_node_type.py,sha256=-FzyeY2bxcNmizKbJI8joG7byRiPyAthdBLlioLH8Zw,161
93
115
  openapi_fal_rest/models/workflow_schema.py,sha256=4K5gsv9u9pxx2ItkffoyHeNjBBYf6ur5bN4m_zePZNY,2019
94
116
  openapi_fal_rest/models/workflow_schema_input.py,sha256=2OkOXWHTNsCXHWS6EGDFzcJKkW5FIap-2gfO233EvZQ,1191
95
117
  openapi_fal_rest/models/workflow_schema_output.py,sha256=EblwSPAGfWfYVWw_WSSaBzQVju296is9o28rMBAd0mc,1196
96
- fal-1.0.7.dist-info/METADATA,sha256=UCGyga5ckEOE5PUeB0rC68NJou9Ehq7j9d34c79HgyY,3738
97
- fal-1.0.7.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
98
- fal-1.0.7.dist-info/entry_points.txt,sha256=32zwTUC1U1E7nSTIGCoANQOQ3I7-qHG5wI6gsVz5pNU,37
99
- fal-1.0.7.dist-info/top_level.txt,sha256=r257X1L57oJL8_lM0tRrfGuXFwm66i1huwQygbpLmHw,21
100
- fal-1.0.7.dist-info/RECORD,,
118
+ fal-1.1.0.dist-info/METADATA,sha256=OvMciwRk4COCWrBAjdUkaM5b7vJqdUzbR1RYHJ7yn6A,3777
119
+ fal-1.1.0.dist-info/WHEEL,sha256=mguMlWGMX-VHnMpKOjjQidIo1ssRlCFu4a4mBpz1s2M,91
120
+ fal-1.1.0.dist-info/entry_points.txt,sha256=32zwTUC1U1E7nSTIGCoANQOQ3I7-qHG5wI6gsVz5pNU,37
121
+ fal-1.1.0.dist-info/top_level.txt,sha256=r257X1L57oJL8_lM0tRrfGuXFwm66i1huwQygbpLmHw,21
122
+ fal-1.1.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (70.1.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
File without changes
@@ -0,0 +1,172 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import Client
8
+ from ...models.comfy_workflow_detail import ComfyWorkflowDetail
9
+ from ...models.http_validation_error import HTTPValidationError
10
+ from ...models.typed_comfy_workflow import TypedComfyWorkflow
11
+ from ...types import Response
12
+
13
+
14
+ def _get_kwargs(
15
+ *,
16
+ client: Client,
17
+ json_body: TypedComfyWorkflow,
18
+ ) -> Dict[str, Any]:
19
+ url = "{}/comfy/".format(client.base_url)
20
+
21
+ headers: Dict[str, str] = client.get_headers()
22
+ cookies: Dict[str, Any] = client.get_cookies()
23
+
24
+ json_json_body = json_body.to_dict()
25
+
26
+ return {
27
+ "method": "post",
28
+ "url": url,
29
+ "headers": headers,
30
+ "cookies": cookies,
31
+ "timeout": client.get_timeout(),
32
+ "follow_redirects": client.follow_redirects,
33
+ "json": json_json_body,
34
+ }
35
+
36
+
37
+ def _parse_response(
38
+ *, client: Client, response: httpx.Response
39
+ ) -> Optional[Union[ComfyWorkflowDetail, HTTPValidationError]]:
40
+ if response.status_code == HTTPStatus.CREATED:
41
+ response_201 = ComfyWorkflowDetail.from_dict(response.json())
42
+
43
+ return response_201
44
+ if response.status_code == HTTPStatus.UNPROCESSABLE_ENTITY:
45
+ response_422 = HTTPValidationError.from_dict(response.json())
46
+
47
+ return response_422
48
+ if client.raise_on_unexpected_status:
49
+ raise errors.UnexpectedStatus(response.status_code, response.content)
50
+ else:
51
+ return None
52
+
53
+
54
+ def _build_response(
55
+ *, client: Client, response: httpx.Response
56
+ ) -> Response[Union[ComfyWorkflowDetail, HTTPValidationError]]:
57
+ return Response(
58
+ status_code=HTTPStatus(response.status_code),
59
+ content=response.content,
60
+ headers=response.headers,
61
+ parsed=_parse_response(client=client, response=response),
62
+ )
63
+
64
+
65
+ def sync_detailed(
66
+ *,
67
+ client: Client,
68
+ json_body: TypedComfyWorkflow,
69
+ ) -> Response[Union[ComfyWorkflowDetail, HTTPValidationError]]:
70
+ """Create Workflow
71
+
72
+ Args:
73
+ json_body (TypedComfyWorkflow):
74
+
75
+ Raises:
76
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
77
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
78
+
79
+ Returns:
80
+ Response[Union[ComfyWorkflowDetail, HTTPValidationError]]
81
+ """
82
+
83
+ kwargs = _get_kwargs(
84
+ client=client,
85
+ json_body=json_body,
86
+ )
87
+
88
+ response = httpx.request(
89
+ verify=client.verify_ssl,
90
+ **kwargs,
91
+ )
92
+
93
+ return _build_response(client=client, response=response)
94
+
95
+
96
+ def sync(
97
+ *,
98
+ client: Client,
99
+ json_body: TypedComfyWorkflow,
100
+ ) -> Optional[Union[ComfyWorkflowDetail, HTTPValidationError]]:
101
+ """Create Workflow
102
+
103
+ Args:
104
+ json_body (TypedComfyWorkflow):
105
+
106
+ Raises:
107
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
108
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
109
+
110
+ Returns:
111
+ Union[ComfyWorkflowDetail, HTTPValidationError]
112
+ """
113
+
114
+ return sync_detailed(
115
+ client=client,
116
+ json_body=json_body,
117
+ ).parsed
118
+
119
+
120
+ async def asyncio_detailed(
121
+ *,
122
+ client: Client,
123
+ json_body: TypedComfyWorkflow,
124
+ ) -> Response[Union[ComfyWorkflowDetail, HTTPValidationError]]:
125
+ """Create Workflow
126
+
127
+ Args:
128
+ json_body (TypedComfyWorkflow):
129
+
130
+ Raises:
131
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
132
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
133
+
134
+ Returns:
135
+ Response[Union[ComfyWorkflowDetail, HTTPValidationError]]
136
+ """
137
+
138
+ kwargs = _get_kwargs(
139
+ client=client,
140
+ json_body=json_body,
141
+ )
142
+
143
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
144
+ response = await _client.request(**kwargs)
145
+
146
+ return _build_response(client=client, response=response)
147
+
148
+
149
+ async def asyncio(
150
+ *,
151
+ client: Client,
152
+ json_body: TypedComfyWorkflow,
153
+ ) -> Optional[Union[ComfyWorkflowDetail, HTTPValidationError]]:
154
+ """Create Workflow
155
+
156
+ Args:
157
+ json_body (TypedComfyWorkflow):
158
+
159
+ Raises:
160
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
161
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
162
+
163
+ Returns:
164
+ Union[ComfyWorkflowDetail, HTTPValidationError]
165
+ """
166
+
167
+ return (
168
+ await asyncio_detailed(
169
+ client=client,
170
+ json_body=json_body,
171
+ )
172
+ ).parsed
@@ -0,0 +1,175 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import Client
8
+ from ...models.http_validation_error import HTTPValidationError
9
+ from ...types import Response
10
+
11
+
12
+ def _get_kwargs(
13
+ user_id: str,
14
+ name: str,
15
+ *,
16
+ client: Client,
17
+ ) -> Dict[str, Any]:
18
+ url = "{}/comfy/{user_id}/{name}".format(client.base_url, user_id=user_id, name=name)
19
+
20
+ headers: Dict[str, str] = client.get_headers()
21
+ cookies: Dict[str, Any] = client.get_cookies()
22
+
23
+ return {
24
+ "method": "delete",
25
+ "url": url,
26
+ "headers": headers,
27
+ "cookies": cookies,
28
+ "timeout": client.get_timeout(),
29
+ "follow_redirects": client.follow_redirects,
30
+ }
31
+
32
+
33
+ def _parse_response(*, client: Client, response: httpx.Response) -> Optional[Union[Any, HTTPValidationError]]:
34
+ if response.status_code == HTTPStatus.NO_CONTENT:
35
+ response_204 = cast(Any, None)
36
+ return response_204
37
+ if response.status_code == HTTPStatus.UNPROCESSABLE_ENTITY:
38
+ response_422 = HTTPValidationError.from_dict(response.json())
39
+
40
+ return response_422
41
+ if client.raise_on_unexpected_status:
42
+ raise errors.UnexpectedStatus(response.status_code, response.content)
43
+ else:
44
+ return None
45
+
46
+
47
+ def _build_response(*, client: Client, response: httpx.Response) -> Response[Union[Any, HTTPValidationError]]:
48
+ return Response(
49
+ status_code=HTTPStatus(response.status_code),
50
+ content=response.content,
51
+ headers=response.headers,
52
+ parsed=_parse_response(client=client, response=response),
53
+ )
54
+
55
+
56
+ def sync_detailed(
57
+ user_id: str,
58
+ name: str,
59
+ *,
60
+ client: Client,
61
+ ) -> Response[Union[Any, HTTPValidationError]]:
62
+ """Delete Workflow
63
+
64
+ Args:
65
+ user_id (str):
66
+ name (str):
67
+
68
+ Raises:
69
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
70
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
71
+
72
+ Returns:
73
+ Response[Union[Any, HTTPValidationError]]
74
+ """
75
+
76
+ kwargs = _get_kwargs(
77
+ user_id=user_id,
78
+ name=name,
79
+ client=client,
80
+ )
81
+
82
+ response = httpx.request(
83
+ verify=client.verify_ssl,
84
+ **kwargs,
85
+ )
86
+
87
+ return _build_response(client=client, response=response)
88
+
89
+
90
+ def sync(
91
+ user_id: str,
92
+ name: str,
93
+ *,
94
+ client: Client,
95
+ ) -> Optional[Union[Any, HTTPValidationError]]:
96
+ """Delete Workflow
97
+
98
+ Args:
99
+ user_id (str):
100
+ name (str):
101
+
102
+ Raises:
103
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
104
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
105
+
106
+ Returns:
107
+ Union[Any, HTTPValidationError]
108
+ """
109
+
110
+ return sync_detailed(
111
+ user_id=user_id,
112
+ name=name,
113
+ client=client,
114
+ ).parsed
115
+
116
+
117
+ async def asyncio_detailed(
118
+ user_id: str,
119
+ name: str,
120
+ *,
121
+ client: Client,
122
+ ) -> Response[Union[Any, HTTPValidationError]]:
123
+ """Delete Workflow
124
+
125
+ Args:
126
+ user_id (str):
127
+ name (str):
128
+
129
+ Raises:
130
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
131
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
132
+
133
+ Returns:
134
+ Response[Union[Any, HTTPValidationError]]
135
+ """
136
+
137
+ kwargs = _get_kwargs(
138
+ user_id=user_id,
139
+ name=name,
140
+ client=client,
141
+ )
142
+
143
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
144
+ response = await _client.request(**kwargs)
145
+
146
+ return _build_response(client=client, response=response)
147
+
148
+
149
+ async def asyncio(
150
+ user_id: str,
151
+ name: str,
152
+ *,
153
+ client: Client,
154
+ ) -> Optional[Union[Any, HTTPValidationError]]:
155
+ """Delete Workflow
156
+
157
+ Args:
158
+ user_id (str):
159
+ name (str):
160
+
161
+ Raises:
162
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
163
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
164
+
165
+ Returns:
166
+ Union[Any, HTTPValidationError]
167
+ """
168
+
169
+ return (
170
+ await asyncio_detailed(
171
+ user_id=user_id,
172
+ name=name,
173
+ client=client,
174
+ )
175
+ ).parsed
@@ -0,0 +1,181 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Dict, Optional, Union
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import Client
8
+ from ...models.comfy_workflow_detail import ComfyWorkflowDetail
9
+ from ...models.http_validation_error import HTTPValidationError
10
+ from ...types import Response
11
+
12
+
13
+ def _get_kwargs(
14
+ user_id: str,
15
+ name: str,
16
+ *,
17
+ client: Client,
18
+ ) -> Dict[str, Any]:
19
+ url = "{}/comfy/{user_id}/{name}".format(client.base_url, user_id=user_id, name=name)
20
+
21
+ headers: Dict[str, str] = client.get_headers()
22
+ cookies: Dict[str, Any] = client.get_cookies()
23
+
24
+ return {
25
+ "method": "get",
26
+ "url": url,
27
+ "headers": headers,
28
+ "cookies": cookies,
29
+ "timeout": client.get_timeout(),
30
+ "follow_redirects": client.follow_redirects,
31
+ }
32
+
33
+
34
+ def _parse_response(
35
+ *, client: Client, response: httpx.Response
36
+ ) -> Optional[Union[ComfyWorkflowDetail, HTTPValidationError]]:
37
+ if response.status_code == HTTPStatus.OK:
38
+ response_200 = ComfyWorkflowDetail.from_dict(response.json())
39
+
40
+ return response_200
41
+ if response.status_code == HTTPStatus.UNPROCESSABLE_ENTITY:
42
+ response_422 = HTTPValidationError.from_dict(response.json())
43
+
44
+ return response_422
45
+ if client.raise_on_unexpected_status:
46
+ raise errors.UnexpectedStatus(response.status_code, response.content)
47
+ else:
48
+ return None
49
+
50
+
51
+ def _build_response(
52
+ *, client: Client, response: httpx.Response
53
+ ) -> Response[Union[ComfyWorkflowDetail, HTTPValidationError]]:
54
+ return Response(
55
+ status_code=HTTPStatus(response.status_code),
56
+ content=response.content,
57
+ headers=response.headers,
58
+ parsed=_parse_response(client=client, response=response),
59
+ )
60
+
61
+
62
+ def sync_detailed(
63
+ user_id: str,
64
+ name: str,
65
+ *,
66
+ client: Client,
67
+ ) -> Response[Union[ComfyWorkflowDetail, HTTPValidationError]]:
68
+ """Get Workflow
69
+
70
+ Args:
71
+ user_id (str):
72
+ name (str):
73
+
74
+ Raises:
75
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
76
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
77
+
78
+ Returns:
79
+ Response[Union[ComfyWorkflowDetail, HTTPValidationError]]
80
+ """
81
+
82
+ kwargs = _get_kwargs(
83
+ user_id=user_id,
84
+ name=name,
85
+ client=client,
86
+ )
87
+
88
+ response = httpx.request(
89
+ verify=client.verify_ssl,
90
+ **kwargs,
91
+ )
92
+
93
+ return _build_response(client=client, response=response)
94
+
95
+
96
+ def sync(
97
+ user_id: str,
98
+ name: str,
99
+ *,
100
+ client: Client,
101
+ ) -> Optional[Union[ComfyWorkflowDetail, HTTPValidationError]]:
102
+ """Get Workflow
103
+
104
+ Args:
105
+ user_id (str):
106
+ name (str):
107
+
108
+ Raises:
109
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
110
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
111
+
112
+ Returns:
113
+ Union[ComfyWorkflowDetail, HTTPValidationError]
114
+ """
115
+
116
+ return sync_detailed(
117
+ user_id=user_id,
118
+ name=name,
119
+ client=client,
120
+ ).parsed
121
+
122
+
123
+ async def asyncio_detailed(
124
+ user_id: str,
125
+ name: str,
126
+ *,
127
+ client: Client,
128
+ ) -> Response[Union[ComfyWorkflowDetail, HTTPValidationError]]:
129
+ """Get Workflow
130
+
131
+ Args:
132
+ user_id (str):
133
+ name (str):
134
+
135
+ Raises:
136
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
137
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
138
+
139
+ Returns:
140
+ Response[Union[ComfyWorkflowDetail, HTTPValidationError]]
141
+ """
142
+
143
+ kwargs = _get_kwargs(
144
+ user_id=user_id,
145
+ name=name,
146
+ client=client,
147
+ )
148
+
149
+ async with httpx.AsyncClient(verify=client.verify_ssl) as _client:
150
+ response = await _client.request(**kwargs)
151
+
152
+ return _build_response(client=client, response=response)
153
+
154
+
155
+ async def asyncio(
156
+ user_id: str,
157
+ name: str,
158
+ *,
159
+ client: Client,
160
+ ) -> Optional[Union[ComfyWorkflowDetail, HTTPValidationError]]:
161
+ """Get Workflow
162
+
163
+ Args:
164
+ user_id (str):
165
+ name (str):
166
+
167
+ Raises:
168
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
169
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
170
+
171
+ Returns:
172
+ Union[ComfyWorkflowDetail, HTTPValidationError]
173
+ """
174
+
175
+ return (
176
+ await asyncio_detailed(
177
+ user_id=user_id,
178
+ name=name,
179
+ client=client,
180
+ )
181
+ ).parsed