modal 0.73.145__tar.gz → 0.73.147__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.
Files changed (185) hide show
  1. {modal-0.73.145 → modal-0.73.147}/PKG-INFO +1 -1
  2. {modal-0.73.145 → modal-0.73.147}/modal/_functions.py +8 -6
  3. {modal-0.73.145 → modal-0.73.147}/modal/_partial_function.py +384 -264
  4. {modal-0.73.145 → modal-0.73.147}/modal/_runtime/user_code_imports.py +2 -2
  5. {modal-0.73.145 → modal-0.73.147}/modal/app.py +20 -20
  6. {modal-0.73.145 → modal-0.73.147}/modal/client.pyi +2 -2
  7. {modal-0.73.145 → modal-0.73.147}/modal/cls.py +11 -7
  8. {modal-0.73.145 → modal-0.73.147}/modal/container_process.py +4 -1
  9. {modal-0.73.145 → modal-0.73.147}/modal/container_process.pyi +2 -0
  10. {modal-0.73.145 → modal-0.73.147}/modal/experimental/__init__.py +6 -35
  11. {modal-0.73.145 → modal-0.73.147}/modal/partial_function.py +1 -1
  12. modal-0.73.147/modal/partial_function.pyi +172 -0
  13. {modal-0.73.145 → modal-0.73.147}/modal/sandbox.py +1 -1
  14. {modal-0.73.145 → modal-0.73.147}/modal.egg-info/PKG-INFO +1 -1
  15. {modal-0.73.145 → modal-0.73.147}/modal_version/_version_generated.py +1 -1
  16. modal-0.73.145/modal/partial_function.pyi +0 -129
  17. {modal-0.73.145 → modal-0.73.147}/LICENSE +0 -0
  18. {modal-0.73.145 → modal-0.73.147}/README.md +0 -0
  19. {modal-0.73.145 → modal-0.73.147}/modal/__init__.py +0 -0
  20. {modal-0.73.145 → modal-0.73.147}/modal/__main__.py +0 -0
  21. {modal-0.73.145 → modal-0.73.147}/modal/_clustered_functions.py +0 -0
  22. {modal-0.73.145 → modal-0.73.147}/modal/_clustered_functions.pyi +0 -0
  23. {modal-0.73.145 → modal-0.73.147}/modal/_container_entrypoint.py +0 -0
  24. {modal-0.73.145 → modal-0.73.147}/modal/_ipython.py +0 -0
  25. {modal-0.73.145 → modal-0.73.147}/modal/_location.py +0 -0
  26. {modal-0.73.145 → modal-0.73.147}/modal/_object.py +0 -0
  27. {modal-0.73.145 → modal-0.73.147}/modal/_output.py +0 -0
  28. {modal-0.73.145 → modal-0.73.147}/modal/_proxy_tunnel.py +0 -0
  29. {modal-0.73.145 → modal-0.73.147}/modal/_pty.py +0 -0
  30. {modal-0.73.145 → modal-0.73.147}/modal/_resolver.py +0 -0
  31. {modal-0.73.145 → modal-0.73.147}/modal/_resources.py +0 -0
  32. {modal-0.73.145 → modal-0.73.147}/modal/_runtime/__init__.py +0 -0
  33. {modal-0.73.145 → modal-0.73.147}/modal/_runtime/asgi.py +0 -0
  34. {modal-0.73.145 → modal-0.73.147}/modal/_runtime/container_io_manager.py +0 -0
  35. {modal-0.73.145 → modal-0.73.147}/modal/_runtime/container_io_manager.pyi +0 -0
  36. {modal-0.73.145 → modal-0.73.147}/modal/_runtime/execution_context.py +0 -0
  37. {modal-0.73.145 → modal-0.73.147}/modal/_runtime/execution_context.pyi +0 -0
  38. {modal-0.73.145 → modal-0.73.147}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  39. {modal-0.73.145 → modal-0.73.147}/modal/_runtime/telemetry.py +0 -0
  40. {modal-0.73.145 → modal-0.73.147}/modal/_serialization.py +0 -0
  41. {modal-0.73.145 → modal-0.73.147}/modal/_traceback.py +0 -0
  42. {modal-0.73.145 → modal-0.73.147}/modal/_tunnel.py +0 -0
  43. {modal-0.73.145 → modal-0.73.147}/modal/_tunnel.pyi +0 -0
  44. {modal-0.73.145 → modal-0.73.147}/modal/_type_manager.py +0 -0
  45. {modal-0.73.145 → modal-0.73.147}/modal/_utils/__init__.py +0 -0
  46. {modal-0.73.145 → modal-0.73.147}/modal/_utils/app_utils.py +0 -0
  47. {modal-0.73.145 → modal-0.73.147}/modal/_utils/async_utils.py +0 -0
  48. {modal-0.73.145 → modal-0.73.147}/modal/_utils/blob_utils.py +0 -0
  49. {modal-0.73.145 → modal-0.73.147}/modal/_utils/bytes_io_segment_payload.py +0 -0
  50. {modal-0.73.145 → modal-0.73.147}/modal/_utils/deprecation.py +0 -0
  51. {modal-0.73.145 → modal-0.73.147}/modal/_utils/docker_utils.py +0 -0
  52. {modal-0.73.145 → modal-0.73.147}/modal/_utils/function_utils.py +0 -0
  53. {modal-0.73.145 → modal-0.73.147}/modal/_utils/git_utils.py +0 -0
  54. {modal-0.73.145 → modal-0.73.147}/modal/_utils/grpc_testing.py +0 -0
  55. {modal-0.73.145 → modal-0.73.147}/modal/_utils/grpc_utils.py +0 -0
  56. {modal-0.73.145 → modal-0.73.147}/modal/_utils/hash_utils.py +0 -0
  57. {modal-0.73.145 → modal-0.73.147}/modal/_utils/http_utils.py +0 -0
  58. {modal-0.73.145 → modal-0.73.147}/modal/_utils/jwt_utils.py +0 -0
  59. {modal-0.73.145 → modal-0.73.147}/modal/_utils/logger.py +0 -0
  60. {modal-0.73.145 → modal-0.73.147}/modal/_utils/mount_utils.py +0 -0
  61. {modal-0.73.145 → modal-0.73.147}/modal/_utils/name_utils.py +0 -0
  62. {modal-0.73.145 → modal-0.73.147}/modal/_utils/package_utils.py +0 -0
  63. {modal-0.73.145 → modal-0.73.147}/modal/_utils/pattern_utils.py +0 -0
  64. {modal-0.73.145 → modal-0.73.147}/modal/_utils/rand_pb_testing.py +0 -0
  65. {modal-0.73.145 → modal-0.73.147}/modal/_utils/shell_utils.py +0 -0
  66. {modal-0.73.145 → modal-0.73.147}/modal/_vendor/__init__.py +0 -0
  67. {modal-0.73.145 → modal-0.73.147}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  68. {modal-0.73.145 → modal-0.73.147}/modal/_vendor/cloudpickle.py +0 -0
  69. {modal-0.73.145 → modal-0.73.147}/modal/_vendor/tblib.py +0 -0
  70. {modal-0.73.145 → modal-0.73.147}/modal/_watcher.py +0 -0
  71. {modal-0.73.145 → modal-0.73.147}/modal/app.pyi +0 -0
  72. {modal-0.73.145 → modal-0.73.147}/modal/call_graph.py +0 -0
  73. {modal-0.73.145 → modal-0.73.147}/modal/cli/__init__.py +0 -0
  74. {modal-0.73.145 → modal-0.73.147}/modal/cli/_download.py +0 -0
  75. {modal-0.73.145 → modal-0.73.147}/modal/cli/_traceback.py +0 -0
  76. {modal-0.73.145 → modal-0.73.147}/modal/cli/app.py +0 -0
  77. {modal-0.73.145 → modal-0.73.147}/modal/cli/config.py +0 -0
  78. {modal-0.73.145 → modal-0.73.147}/modal/cli/container.py +0 -0
  79. {modal-0.73.145 → modal-0.73.147}/modal/cli/dict.py +0 -0
  80. {modal-0.73.145 → modal-0.73.147}/modal/cli/entry_point.py +0 -0
  81. {modal-0.73.145 → modal-0.73.147}/modal/cli/environment.py +0 -0
  82. {modal-0.73.145 → modal-0.73.147}/modal/cli/import_refs.py +0 -0
  83. {modal-0.73.145 → modal-0.73.147}/modal/cli/launch.py +0 -0
  84. {modal-0.73.145 → modal-0.73.147}/modal/cli/network_file_system.py +0 -0
  85. {modal-0.73.145 → modal-0.73.147}/modal/cli/profile.py +0 -0
  86. {modal-0.73.145 → modal-0.73.147}/modal/cli/programs/__init__.py +0 -0
  87. {modal-0.73.145 → modal-0.73.147}/modal/cli/programs/run_jupyter.py +0 -0
  88. {modal-0.73.145 → modal-0.73.147}/modal/cli/programs/vscode.py +0 -0
  89. {modal-0.73.145 → modal-0.73.147}/modal/cli/queues.py +0 -0
  90. {modal-0.73.145 → modal-0.73.147}/modal/cli/run.py +0 -0
  91. {modal-0.73.145 → modal-0.73.147}/modal/cli/secret.py +0 -0
  92. {modal-0.73.145 → modal-0.73.147}/modal/cli/token.py +0 -0
  93. {modal-0.73.145 → modal-0.73.147}/modal/cli/utils.py +0 -0
  94. {modal-0.73.145 → modal-0.73.147}/modal/cli/volume.py +0 -0
  95. {modal-0.73.145 → modal-0.73.147}/modal/client.py +0 -0
  96. {modal-0.73.145 → modal-0.73.147}/modal/cloud_bucket_mount.py +0 -0
  97. {modal-0.73.145 → modal-0.73.147}/modal/cloud_bucket_mount.pyi +0 -0
  98. {modal-0.73.145 → modal-0.73.147}/modal/cls.pyi +0 -0
  99. {modal-0.73.145 → modal-0.73.147}/modal/config.py +0 -0
  100. {modal-0.73.145 → modal-0.73.147}/modal/dict.py +0 -0
  101. {modal-0.73.145 → modal-0.73.147}/modal/dict.pyi +0 -0
  102. {modal-0.73.145 → modal-0.73.147}/modal/environments.py +0 -0
  103. {modal-0.73.145 → modal-0.73.147}/modal/environments.pyi +0 -0
  104. {modal-0.73.145 → modal-0.73.147}/modal/exception.py +0 -0
  105. {modal-0.73.145 → modal-0.73.147}/modal/experimental/ipython.py +0 -0
  106. {modal-0.73.145 → modal-0.73.147}/modal/file_io.py +0 -0
  107. {modal-0.73.145 → modal-0.73.147}/modal/file_io.pyi +0 -0
  108. {modal-0.73.145 → modal-0.73.147}/modal/file_pattern_matcher.py +0 -0
  109. {modal-0.73.145 → modal-0.73.147}/modal/functions.py +0 -0
  110. {modal-0.73.145 → modal-0.73.147}/modal/functions.pyi +0 -0
  111. {modal-0.73.145 → modal-0.73.147}/modal/gpu.py +0 -0
  112. {modal-0.73.145 → modal-0.73.147}/modal/image.py +0 -0
  113. {modal-0.73.145 → modal-0.73.147}/modal/image.pyi +0 -0
  114. {modal-0.73.145 → modal-0.73.147}/modal/io_streams.py +0 -0
  115. {modal-0.73.145 → modal-0.73.147}/modal/io_streams.pyi +0 -0
  116. {modal-0.73.145 → modal-0.73.147}/modal/mount.py +0 -0
  117. {modal-0.73.145 → modal-0.73.147}/modal/mount.pyi +0 -0
  118. {modal-0.73.145 → modal-0.73.147}/modal/network_file_system.py +0 -0
  119. {modal-0.73.145 → modal-0.73.147}/modal/network_file_system.pyi +0 -0
  120. {modal-0.73.145 → modal-0.73.147}/modal/object.py +0 -0
  121. {modal-0.73.145 → modal-0.73.147}/modal/object.pyi +0 -0
  122. {modal-0.73.145 → modal-0.73.147}/modal/output.py +0 -0
  123. {modal-0.73.145 → modal-0.73.147}/modal/parallel_map.py +0 -0
  124. {modal-0.73.145 → modal-0.73.147}/modal/parallel_map.pyi +0 -0
  125. {modal-0.73.145 → modal-0.73.147}/modal/proxy.py +0 -0
  126. {modal-0.73.145 → modal-0.73.147}/modal/proxy.pyi +0 -0
  127. {modal-0.73.145 → modal-0.73.147}/modal/py.typed +0 -0
  128. {modal-0.73.145 → modal-0.73.147}/modal/queue.py +0 -0
  129. {modal-0.73.145 → modal-0.73.147}/modal/queue.pyi +0 -0
  130. {modal-0.73.145 → modal-0.73.147}/modal/requirements/2023.12.312.txt +0 -0
  131. {modal-0.73.145 → modal-0.73.147}/modal/requirements/2023.12.txt +0 -0
  132. {modal-0.73.145 → modal-0.73.147}/modal/requirements/2024.04.txt +0 -0
  133. {modal-0.73.145 → modal-0.73.147}/modal/requirements/2024.10.txt +0 -0
  134. {modal-0.73.145 → modal-0.73.147}/modal/requirements/PREVIEW.txt +0 -0
  135. {modal-0.73.145 → modal-0.73.147}/modal/requirements/README.md +0 -0
  136. {modal-0.73.145 → modal-0.73.147}/modal/requirements/base-images.json +0 -0
  137. {modal-0.73.145 → modal-0.73.147}/modal/retries.py +0 -0
  138. {modal-0.73.145 → modal-0.73.147}/modal/runner.py +0 -0
  139. {modal-0.73.145 → modal-0.73.147}/modal/runner.pyi +0 -0
  140. {modal-0.73.145 → modal-0.73.147}/modal/running_app.py +0 -0
  141. {modal-0.73.145 → modal-0.73.147}/modal/sandbox.pyi +0 -0
  142. {modal-0.73.145 → modal-0.73.147}/modal/schedule.py +0 -0
  143. {modal-0.73.145 → modal-0.73.147}/modal/scheduler_placement.py +0 -0
  144. {modal-0.73.145 → modal-0.73.147}/modal/secret.py +0 -0
  145. {modal-0.73.145 → modal-0.73.147}/modal/secret.pyi +0 -0
  146. {modal-0.73.145 → modal-0.73.147}/modal/serving.py +0 -0
  147. {modal-0.73.145 → modal-0.73.147}/modal/serving.pyi +0 -0
  148. {modal-0.73.145 → modal-0.73.147}/modal/snapshot.py +0 -0
  149. {modal-0.73.145 → modal-0.73.147}/modal/snapshot.pyi +0 -0
  150. {modal-0.73.145 → modal-0.73.147}/modal/stream_type.py +0 -0
  151. {modal-0.73.145 → modal-0.73.147}/modal/token_flow.py +0 -0
  152. {modal-0.73.145 → modal-0.73.147}/modal/token_flow.pyi +0 -0
  153. {modal-0.73.145 → modal-0.73.147}/modal/volume.py +0 -0
  154. {modal-0.73.145 → modal-0.73.147}/modal/volume.pyi +0 -0
  155. {modal-0.73.145 → modal-0.73.147}/modal.egg-info/SOURCES.txt +0 -0
  156. {modal-0.73.145 → modal-0.73.147}/modal.egg-info/dependency_links.txt +0 -0
  157. {modal-0.73.145 → modal-0.73.147}/modal.egg-info/entry_points.txt +0 -0
  158. {modal-0.73.145 → modal-0.73.147}/modal.egg-info/requires.txt +0 -0
  159. {modal-0.73.145 → modal-0.73.147}/modal.egg-info/top_level.txt +0 -0
  160. {modal-0.73.145 → modal-0.73.147}/modal_docs/__init__.py +0 -0
  161. {modal-0.73.145 → modal-0.73.147}/modal_docs/gen_cli_docs.py +0 -0
  162. {modal-0.73.145 → modal-0.73.147}/modal_docs/gen_reference_docs.py +0 -0
  163. {modal-0.73.145 → modal-0.73.147}/modal_docs/mdmd/__init__.py +0 -0
  164. {modal-0.73.145 → modal-0.73.147}/modal_docs/mdmd/mdmd.py +0 -0
  165. {modal-0.73.145 → modal-0.73.147}/modal_docs/mdmd/signatures.py +0 -0
  166. {modal-0.73.145 → modal-0.73.147}/modal_proto/__init__.py +0 -0
  167. {modal-0.73.145 → modal-0.73.147}/modal_proto/api.proto +0 -0
  168. {modal-0.73.145 → modal-0.73.147}/modal_proto/api_grpc.py +0 -0
  169. {modal-0.73.145 → modal-0.73.147}/modal_proto/api_pb2.py +0 -0
  170. {modal-0.73.145 → modal-0.73.147}/modal_proto/api_pb2.pyi +0 -0
  171. {modal-0.73.145 → modal-0.73.147}/modal_proto/api_pb2_grpc.py +0 -0
  172. {modal-0.73.145 → modal-0.73.147}/modal_proto/api_pb2_grpc.pyi +0 -0
  173. {modal-0.73.145 → modal-0.73.147}/modal_proto/modal_api_grpc.py +0 -0
  174. {modal-0.73.145 → modal-0.73.147}/modal_proto/modal_options_grpc.py +0 -0
  175. {modal-0.73.145 → modal-0.73.147}/modal_proto/options.proto +0 -0
  176. {modal-0.73.145 → modal-0.73.147}/modal_proto/options_grpc.py +0 -0
  177. {modal-0.73.145 → modal-0.73.147}/modal_proto/options_pb2.py +0 -0
  178. {modal-0.73.145 → modal-0.73.147}/modal_proto/options_pb2.pyi +0 -0
  179. {modal-0.73.145 → modal-0.73.147}/modal_proto/options_pb2_grpc.py +0 -0
  180. {modal-0.73.145 → modal-0.73.147}/modal_proto/options_pb2_grpc.pyi +0 -0
  181. {modal-0.73.145 → modal-0.73.147}/modal_proto/py.typed +0 -0
  182. {modal-0.73.145 → modal-0.73.147}/modal_version/__init__.py +0 -0
  183. {modal-0.73.145 → modal-0.73.147}/modal_version/__main__.py +0 -0
  184. {modal-0.73.145 → modal-0.73.147}/pyproject.toml +0 -0
  185. {modal-0.73.145 → modal-0.73.147}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: modal
