isolate 0.16.0__tar.gz → 0.16.2__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 isolate might be problematic. Click here for more details.

Files changed (86) hide show
  1. {isolate-0.16.0 → isolate-0.16.2}/PKG-INFO +4 -2
  2. {isolate-0.16.0 → isolate-0.16.2}/pyproject.toml +1 -0
  3. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/_isolate_version.py +9 -4
  4. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/backends/common.py +1 -1
  5. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/server.py +5 -2
  6. {isolate-0.16.0 → isolate-0.16.2}/src/isolate.egg-info/PKG-INFO +4 -2
  7. {isolate-0.16.0 → isolate-0.16.2}/src/isolate.egg-info/requires.txt +1 -0
  8. {isolate-0.16.0 → isolate-0.16.2}/.github/workflows/release.yml +0 -0
  9. {isolate-0.16.0 → isolate-0.16.2}/.github/workflows/test.yml +0 -0
  10. {isolate-0.16.0 → isolate-0.16.2}/.gitignore +0 -0
  11. {isolate-0.16.0 → isolate-0.16.2}/.pre-commit-config.yaml +0 -0
  12. {isolate-0.16.0 → isolate-0.16.2}/LICENSE +0 -0
  13. {isolate-0.16.0 → isolate-0.16.2}/README.md +0 -0
  14. {isolate-0.16.0 → isolate-0.16.2}/setup.cfg +0 -0
  15. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/__init__.py +0 -0
  16. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/_version.py +0 -0
  17. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/backends/__init__.py +0 -0
  18. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/backends/_base.py +0 -0
  19. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/backends/conda.py +0 -0
  20. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/backends/container.py +0 -0
  21. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/backends/local.py +0 -0
  22. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/backends/pyenv.py +0 -0
  23. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/backends/remote.py +0 -0
  24. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/backends/settings.py +0 -0
  25. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/backends/virtualenv.py +0 -0
  26. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/common/__init__.py +0 -0
  27. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/common/timestamp.py +0 -0
  28. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/__init__.py +0 -0
  29. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/_local/__init__.py +0 -0
  30. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/_local/_base.py +0 -0
  31. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/_local/agent_startup.py +0 -0
  32. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/common.py +0 -0
  33. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/__init__.py +0 -0
  34. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/_base.py +0 -0
  35. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/agent.py +0 -0
  36. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/configuration.py +0 -0
  37. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/definitions/__init__.py +0 -0
  38. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/definitions/agent.proto +0 -0
  39. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/definitions/agent_pb2.py +0 -0
  40. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/definitions/agent_pb2.pyi +0 -0
  41. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/definitions/agent_pb2_grpc.py +0 -0
  42. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/definitions/common.proto +0 -0
  43. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/definitions/common_pb2.py +0 -0
  44. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/definitions/common_pb2.pyi +0 -0
  45. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/definitions/common_pb2_grpc.py +0 -0
  46. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/grpc/interface.py +0 -0
  47. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/ipc/__init__.py +0 -0
  48. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/ipc/_base.py +0 -0
  49. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/connections/ipc/agent.py +0 -0
  50. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/logger.py +0 -0
  51. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/logs.py +0 -0
  52. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/py.typed +0 -0
  53. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/registry.py +0 -0
  54. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/__init__.py +0 -0
  55. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/definitions/__init__.py +0 -0
  56. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/definitions/server.proto +0 -0
  57. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/definitions/server_pb2.py +0 -0
  58. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/definitions/server_pb2.pyi +0 -0
  59. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/definitions/server_pb2_grpc.py +0 -0
  60. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/health/__init__.py +0 -0
  61. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/health/health.proto +0 -0
  62. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/health/health_pb2.py +0 -0
  63. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/health/health_pb2.pyi +0 -0
  64. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/health/health_pb2_grpc.py +0 -0
  65. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/health_server.py +0 -0
  66. {isolate-0.16.0 → isolate-0.16.2}/src/isolate/server/interface.py +0 -0
  67. {isolate-0.16.0 → isolate-0.16.2}/src/isolate.egg-info/SOURCES.txt +0 -0
  68. {isolate-0.16.0 → isolate-0.16.2}/src/isolate.egg-info/dependency_links.txt +0 -0
  69. {isolate-0.16.0 → isolate-0.16.2}/src/isolate.egg-info/entry_points.txt +0 -0
  70. {isolate-0.16.0 → isolate-0.16.2}/src/isolate.egg-info/top_level.txt +0 -0
  71. {isolate-0.16.0 → isolate-0.16.2}/tests/__init__.py +0 -0
  72. {isolate-0.16.0 → isolate-0.16.2}/tests/conftest.py +0 -0
  73. {isolate-0.16.0 → isolate-0.16.2}/tests/test_backends.py +0 -0
  74. {isolate-0.16.0 → isolate-0.16.2}/tests/test_concurrency.py +0 -0
  75. {isolate-0.16.0 → isolate-0.16.2}/tests/test_connections.py +0 -0
  76. {isolate-0.16.0 → isolate-0.16.2}/tests/test_isolate.py +0 -0
  77. {isolate-0.16.0 → isolate-0.16.2}/tests/test_log.py +0 -0
  78. {isolate-0.16.0 → isolate-0.16.2}/tests/test_logger.py +0 -0
  79. {isolate-0.16.0 → isolate-0.16.2}/tests/test_serialization.py +0 -0
  80. {isolate-0.16.0 → isolate-0.16.2}/tests/test_server.py +0 -0
  81. {isolate-0.16.0 → isolate-0.16.2}/tools/Dockerfile +0 -0
  82. {isolate-0.16.0 → isolate-0.16.2}/tools/agent_requirements.txt +0 -0
  83. {isolate-0.16.0 → isolate-0.16.2}/tools/protobuf-requirements.txt +0 -0
  84. {isolate-0.16.0 → isolate-0.16.2}/tools/regen_grpc.py +0 -0
  85. {isolate-0.16.0 → isolate-0.16.2}/tools/requirements.txt +0 -0
  86. {isolate-0.16.0 → isolate-0.16.2}/tools/test_agent_requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: isolate
