fal 1.20.5__tar.gz → 1.21.1__tar.gz

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 (183) hide show
  1. {fal-1.20.5/fal.egg-info → fal-1.21.1}/PKG-INFO +2 -2
  2. {fal-1.20.5 → fal-1.21.1/fal.egg-info}/PKG-INFO +2 -2
  3. {fal-1.20.5 → fal-1.21.1}/fal.egg-info/requires.txt +1 -1
  4. {fal-1.20.5 → fal-1.21.1}/pyproject.toml +1 -1
  5. {fal-1.20.5 → fal-1.21.1}/src/fal/_fal_version.py +2 -2
  6. {fal-1.20.5 → fal-1.21.1}/src/fal/app.py +0 -2
  7. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/utils/download_utils.py +6 -2
  8. {fal-1.20.5 → fal-1.21.1}/.gitignore +0 -0
  9. {fal-1.20.5 → fal-1.21.1}/Makefile +0 -0
  10. {fal-1.20.5 → fal-1.21.1}/README.md +0 -0
  11. {fal-1.20.5 → fal-1.21.1}/docs/conf.py +0 -0
  12. {fal-1.20.5 → fal-1.21.1}/docs/index.rst +0 -0
  13. {fal-1.20.5 → fal-1.21.1}/fal.egg-info/SOURCES.txt +0 -0
  14. {fal-1.20.5 → fal-1.21.1}/fal.egg-info/dependency_links.txt +0 -0
  15. {fal-1.20.5 → fal-1.21.1}/fal.egg-info/entry_points.txt +0 -0
  16. {fal-1.20.5 → fal-1.21.1}/fal.egg-info/top_level.txt +0 -0
  17. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/README.md +0 -0
  18. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/__init__.py +0 -0
  19. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/__init__.py +0 -0
  20. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/applications/__init__.py +0 -0
  21. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py +0 -0
  22. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/billing/__init__.py +0 -0
  23. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/billing/get_user_details.py +0 -0
  24. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/__init__.py +0 -0
  25. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/create_workflow.py +0 -0
  26. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/delete_workflow.py +0 -0
  27. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/get_workflow.py +0 -0
  28. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/list_user_workflows.py +0 -0
  29. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/comfy/update_workflow.py +0 -0
  30. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/files/__init__.py +0 -0
  31. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/files/check_dir_hash.py +0 -0
  32. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/files/upload_local_file.py +0 -0
  33. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/users/__init__.py +0 -0
  34. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/users/get_current_user.py +0 -0
  35. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/__init__.py +0 -0
  36. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_workflow.py +0 -0
  37. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow.py +0 -0
  38. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/get_workflow.py +0 -0
  39. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py +0 -0
  40. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/api/workflows/update_workflow.py +0 -0
  41. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/client.py +0 -0
  42. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/errors.py +0 -0
  43. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/__init__.py +0 -0
  44. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/app_metadata_response_app_metadata.py +0 -0
  45. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py +0 -0
  46. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_detail.py +0 -0
  47. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_item.py +0 -0
  48. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema.py +0 -0
  49. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_extra_data.py +0 -0
  50. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs.py +0 -0
  51. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs_dev_info.py +0 -0
  52. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_prompt.py +0 -0
  53. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/current_user.py +0 -0
  54. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/customer_details.py +0 -0
  55. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/hash_check.py +0 -0
  56. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/http_validation_error.py +0 -0
  57. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/lock_reason.py +0 -0
  58. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/page_comfy_workflow_item.py +0 -0
  59. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/page_workflow_item.py +0 -0
  60. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/team_role.py +0 -0
  61. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow.py +0 -0
  62. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow_update.py +0 -0
  63. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow.py +0 -0
  64. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow_update.py +0 -0
  65. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/user_member.py +0 -0
  66. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/validation_error.py +0 -0
  67. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents.py +0 -0
  68. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py +0 -0
  69. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py +0 -0
  70. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py +0 -0
  71. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail.py +0 -0
  72. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents.py +0 -0
  73. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_item.py +0 -0
  74. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_node.py +0 -0
  75. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_node_type.py +0 -0
  76. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema.py +0 -0
  77. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_input.py +0 -0
  78. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.py +0 -0
  79. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/py.typed +0 -0
  80. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/openapi_fal_rest/types.py +0 -0
  81. {fal-1.20.5 → fal-1.21.1}/openapi-fal-rest/pyproject.toml +0 -0
  82. {fal-1.20.5 → fal-1.21.1}/openapi_rest.config.yaml +0 -0
  83. {fal-1.20.5 → fal-1.21.1}/setup.cfg +0 -0
  84. {fal-1.20.5 → fal-1.21.1}/src/fal/__init__.py +0 -0
  85. {fal-1.20.5 → fal-1.21.1}/src/fal/__main__.py +0 -0
  86. {fal-1.20.5 → fal-1.21.1}/src/fal/_serialization.py +0 -0
  87. {fal-1.20.5 → fal-1.21.1}/src/fal/_version.py +0 -0
  88. {fal-1.20.5 → fal-1.21.1}/src/fal/api.py +0 -0
  89. {fal-1.20.5 → fal-1.21.1}/src/fal/apps.py +0 -0
  90. {fal-1.20.5 → fal-1.21.1}/src/fal/auth/__init__.py +0 -0
  91. {fal-1.20.5 → fal-1.21.1}/src/fal/auth/auth0.py +0 -0
  92. {fal-1.20.5 → fal-1.21.1}/src/fal/auth/local.py +0 -0
  93. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/__init__.py +0 -0
  94. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/_utils.py +0 -0
  95. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/api.py +0 -0
  96. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/apps.py +0 -0
  97. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/auth.py +0 -0
  98. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/cli_nested_json.py +0 -0
  99. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/create.py +0 -0
  100. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/debug.py +0 -0
  101. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/deploy.py +0 -0
  102. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/doctor.py +0 -0
  103. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/files.py +0 -0
  104. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/keys.py +0 -0
  105. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/main.py +0 -0
  106. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/parser.py +0 -0
  107. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/profile.py +0 -0
  108. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/run.py +0 -0
  109. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/runners.py +0 -0
  110. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/secrets.py +0 -0
  111. {fal-1.20.5 → fal-1.21.1}/src/fal/cli/teams.py +0 -0
  112. {fal-1.20.5 → fal-1.21.1}/src/fal/config.py +0 -0
  113. {fal-1.20.5 → fal-1.21.1}/src/fal/console/__init__.py +0 -0
  114. {fal-1.20.5 → fal-1.21.1}/src/fal/console/icons.py +0 -0
  115. {fal-1.20.5 → fal-1.21.1}/src/fal/console/ux.py +0 -0
  116. {fal-1.20.5 → fal-1.21.1}/src/fal/container.py +0 -0
  117. {fal-1.20.5 → fal-1.21.1}/src/fal/exceptions/__init__.py +0 -0
  118. {fal-1.20.5 → fal-1.21.1}/src/fal/exceptions/_base.py +0 -0
  119. {fal-1.20.5 → fal-1.21.1}/src/fal/exceptions/_cuda.py +0 -0
  120. {fal-1.20.5 → fal-1.21.1}/src/fal/exceptions/auth.py +0 -0
  121. {fal-1.20.5 → fal-1.21.1}/src/fal/files.py +0 -0
  122. {fal-1.20.5 → fal-1.21.1}/src/fal/flags.py +0 -0
  123. {fal-1.20.5 → fal-1.21.1}/src/fal/logging/__init__.py +0 -0
  124. {fal-1.20.5 → fal-1.21.1}/src/fal/logging/isolate.py +0 -0
  125. {fal-1.20.5 → fal-1.21.1}/src/fal/logging/style.py +0 -0
  126. {fal-1.20.5 → fal-1.21.1}/src/fal/logging/trace.py +0 -0
  127. {fal-1.20.5 → fal-1.21.1}/src/fal/logging/user.py +0 -0
  128. {fal-1.20.5 → fal-1.21.1}/src/fal/project.py +0 -0
  129. {fal-1.20.5 → fal-1.21.1}/src/fal/py.typed +0 -0
  130. {fal-1.20.5 → fal-1.21.1}/src/fal/rest_client.py +0 -0
  131. {fal-1.20.5 → fal-1.21.1}/src/fal/sdk.py +0 -0
  132. {fal-1.20.5 → fal-1.21.1}/src/fal/sync.py +0 -0
  133. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/__init__.py +0 -0
  134. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/audio/__init__.py +0 -0
  135. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/audio/audio.py +0 -0
  136. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/exceptions.py +0 -0
  137. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/file/__init__.py +0 -0
  138. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/file/file.py +0 -0
  139. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/file/providers/fal.py +0 -0
  140. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/file/providers/gcp.py +0 -0
  141. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/file/providers/r2.py +0 -0
  142. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/file/providers/s3.py +0 -0
  143. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/file/types.py +0 -0
  144. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/image/__init__.py +0 -0
  145. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/image/image.py +0 -0
  146. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/image/nsfw_filter/__init__.py +0 -0
  147. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/image/nsfw_filter/env.py +0 -0
  148. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/image/nsfw_filter/inference.py +0 -0
  149. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/image/nsfw_filter/model.py +0 -0
  150. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/image/nsfw_filter/requirements.txt +0 -0
  151. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/image/safety_checker.py +0 -0
  152. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/optimize.py +0 -0
  153. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/types.py +0 -0
  154. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/utils/__init__.py +0 -0
  155. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/utils/endpoint.py +0 -0
  156. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/utils/retry.py +0 -0
  157. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/video/__init__.py +0 -0
  158. {fal-1.20.5 → fal-1.21.1}/src/fal/toolkit/video/video.py +0 -0
  159. {fal-1.20.5 → fal-1.21.1}/src/fal/utils.py +0 -0
  160. {fal-1.20.5 → fal-1.21.1}/src/fal/workflows.py +0 -0
  161. {fal-1.20.5 → fal-1.21.1}/tests/__init__.py +0 -0
  162. {fal-1.20.5 → fal-1.21.1}/tests/assets/cat.png +0 -0
  163. {fal-1.20.5 → fal-1.21.1}/tests/cli/__init__.py +0 -0
  164. {fal-1.20.5 → fal-1.21.1}/tests/cli/test_apps.py +0 -0
  165. {fal-1.20.5 → fal-1.21.1}/tests/cli/test_auth.py +0 -0
  166. {fal-1.20.5 → fal-1.21.1}/tests/cli/test_deploy.py +0 -0
  167. {fal-1.20.5 → fal-1.21.1}/tests/cli/test_keys.py +0 -0
  168. {fal-1.20.5 → fal-1.21.1}/tests/cli/test_run.py +0 -0
  169. {fal-1.20.5 → fal-1.21.1}/tests/cli/test_secrets.py +0 -0
  170. {fal-1.20.5 → fal-1.21.1}/tests/conftest.py +0 -0
  171. {fal-1.20.5 → fal-1.21.1}/tests/integration_test.py +0 -0
  172. {fal-1.20.5 → fal-1.21.1}/tests/mainify_package/__init__.py +0 -0
  173. {fal-1.20.5 → fal-1.21.1}/tests/mainify_package/impl.py +0 -0
  174. {fal-1.20.5 → fal-1.21.1}/tests/mainify_package/utils.py +0 -0
  175. {fal-1.20.5 → fal-1.21.1}/tests/mainify_target.py +0 -0
  176. {fal-1.20.5 → fal-1.21.1}/tests/test_apps.py +0 -0
  177. {fal-1.20.5 → fal-1.21.1}/tests/test_stability.py +0 -0
  178. {fal-1.20.5 → fal-1.21.1}/tests/toolkit/file/providers/test_fal_retry.py +0 -0
  179. {fal-1.20.5 → fal-1.21.1}/tests/toolkit/file_test.py +0 -0
  180. {fal-1.20.5 → fal-1.21.1}/tests/toolkit/image_test.py +0 -0
  181. {fal-1.20.5 → fal-1.21.1}/tests/toolkit/test_types.py +0 -0
  182. {fal-1.20.5 → fal-1.21.1}/tests/toolkit/utils/retry.py +0 -0
  183. {fal-1.20.5 → fal-1.21.1}/tools/demo_script.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fal