3
- Version: 0.73.145
3
+ Version: 0.73.147
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -564,7 +564,7 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
564
564
  network_file_systems=network_file_systems,
565
565
  volumes=volumes,
566
566
  memory=memory,
567
- timeout=pf.build_timeout,
567
+ timeout=pf.params.build_timeout,
568
568
  cpu=cpu,
569
569
  ephemeral_disk=ephemeral_disk,
570
570
  is_builder_function=True,
@@ -575,7 +575,7 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
575
575
  image = _Image._from_args(
576
576
  base_images={"base": image},
577
577
  build_function=snapshot_function,
578
- force_build=image.force_build or pf.force_build,
578
+ force_build=image.force_build or bool(pf.params.force_build),
579
579
  )
580
580
 
581
581
  # Note that we also do these checks in FunctionCreate; could drop them here
@@ -644,12 +644,14 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
644
644
 
645
645
  if info.user_cls:
646
646
  method_definitions = {}
647
- partial_functions = _find_partial_methods_for_user_cls(info.user_cls, _PartialFunctionFlags.FUNCTION)
648
- for method_name, partial_function in partial_functions.items():
649
- function_type = get_function_type(partial_function.is_generator)
647
+ interface_methods = _find_partial_methods_for_user_cls(
648
+ info.user_cls, _PartialFunctionFlags.interface_flags()
649
+ )
650
+ for method_name, partial_function in interface_methods.items():
651
+ function_type = get_function_type(partial_function.params.is_generator)
650
652
  function_name = f"{info.user_cls.__name__}.{method_name}"
651
653
  method_definition = api_pb2.MethodDefinition(
652
- webhook_config=partial_function.webhook_config,
654
+ webhook_config=partial_function.params.webhook_config,
653
655
  function_type=function_type,
654
656
  function_name=function_name,
655
657
  )