isolate 0.12.10__py3-none-any.whl → 0.12.12__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 isolate might be problematic. Click here for more details.

@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.12.10'
16
- __version_tuple__ = version_tuple = (0, 12, 10)
15
+ __version__ = version = '0.12.12'
16
+ __version_tuple__ = version_tuple = (0, 12, 12)
isolate/backends/_base.py CHANGED
@@ -12,6 +12,7 @@ from typing import (
12
12
  )
13
13
 
14
14
  from isolate.backends.settings import DEFAULT_SETTINGS, IsolateSettings
15
+ from isolate.exceptions import IsolateException
15
16
  from isolate.logs import Log, LogLevel, LogSource
16
17
 
17
18
  __all__ = [
@@ -27,7 +28,7 @@ CallResultType = TypeVar("CallResultType")
27
28
  BasicCallable = Callable[[], CallResultType]
28
29
 
29
30
 
30
- class EnvironmentCreationError(Exception):
31
+ class EnvironmentCreationError(IsolateException):
31
32
  """Raised when the environment cannot be created."""
32
33
 
33
34
 
@@ -2,12 +2,13 @@ from __future__ import annotations
2
2
 
3
3
  import importlib
4
4
  import os
5
- from contextlib import contextmanager
6
5
  from dataclasses import dataclass
7
- from typing import TYPE_CHECKING, Any, Iterator, cast
6
+ from typing import TYPE_CHECKING, Any, cast
8
7
 
9
8
  from tblib import Traceback, TracebackParseError
10
9
 
10
+ from isolate.exceptions import IsolateException
11
+
11
12
  if TYPE_CHECKING:
12
13
  from typing import Protocol
13
14
 
@@ -21,23 +22,18 @@ AGENT_SIGNATURE = "IS_ISOLATE_AGENT"
21
22
 
22
23
 
23
24
  @dataclass
24
- class SerializationError(Exception):
25
+ class BaseSerializationError(IsolateException):
25
26
  """An error that happened during the serialization process."""
26
27
 
27
28
  message: str
28
29
 
29
30
 
30
- @contextmanager
31
- def _step(message: str) -> Iterator[None]:
32
- """A context manager to capture every expression
33
- underneath it and if any of them fails for any reason
34
- then it will raise a SerializationError with the
35
- given message."""
31
+ class SerializationError(BaseSerializationError):
32
+ pass
36
33
 
37
- try:
38
- yield
39
- except BaseException as exception:
40
- raise SerializationError("Error while " + message) from exception
34
+
35
+ class DeserializationError(BaseSerializationError):
36
+ pass
41
37
 
42
38
 
43
39
  def as_serialization_method(backend: Any) -> SerializationBackend:
@@ -66,13 +62,22 @@ def load_serialized_object(
66
62
  flag is set to true, then the given object will be raised as an exception (instead
67
63
  of being returned)."""
68
64
 
69
- with _step(f"preparing the serialization backend ({serialization_method})"):
65
+ try:
70
66
  serialization_backend = as_serialization_method(
71
67
  importlib.import_module(serialization_method)
72
68
  )
69
+ except BaseException as exc:
70
+ raise DeserializationError(
71
+ "Error while preparing the serialization backend "
72
+ f"({serialization_method})"
73
+ ) from exc
73
74
 
74
- with _step("deserializing the given object"):
75
+ try:
75
76
  result = serialization_backend.loads(raw_object)
77
+ except BaseException as exc:
78
+ raise DeserializationError(
79
+ "Error while deserializing the given object"
80
+ ) from exc
76
81
 
77
82
  if was_it_raised:
78
83
  raise prepare_exc(result, stringized_traceback=stringized_traceback)
@@ -84,13 +89,19 @@ def serialize_object(serialization_method: str, object: Any) -> bytes:
84
89
  """Serialize the given object using the given serialization method. If
85
90
  anything fails, then a SerializationError will be raised."""
86
91
 
87
- with _step(f"preparing the serialization backend ({serialization_method})"):
92
+ try:
88
93
  serialization_backend = as_serialization_method(
89
94
  importlib.import_module(serialization_method)
90
95
  )
96
+ except BaseException as exc:
97
+ raise SerializationError(
98
+ f"Error while preparing the serialization backend ({serialization_method})"
99
+ ) from exc
91
100
 
92
- with _step("serializing the given object"):
101
+ try:
93
102
  return serialization_backend.dumps(object)
103
+ except BaseException as exc:
104
+ raise SerializationError("Error while serializing the given object") from exc
94
105
 
95
106
 
96
107
  def is_agent() -> bool:
@@ -16,10 +16,11 @@ from isolate.connections.common import serialize_object
16
16
  from isolate.connections.grpc import agent, definitions
17
17
  from isolate.connections.grpc.configuration import get_default_options
18
18
  from isolate.connections.grpc.interface import from_grpc
19
+ from isolate.exceptions import IsolateException
19
20
  from isolate.logs import LogLevel, LogSource
20
21
 
21
22
 
22
- class AgentError(Exception):
23
+ class AgentError(IsolateException):
23
24
  """An internal problem caused by (most probably) the agent."""
24
25
 
25
26
 
@@ -22,11 +22,12 @@ from isolate.connections.common import SerializationError, serialize_object
22
22
  from isolate.connections.grpc import definitions
23
23
  from isolate.connections.grpc.configuration import get_default_options
24
24
  from isolate.connections.grpc.interface import from_grpc, to_grpc
25
+ from isolate.exceptions import IsolateException
25
26
  from isolate.logs import Log, LogLevel, LogSource
26
27
 
27
28
 
28
29
  @dataclass
29
- class AbortException(Exception):
30
+ class AbortException(IsolateException):
30
31
  message: str
31
32
 
32
33
 
isolate/exceptions.py ADDED
@@ -0,0 +1,2 @@
1
+ class IsolateException(Exception):
2
+ pass
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: isolate
3
- Version: 0.12.10
3
+ Version: 0.12.12
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
@@ -1,11 +1,12 @@
1
1
  isolate/__init__.py,sha256=uXOKnONs7sXgARNgElwr4_A1sKoA6ACHVEvs3IDiX1M,127
2
- isolate/_isolate_version.py,sha256=Om9hPRJB2__MW_DID1BZ7fctfkaGCBE8WYnj8YLN7MQ,415
2
+ isolate/_isolate_version.py,sha256=oTn60WVX95M8XFaBIdw3YIOdPos2YofbS27Hg6afaAc,415
3
3
  isolate/_version.py,sha256=05pXvy-yr5t3I1m9JMn42Ilzpg7fa8IB2J8a3G7t1cU,274
4
+ isolate/exceptions.py,sha256=ki-f7khY-Yo1J8nPdy5IP-aZhQyLUP9pp3dE0moEVKw,44
4
5
  isolate/logs.py,sha256=R_AHUVYD18z_PhtK_mDWi9Gch79CxmwHY09hUDShtwg,2079
5
6
  isolate/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
7
  isolate/registry.py,sha256=hpzv4HI7iihG5I7i5r8Pb257ibhEKY18xQcG-w1-BgI,1590
7
8
  isolate/backends/__init__.py,sha256=LLrSM7UnDFW8tIT5oYlE1wVJrxKcaj_v7cFwvTjQTlc,119
8
- isolate/backends/_base.py,sha256=Kt5pkhDzXZblq4vxaM3DQTo-Bj-7pIRZFlqJR7OfejY,4112
9
+ isolate/backends/_base.py,sha256=senNj-k2Dp2DkyxmZy7WxzsexmPfU6_DBo7bbZDqTLQ,4167
9
10
  isolate/backends/common.py,sha256=ZiU0Vkz78qaPH_3ThV28OcHi8QgXie4aBrkPXCJuNBM,8321
10
11
  isolate/backends/conda.py,sha256=OIQrpt_VffW2PjPOIzp-JvonW4e7rDQ1ASHOEjyzD8E,7646
11
12
  isolate/backends/local.py,sha256=woxe4dmXuEHxWKsGNndoRA1_sP6yG-dg6tlFZni0mZc,1360
@@ -16,13 +17,13 @@ isolate/backends/virtualenv.py,sha256=DiBAiybOLWMxJobIRaH4AgDn9agY5VrVPaSQObQa1L
16
17
  isolate/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
18
  isolate/common/timestamp.py,sha256=seh7FrMRH4i1SCQavA8d-7z8qi0pP8lYYhd29gTPMwE,367
18
19
  isolate/connections/__init__.py,sha256=oa0PNo7ZQ0StPIDvKnJ02_CNVMyfOhxJ3M1C0VMvj9c,627
19
- isolate/connections/common.py,sha256=PAfBGKZNUdtFlZQlw3_nQaUCKQXTnEkxzNNRV_i4R2A,3498
20
+ isolate/connections/common.py,sha256=bmQ7qDtBIbN7wj55OUwcRtRr9fWDSuxYajY1BRnb8Xc,3655
20
21
  isolate/connections/_local/__init__.py,sha256=6FtCKRSFBvTvjm5LNlNA-mieKEq3J7DZZRPcXVedERo,146
21
22
  isolate/connections/_local/_base.py,sha256=qCx2M8kbxuPTruj9kH5z005LU2FaC0BkLxsgY-sXRlg,6214
22
23
  isolate/connections/_local/agent_startup.py,sha256=swCs6Q0yVkDw7w-RftizHSMyJDM7DQwuP3TB0qI1ucg,1552
23
24
  isolate/connections/grpc/__init__.py,sha256=tcesLxlC36P6wSg2lBcO2egsJWMbSKwc8zFXhWac3YU,85
24
- isolate/connections/grpc/_base.py,sha256=8C1qnEZghPk4GYBlh0rjbtlx8FYB7gNvioG9re1OMD8,5558
25
- isolate/connections/grpc/agent.py,sha256=hruNnFAFY4LGmIZ6EQ0OyK0OxP0-eoI8ZM-AaOVN_c0,7697
25
+ isolate/connections/grpc/_base.py,sha256=hfGy_kFjifpK3zHD0_OTqpTF6CTOZH6abNnET4XLwE8,5613
26
+ isolate/connections/grpc/agent.py,sha256=D5icvO9zwsXDWB3xvRGSVl5OfkRH37bQ3VZdBdotg9c,7752
26
27
  isolate/connections/grpc/configuration.py,sha256=50YvGGHA9uyKg74xU_gc73j7bsFk973uIpMhmw2HhxY,788
27
28
  isolate/connections/grpc/interface.py,sha256=yt63kytgXRXrTnjePGJVdXz4LJJVSSrNkJCF1yz6FIE,2270
28
29
  isolate/connections/grpc/definitions/__init__.py,sha256=Z0453Bbjoq-Oxm2Wfi9fae-BFf8YsZwmuh88strmvxo,459
@@ -51,9 +52,9 @@ isolate/server/health/health.proto,sha256=wE2_QD0OQAblKkEBG7sALLXEOj1mOLKG-FbC4t
51
52
  isolate/server/health/health_pb2.py,sha256=mCnDq0-frAddHopN_g_LueHddbW-sN5kOfntJDlAvUY,1783
52
53
  isolate/server/health/health_pb2.pyi,sha256=boMRHMlX770EuccQCFTeRgf_KA_VMgW7l9GZIwxvMok,2546
53
54
  isolate/server/health/health_pb2_grpc.py,sha256=JRluct2W4af83OYxwmcCn0vRc78zf04Num0vBApuPEo,4005
54
- isolate-0.12.10.dist-info/LICENSE,sha256=427vuyirL5scgBLqA9UWcdnxKrtSGc0u_JfUupk6lAA,11359
55
- isolate-0.12.10.dist-info/METADATA,sha256=sdC289Ww0s_nxczKphg7VvPaBA01W7Xf2b8XN7v_ubE,3154
56
- isolate-0.12.10.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
57
- isolate-0.12.10.dist-info/entry_points.txt,sha256=XQ_nl-8MR94UnekxbBJRNGlY-lZ_Qh50N4mzwFDdwV8,290
58
- isolate-0.12.10.dist-info/top_level.txt,sha256=W9QJBHcq5WXRkbOXf25bvftzFsOZZN4n1DAatdroZrs,8
59
- isolate-0.12.10.dist-info/RECORD,,
55
+ isolate-0.12.12.dist-info/LICENSE,sha256=427vuyirL5scgBLqA9UWcdnxKrtSGc0u_JfUupk6lAA,11359
56
+ isolate-0.12.12.dist-info/METADATA,sha256=nBxHML_zkxaONEvgR8i7ahH-f5EZKirRHKCRqKknrpw,3154
57
+ isolate-0.12.12.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
58
+ isolate-0.12.12.dist-info/entry_points.txt,sha256=XQ_nl-8MR94UnekxbBJRNGlY-lZ_Qh50N4mzwFDdwV8,290
59
+ isolate-0.12.12.dist-info/top_level.txt,sha256=W9QJBHcq5WXRkbOXf25bvftzFsOZZN4n1DAatdroZrs,8
60
+ isolate-0.12.12.dist-info/RECORD,,