3
- Version: 1.20.5
3
+ Version: 1.21.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
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: isolate[build]<0.17.0,>=0.16.2
8
+ Requires-Dist: isolate[build]<0.18.0,>=0.17.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
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fal
3
- Version: 1.20.5
3
+ Version: 1.21.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
7
7
  Description-Content-Type: text/markdown
8
- Requires-Dist: isolate[build]<0.17.0,>=0.16.2
8
+ Requires-Dist: isolate[build]<0.18.0,>=0.17.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
@@ -1,4 +1,4 @@
1
- isolate[build]<0.17.0,>=0.16.2
1
+ isolate[build]<0.18.0,>=0.17.0
2
2
  isolate-proto<0.10.0,>=0.9.1
3
3
  grpcio==1.64.0
4
4
  dill==0.3.7
@@ -22,7 +22,7 @@ authors = [{ name = "Features & Labels <support@fal.ai>"}]
22
22
  readme = "README.md"
23
23
  requires-python = ">=3.8"
24
24
  dependencies = [
25
- "isolate[build]>=0.16.2,<0.17.0",
25
+ "isolate[build]>=0.17.0,<0.18.0",
26
26
  "isolate-proto>=0.9.1,<0.10.0",
27
27
  "grpcio==1.64.0",
28
28
  "dill==0.3.7",
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '1.20.5'
21
- __version_tuple__ = version_tuple = (1, 20, 5)
20
+ __version__ = version = '1.21.1'
21
+ __version_tuple__ = version_tuple = (1, 21, 1)
@@ -113,8 +113,6 @@ def wrap_app(cls: type[App], **kwargs) -> IsolatedFunction:
113
113
  realtime_app = any(route.is_websocket for route in routes)
114
114
 
115
115
  kind = cls.host_kwargs.pop("kind", "virtualenv")
116
- if kind == "container":
117
- cls.host_kwargs.pop("resolver", None)
118
116
 
119
117
  wrapper = fal_function(
120
118
  kind,
@@ -456,7 +456,7 @@ def clone_repository(
456
456
  # repository might be already deleted by another worker
457
457
  os.rename(local_repo_path, tmp_dir)
458
458
  # sometimes seeing FileNotFoundError even here on juicefs
459
- shutil.rmtree(tmp_dir)
459
+ shutil.rmtree(tmp_dir, ignore_errors=True)
460
460
 
461
461
  # NOTE: using the target_dir to be able to avoid potential copies across temp fs
462
462
  # and target fs, and also to be able to atomically rename repo_name dir into place
@@ -482,13 +482,17 @@ def clone_repository(
482
482
  if commit_hash:
483
483
  checkout_command = ["git", "checkout", commit_hash]
484
484
  subprocess.check_call(checkout_command, cwd=temp_dir)
485
+ subprocess.check_call(
486
+ ["git", "submodule", "update", "--init", "--recursive"],
487
+ cwd=temp_dir,
488
+ )
485
489
 
486
490
  # NOTE: Atomically renaming the repository directory into place when the
487
491
  # clone and checkout are done.
488
492
  try:
489
493
  os.rename(temp_dir, local_repo_path)
490
494
  except OSError as error:
491
- shutil.rmtree(temp_dir)
495
+ shutil.rmtree(temp_dir, ignore_errors=True)
492
496
 
493
497
  # someone beat us to it, assume it's good
494
498
  if error.errno != errno.ENOTEMPTY:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes