modal 0.74.36__tar.gz → 0.74.37__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 (183) hide show
  1. {modal-0.74.36 → modal-0.74.37}/PKG-INFO +1 -1
  2. {modal-0.74.36 → modal-0.74.37}/modal/_object.py +1 -0
  3. {modal-0.74.36 → modal-0.74.37}/modal/client.pyi +2 -2
  4. {modal-0.74.36 → modal-0.74.37}/modal/sandbox.py +24 -7
  5. {modal-0.74.36 → modal-0.74.37}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-0.74.36 → modal-0.74.37}/modal_version/_version_generated.py +1 -1
  7. {modal-0.74.36 → modal-0.74.37}/LICENSE +0 -0
  8. {modal-0.74.36 → modal-0.74.37}/README.md +0 -0
  9. {modal-0.74.36 → modal-0.74.37}/modal/__init__.py +0 -0
  10. {modal-0.74.36 → modal-0.74.37}/modal/__main__.py +0 -0
  11. {modal-0.74.36 → modal-0.74.37}/modal/_clustered_functions.py +0 -0
  12. {modal-0.74.36 → modal-0.74.37}/modal/_clustered_functions.pyi +0 -0
  13. {modal-0.74.36 → modal-0.74.37}/modal/_container_entrypoint.py +0 -0
  14. {modal-0.74.36 → modal-0.74.37}/modal/_functions.py +0 -0
  15. {modal-0.74.36 → modal-0.74.37}/modal/_ipython.py +0 -0
  16. {modal-0.74.36 → modal-0.74.37}/modal/_location.py +0 -0
  17. {modal-0.74.36 → modal-0.74.37}/modal/_output.py +0 -0
  18. {modal-0.74.36 → modal-0.74.37}/modal/_partial_function.py +0 -0
  19. {modal-0.74.36 → modal-0.74.37}/modal/_pty.py +0 -0
  20. {modal-0.74.36 → modal-0.74.37}/modal/_resolver.py +0 -0
  21. {modal-0.74.36 → modal-0.74.37}/modal/_resources.py +0 -0
  22. {modal-0.74.36 → modal-0.74.37}/modal/_runtime/__init__.py +0 -0
  23. {modal-0.74.36 → modal-0.74.37}/modal/_runtime/asgi.py +0 -0
  24. {modal-0.74.36 → modal-0.74.37}/modal/_runtime/container_io_manager.py +0 -0
  25. {modal-0.74.36 → modal-0.74.37}/modal/_runtime/container_io_manager.pyi +0 -0
  26. {modal-0.74.36 → modal-0.74.37}/modal/_runtime/execution_context.py +0 -0
  27. {modal-0.74.36 → modal-0.74.37}/modal/_runtime/execution_context.pyi +0 -0
  28. {modal-0.74.36 → modal-0.74.37}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  29. {modal-0.74.36 → modal-0.74.37}/modal/_runtime/telemetry.py +0 -0
  30. {modal-0.74.36 → modal-0.74.37}/modal/_runtime/user_code_imports.py +0 -0
  31. {modal-0.74.36 → modal-0.74.37}/modal/_serialization.py +0 -0
  32. {modal-0.74.36 → modal-0.74.37}/modal/_traceback.py +0 -0
  33. {modal-0.74.36 → modal-0.74.37}/modal/_tunnel.py +0 -0
  34. {modal-0.74.36 → modal-0.74.37}/modal/_tunnel.pyi +0 -0
  35. {modal-0.74.36 → modal-0.74.37}/modal/_type_manager.py +0 -0
  36. {modal-0.74.36 → modal-0.74.37}/modal/_utils/__init__.py +0 -0
  37. {modal-0.74.36 → modal-0.74.37}/modal/_utils/app_utils.py +0 -0
  38. {modal-0.74.36 → modal-0.74.37}/modal/_utils/async_utils.py +0 -0
  39. {modal-0.74.36 → modal-0.74.37}/modal/_utils/blob_utils.py +0 -0
  40. {modal-0.74.36 → modal-0.74.37}/modal/_utils/bytes_io_segment_payload.py +0 -0
  41. {modal-0.74.36 → modal-0.74.37}/modal/_utils/deprecation.py +0 -0
  42. {modal-0.74.36 → modal-0.74.37}/modal/_utils/docker_utils.py +0 -0
  43. {modal-0.74.36 → modal-0.74.37}/modal/_utils/function_utils.py +0 -0
  44. {modal-0.74.36 → modal-0.74.37}/modal/_utils/git_utils.py +0 -0
  45. {modal-0.74.36 → modal-0.74.37}/modal/_utils/grpc_testing.py +0 -0
  46. {modal-0.74.36 → modal-0.74.37}/modal/_utils/grpc_utils.py +0 -0
  47. {modal-0.74.36 → modal-0.74.37}/modal/_utils/hash_utils.py +0 -0
  48. {modal-0.74.36 → modal-0.74.37}/modal/_utils/http_utils.py +0 -0
  49. {modal-0.74.36 → modal-0.74.37}/modal/_utils/jwt_utils.py +0 -0
  50. {modal-0.74.36 → modal-0.74.37}/modal/_utils/logger.py +0 -0
  51. {modal-0.74.36 → modal-0.74.37}/modal/_utils/mount_utils.py +0 -0
  52. {modal-0.74.36 → modal-0.74.37}/modal/_utils/name_utils.py +0 -0
  53. {modal-0.74.36 → modal-0.74.37}/modal/_utils/package_utils.py +0 -0
  54. {modal-0.74.36 → modal-0.74.37}/modal/_utils/pattern_utils.py +0 -0
  55. {modal-0.74.36 → modal-0.74.37}/modal/_utils/rand_pb_testing.py +0 -0
  56. {modal-0.74.36 → modal-0.74.37}/modal/_utils/shell_utils.py +0 -0
  57. {modal-0.74.36 → modal-0.74.37}/modal/_vendor/__init__.py +0 -0
  58. {modal-0.74.36 → modal-0.74.37}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  59. {modal-0.74.36 → modal-0.74.37}/modal/_vendor/cloudpickle.py +0 -0
  60. {modal-0.74.36 → modal-0.74.37}/modal/_vendor/tblib.py +0 -0
  61. {modal-0.74.36 → modal-0.74.37}/modal/_watcher.py +0 -0
  62. {modal-0.74.36 → modal-0.74.37}/modal/app.py +0 -0
  63. {modal-0.74.36 → modal-0.74.37}/modal/app.pyi +0 -0
  64. {modal-0.74.36 → modal-0.74.37}/modal/call_graph.py +0 -0
  65. {modal-0.74.36 → modal-0.74.37}/modal/cli/__init__.py +0 -0
  66. {modal-0.74.36 → modal-0.74.37}/modal/cli/_download.py +0 -0
  67. {modal-0.74.36 → modal-0.74.37}/modal/cli/_traceback.py +0 -0
  68. {modal-0.74.36 → modal-0.74.37}/modal/cli/app.py +0 -0
  69. {modal-0.74.36 → modal-0.74.37}/modal/cli/config.py +0 -0
  70. {modal-0.74.36 → modal-0.74.37}/modal/cli/container.py +0 -0
  71. {modal-0.74.36 → modal-0.74.37}/modal/cli/dict.py +0 -0
  72. {modal-0.74.36 → modal-0.74.37}/modal/cli/entry_point.py +0 -0
  73. {modal-0.74.36 → modal-0.74.37}/modal/cli/environment.py +0 -0
  74. {modal-0.74.36 → modal-0.74.37}/modal/cli/import_refs.py +0 -0
  75. {modal-0.74.36 → modal-0.74.37}/modal/cli/launch.py +0 -0
  76. {modal-0.74.36 → modal-0.74.37}/modal/cli/network_file_system.py +0 -0
  77. {modal-0.74.36 → modal-0.74.37}/modal/cli/profile.py +0 -0
  78. {modal-0.74.36 → modal-0.74.37}/modal/cli/programs/__init__.py +0 -0
  79. {modal-0.74.36 → modal-0.74.37}/modal/cli/programs/run_jupyter.py +0 -0
  80. {modal-0.74.36 → modal-0.74.37}/modal/cli/programs/vscode.py +0 -0
  81. {modal-0.74.36 → modal-0.74.37}/modal/cli/queues.py +0 -0
  82. {modal-0.74.36 → modal-0.74.37}/modal/cli/run.py +0 -0
  83. {modal-0.74.36 → modal-0.74.37}/modal/cli/secret.py +0 -0
  84. {modal-0.74.36 → modal-0.74.37}/modal/cli/token.py +0 -0
  85. {modal-0.74.36 → modal-0.74.37}/modal/cli/utils.py +0 -0
  86. {modal-0.74.36 → modal-0.74.37}/modal/cli/volume.py +0 -0
  87. {modal-0.74.36 → modal-0.74.37}/modal/client.py +0 -0
  88. {modal-0.74.36 → modal-0.74.37}/modal/cloud_bucket_mount.py +0 -0
  89. {modal-0.74.36 → modal-0.74.37}/modal/cloud_bucket_mount.pyi +0 -0
  90. {modal-0.74.36 → modal-0.74.37}/modal/cls.py +0 -0
  91. {modal-0.74.36 → modal-0.74.37}/modal/cls.pyi +0 -0
  92. {modal-0.74.36 → modal-0.74.37}/modal/config.py +0 -0
  93. {modal-0.74.36 → modal-0.74.37}/modal/container_process.py +0 -0
  94. {modal-0.74.36 → modal-0.74.37}/modal/container_process.pyi +0 -0
  95. {modal-0.74.36 → modal-0.74.37}/modal/dict.py +0 -0
  96. {modal-0.74.36 → modal-0.74.37}/modal/dict.pyi +0 -0
  97. {modal-0.74.36 → modal-0.74.37}/modal/environments.py +0 -0
  98. {modal-0.74.36 → modal-0.74.37}/modal/environments.pyi +0 -0
  99. {modal-0.74.36 → modal-0.74.37}/modal/exception.py +0 -0
  100. {modal-0.74.36 → modal-0.74.37}/modal/experimental/__init__.py +0 -0
  101. {modal-0.74.36 → modal-0.74.37}/modal/experimental/ipython.py +0 -0
  102. {modal-0.74.36 → modal-0.74.37}/modal/file_io.py +0 -0
  103. {modal-0.74.36 → modal-0.74.37}/modal/file_io.pyi +0 -0
  104. {modal-0.74.36 → modal-0.74.37}/modal/file_pattern_matcher.py +0 -0
  105. {modal-0.74.36 → modal-0.74.37}/modal/functions.py +0 -0
  106. {modal-0.74.36 → modal-0.74.37}/modal/functions.pyi +0 -0
  107. {modal-0.74.36 → modal-0.74.37}/modal/gpu.py +0 -0
  108. {modal-0.74.36 → modal-0.74.37}/modal/image.py +0 -0
  109. {modal-0.74.36 → modal-0.74.37}/modal/image.pyi +0 -0
  110. {modal-0.74.36 → modal-0.74.37}/modal/io_streams.py +0 -0
  111. {modal-0.74.36 → modal-0.74.37}/modal/io_streams.pyi +0 -0
  112. {modal-0.74.36 → modal-0.74.37}/modal/mount.py +0 -0
  113. {modal-0.74.36 → modal-0.74.37}/modal/mount.pyi +0 -0
  114. {modal-0.74.36 → modal-0.74.37}/modal/network_file_system.py +0 -0
  115. {modal-0.74.36 → modal-0.74.37}/modal/network_file_system.pyi +0 -0
  116. {modal-0.74.36 → modal-0.74.37}/modal/object.py +0 -0
  117. {modal-0.74.36 → modal-0.74.37}/modal/object.pyi +0 -0
  118. {modal-0.74.36 → modal-0.74.37}/modal/output.py +0 -0
  119. {modal-0.74.36 → modal-0.74.37}/modal/parallel_map.py +0 -0
  120. {modal-0.74.36 → modal-0.74.37}/modal/parallel_map.pyi +0 -0
  121. {modal-0.74.36 → modal-0.74.37}/modal/partial_function.py +0 -0
  122. {modal-0.74.36 → modal-0.74.37}/modal/partial_function.pyi +0 -0
  123. {modal-0.74.36 → modal-0.74.37}/modal/proxy.py +0 -0
  124. {modal-0.74.36 → modal-0.74.37}/modal/proxy.pyi +0 -0
  125. {modal-0.74.36 → modal-0.74.37}/modal/py.typed +0 -0
  126. {modal-0.74.36 → modal-0.74.37}/modal/queue.py +0 -0
  127. {modal-0.74.36 → modal-0.74.37}/modal/queue.pyi +0 -0
  128. {modal-0.74.36 → modal-0.74.37}/modal/requirements/2023.12.312.txt +0 -0
  129. {modal-0.74.36 → modal-0.74.37}/modal/requirements/2023.12.txt +0 -0
  130. {modal-0.74.36 → modal-0.74.37}/modal/requirements/2024.04.txt +0 -0
  131. {modal-0.74.36 → modal-0.74.37}/modal/requirements/2024.10.txt +0 -0
  132. {modal-0.74.36 → modal-0.74.37}/modal/requirements/PREVIEW.txt +0 -0
  133. {modal-0.74.36 → modal-0.74.37}/modal/requirements/README.md +0 -0
  134. {modal-0.74.36 → modal-0.74.37}/modal/requirements/base-images.json +0 -0
  135. {modal-0.74.36 → modal-0.74.37}/modal/retries.py +0 -0
  136. {modal-0.74.36 → modal-0.74.37}/modal/runner.py +0 -0
  137. {modal-0.74.36 → modal-0.74.37}/modal/runner.pyi +0 -0
  138. {modal-0.74.36 → modal-0.74.37}/modal/running_app.py +0 -0
  139. {modal-0.74.36 → modal-0.74.37}/modal/sandbox.pyi +0 -0
  140. {modal-0.74.36 → modal-0.74.37}/modal/schedule.py +0 -0
  141. {modal-0.74.36 → modal-0.74.37}/modal/scheduler_placement.py +0 -0
  142. {modal-0.74.36 → modal-0.74.37}/modal/secret.py +0 -0
  143. {modal-0.74.36 → modal-0.74.37}/modal/secret.pyi +0 -0
  144. {modal-0.74.36 → modal-0.74.37}/modal/serving.py +0 -0
  145. {modal-0.74.36 → modal-0.74.37}/modal/serving.pyi +0 -0
  146. {modal-0.74.36 → modal-0.74.37}/modal/snapshot.py +0 -0
  147. {modal-0.74.36 → modal-0.74.37}/modal/snapshot.pyi +0 -0
  148. {modal-0.74.36 → modal-0.74.37}/modal/stream_type.py +0 -0
  149. {modal-0.74.36 → modal-0.74.37}/modal/token_flow.py +0 -0
  150. {modal-0.74.36 → modal-0.74.37}/modal/token_flow.pyi +0 -0
  151. {modal-0.74.36 → modal-0.74.37}/modal/volume.py +0 -0
  152. {modal-0.74.36 → modal-0.74.37}/modal/volume.pyi +0 -0
  153. {modal-0.74.36 → modal-0.74.37}/modal.egg-info/SOURCES.txt +0 -0
  154. {modal-0.74.36 → modal-0.74.37}/modal.egg-info/dependency_links.txt +0 -0
  155. {modal-0.74.36 → modal-0.74.37}/modal.egg-info/entry_points.txt +0 -0
  156. {modal-0.74.36 → modal-0.74.37}/modal.egg-info/requires.txt +0 -0
  157. {modal-0.74.36 → modal-0.74.37}/modal.egg-info/top_level.txt +0 -0
  158. {modal-0.74.36 → modal-0.74.37}/modal_docs/__init__.py +0 -0
  159. {modal-0.74.36 → modal-0.74.37}/modal_docs/gen_cli_docs.py +0 -0
  160. {modal-0.74.36 → modal-0.74.37}/modal_docs/gen_reference_docs.py +0 -0
  161. {modal-0.74.36 → modal-0.74.37}/modal_docs/mdmd/__init__.py +0 -0
  162. {modal-0.74.36 → modal-0.74.37}/modal_docs/mdmd/mdmd.py +0 -0
  163. {modal-0.74.36 → modal-0.74.37}/modal_docs/mdmd/signatures.py +0 -0
  164. {modal-0.74.36 → modal-0.74.37}/modal_proto/__init__.py +0 -0
  165. {modal-0.74.36 → modal-0.74.37}/modal_proto/api.proto +0 -0
  166. {modal-0.74.36 → modal-0.74.37}/modal_proto/api_grpc.py +0 -0
  167. {modal-0.74.36 → modal-0.74.37}/modal_proto/api_pb2.py +0 -0
  168. {modal-0.74.36 → modal-0.74.37}/modal_proto/api_pb2.pyi +0 -0
  169. {modal-0.74.36 → modal-0.74.37}/modal_proto/api_pb2_grpc.py +0 -0
  170. {modal-0.74.36 → modal-0.74.37}/modal_proto/api_pb2_grpc.pyi +0 -0
  171. {modal-0.74.36 → modal-0.74.37}/modal_proto/modal_api_grpc.py +0 -0
  172. {modal-0.74.36 → modal-0.74.37}/modal_proto/modal_options_grpc.py +0 -0
  173. {modal-0.74.36 → modal-0.74.37}/modal_proto/options.proto +0 -0
  174. {modal-0.74.36 → modal-0.74.37}/modal_proto/options_grpc.py +0 -0
  175. {modal-0.74.36 → modal-0.74.37}/modal_proto/options_pb2.py +0 -0
  176. {modal-0.74.36 → modal-0.74.37}/modal_proto/options_pb2.pyi +0 -0
  177. {modal-0.74.36 → modal-0.74.37}/modal_proto/options_pb2_grpc.py +0 -0
  178. {modal-0.74.36 → modal-0.74.37}/modal_proto/options_pb2_grpc.pyi +0 -0
  179. {modal-0.74.36 → modal-0.74.37}/modal_proto/py.typed +0 -0
  180. {modal-0.74.36 → modal-0.74.37}/modal_version/__init__.py +0 -0
  181. {modal-0.74.36 → modal-0.74.37}/modal_version/__main__.py +0 -0
  182. {modal-0.74.36 → modal-0.74.37}/pyproject.toml +0 -0
  183. {modal-0.74.36 → modal-0.74.37}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.74.36
3
+ Version: 0.74.37
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -54,6 +54,7 @@ class _Object:
54
54
  cls._prefix_to_type[type_prefix] = cls
55
55
 
56
56
  def __init__(self, *args, **kwargs):
57
+ """mdmd:hidden"""
57
58
  raise InvalidError(f"Class {type(self).__name__} has no constructor. Use class constructor methods instead.")
58
59
 
59
60
  def _init(
@@ -27,7 +27,7 @@ class _Client:
27
27
  _snapshotted: bool
28
28
 
29
29
  def __init__(
30
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.36"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.37"
31
31
  ): ...
32
32
  def is_closed(self) -> bool: ...
33
33
  @property
@@ -85,7 +85,7 @@ class Client:
85
85
  _snapshotted: bool
86
86
 
87
87
  def __init__(
88
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.36"
88
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.37"
89
89
  ): ...
90
90
  def is_closed(self) -> bool: ...
91
91
  @property
@@ -253,6 +253,18 @@ class _Sandbox(_Object, type_prefix="sb"):
253
253
  ] = None, # Experimental controls over fine-grained scheduling (alpha).
254
254
  client: Optional[_Client] = None,
255
255
  ) -> "_Sandbox":
256
+ """
257
+ Create a new Sandbox to run untrusted, arbitrary code.
258
+
259
+ **Usage**
260
+
261
+ ```python
262
+ app = modal.App.lookup('sandbox-hello-world', create_if_missing=True)
263
+ sandbox = modal.Sandbox.create("echo", "hello world", app=app)
264
+ print(sandbox.stdout.read())
265
+ sandbox.wait()
266
+ ```
267
+ """
256
268
  from .app import _App