3
- Version: 0.16.0
3
+ Version: 0.16.2
4
4
  Summary: Managed isolated environments for Python
5
5
  Author-email: Features & Labels <hello@fal.ai>
6
6
  Project-URL: Issues, https://github.com/fal-ai/isolate/issues
@@ -21,9 +21,11 @@ Requires-Dist: isolate[build]; extra == "test"
21
21
  Requires-Dist: pytest; extra == "test"
22
22
  Requires-Dist: cloudpickle>=2.2.0; extra == "test"
23
23
  Requires-Dist: dill>=0.3.5.1; extra == "test"
24
+ Requires-Dist: flaky; extra == "test"
24
25
  Provides-Extra: dev
25
26
  Requires-Dist: isolate[test]; extra == "dev"
26
27
  Requires-Dist: grpcio-tools==1.64.0; extra == "dev"
28
+ Dynamic: license-file
27
29
 
28
30
  # Isolate
29
31
 
@@ -47,6 +47,7 @@ test = [
47
47
  "pytest",
48
48
  "cloudpickle>=2.2.0",
49
49
  "dill>=0.3.5.1",
50
+ "flaky",
50
51
  ]
51
52
  dev = [
52
53
  "isolate[test]",
@@ -1,8 +1,13 @@
1
- # file generated by setuptools_scm
1
+ # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
+
4
+ __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
5
+
3
6
  TYPE_CHECKING = False
4
7
  if TYPE_CHECKING:
5
- from typing import Tuple, Union
8
+ from typing import Tuple
9
+ from typing import Union
10
+
6
11
  VERSION_TUPLE = Tuple[Union[int, str], ...]
7
12
  else:
8
13
  VERSION_TUPLE = object
@@ -12,5 +17,5 @@ __version__: str
12
17
  __version_tuple__: VERSION_TUPLE
13
18
  version_tuple: VERSION_TUPLE
14
19
 
15
- __version__ = version = '0.16.0'
16
- __version_tuple__ = version_tuple = (0, 16, 0)
20
+ __version__ = version = '0.16.2'
21
+ __version_tuple__ = version_tuple = (0, 16, 2)
@@ -110,7 +110,7 @@ def _io_observer(
110
110
 
111
111
  def forward_lines(fd: int) -> None:
112
112
  hook = hooks[fd]
113
- with open(fd, closefd=False) as stream:
113
+ with open(fd, closefd=False, errors="backslashreplace") as stream:
114
114
  # TODO: we probably should pass the real line endings
115
115
  raw_data = stream.read()
116
116
  if not raw_data:
@@ -56,7 +56,6 @@ else:
56
56
  # Number of seconds to observe the queue before checking the termination
57
57
  # event.
58
58
  _Q_WAIT_DELAY = 0.1
59
- RUNNER_THREAD_POOL = futures.ThreadPoolExecutor(max_workers=MAX_THREADS)
60
59
 
61
60
 
62
61
  class GRPCException(Exception):
@@ -199,6 +198,10 @@ class IsolateServicer(definitions.IsolateServicer):
199
198
  default_settings: IsolateSettings = field(default_factory=IsolateSettings)
200
199
  background_tasks: dict[str, RunTask] = field(default_factory=dict)
201
200
 
201
+ _thread_pool: futures.ThreadPoolExecutor = field(
202
+ default_factory=lambda: futures.ThreadPoolExecutor(max_workers=MAX_THREADS)
203
+ )
204
+
202
205
  def _run_task(self, task: RunTask) -> Iterator[definitions.PartialRunResult]:
203
206
  messages: Queue[definitions.PartialRunResult] = Queue()
204
207
  environments = []
@@ -332,7 +335,7 @@ class IsolateServicer(definitions.IsolateServicer):
332
335
  task = RunTask(request=request.function)
333
336
  self.set_metadata(task, request.metadata)
334
337
 
335
- task.future = RUNNER_THREAD_POOL.submit(self._run_task_in_background, task)
338
+ task.future = self._thread_pool.submit(self._run_task_in_background, task)
336
339
  task_id = str(uuid.uuid4())
337
340
 
338
341
  print(f"Submitted a task {task_id}")
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: isolate
3
- Version: 0.16.0
3
+ Version: 0.16.2
4
4
  Summary: Managed isolated environments for Python
5
5
  Author-email: Features & Labels <hello@fal.ai>
6
6
  Project-URL: Issues, https://github.com/fal-ai/isolate/issues
@@ -21,9 +21,11 @@ Requires-Dist: isolate[build]; extra == "test"
21
21
  Requires-Dist: pytest; extra == "test"
22
22
  Requires-Dist: cloudpickle>=2.2.0; extra == "test"
23
23
  Requires-Dist: dill>=0.3.5.1; extra == "test"
24
+ Requires-Dist: flaky; extra == "test"
24
25
  Provides-Extra: dev
25
26
  Requires-Dist: isolate[test]; extra == "dev"
26
27
  Requires-Dist: grpcio-tools==1.64.0; extra == "dev"
28
+ Dynamic: license-file
27
29
 
28
30
  # Isolate
29
31
 
@@ -19,3 +19,4 @@ isolate[build]
19
19
  pytest
20
20
  cloudpickle>=2.2.0
21
21
  dill>=0.3.5.1
22
+ flaky
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