257
269
 
258
270
  environment_name = _get_environment_name(environment_name)
@@ -411,13 +423,14 @@ class _Sandbox(_Object, type_prefix="sb"):
411
423
  break
412
424
 
413
425
  async def tunnels(self, timeout: int = 50) -> dict[int, Tunnel]:
414
- """Get tunnel metadata for the sandbox.
426
+ """Get Tunnel metadata for the sandbox.
415
427
 
416
428
  Raises `SandboxTimeoutError` if the tunnels are not available after the timeout.
417
429
 
418
430
  Returns a dictionary of `Tunnel` objects which are keyed by the container port.
419
431
 
420
- NOTE: Previous to client v0.64.152, this returned a list of `TunnelData` objects.
432
+ NOTE: Previous to client [v0.64.153](/docs/reference/changelog#064153-2024-09-30), this
433
+ returned a list of `TunnelData` objects.
421
434
  """
422
435
 
423
436
  if self._tunnels:
@@ -659,6 +672,10 @@ class _Sandbox(_Object, type_prefix="sb"):
659
672
  recursive: Optional[bool] = None,
660
673
  timeout: Optional[int] = None,
661
674
  ) -> AsyncIterator[FileWatchEvent]:
675
+ """Watch a file or directory in the Sandbox for changes.
676
+
677
+ See the [guide](/docs/guide/sandbox-files#file-watching) for usage information.
678
+ """
662
679
  task_id = await self._get_task_id()
663
680
  async for event in _FileIO.watch(path, self._client, task_id, filter, recursive, timeout):
664
681
  yield event
@@ -675,7 +692,7 @@ class _Sandbox(_Object, type_prefix="sb"):
675
692
  @property
676
693
  def stderr(self) -> _StreamReader[str]:
677
694
  """[`StreamReader`](/docs/reference/modal.io_streams#modalio_streamsstreamreader) for
678
- the sandbox's stderr stream.
695
+ the Sandbox's stderr stream.
679
696
  """
680
697
 
681
698
  return self._stderr
@@ -684,14 +701,14 @@ class _Sandbox(_Object, type_prefix="sb"):
684
701
  def stdin(self) -> _StreamWriter:
685
702
  """
686
703
  [`StreamWriter`](/docs/reference/modal.io_streams#modalio_streamsstreamwriter) for
687
- the sandbox's stdin stream.
704
+ the Sandbox's stdin stream.
688
705
  """
689
706
 
690
707
  return self._stdin
691
708
 
692
709
  @property
693
710
  def returncode(self) -> Optional[int]:
694
- """Return code of the sandbox process if it has finished running, else `None`."""
711
+ """Return code of the Sandbox process if it has finished running, else `None`."""
695
712
 
696
713
  if self._result is None:
697
714
  return None
@@ -708,8 +725,8 @@ class _Sandbox(_Object, type_prefix="sb"):
708
725
  async def list(
709
726
  *, app_id: Optional[str] = None, tags: Optional[dict[str, str]] = None, client: Optional[_Client] = None
710
727
  ) -> AsyncGenerator["_Sandbox", None]:
711
- """List all sandboxes for the current environment or app ID (if specified). If tags are specified, only
712
- sandboxes that have at least those tags are returned. Returns an iterator over `Sandbox` objects."""
728
+ """List all Sandboxes for the current Environment or App ID (if specified). If tags are specified, only
729
+ Sandboxes that have at least those tags are returned. Returns an iterator over `Sandbox` objects."""
713
730
  before_timestamp = None
714
731
  environment_name = _get_environment_name()
715
732
  if client is None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.74.36
3
+ Version: 0.74.37
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
 
3
3
  # Note: Reset this value to -1 whenever you make a minor `0.X` release of the client.
4
- build_number = 36 # git: 69369e6
4
+ build_number = 37 # git: 028a527
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
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