isolate 0.13.1__py3-none-any.whl → 0.13.3__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.13.1'
16
- __version_tuple__ = version_tuple = (0, 13, 1)
15
+ __version__ = version = '0.13.3'
16
+ __version_tuple__ = version_tuple = (0, 13, 3)
@@ -17,6 +17,7 @@ class ContainerizedPythonEnvironment(BaseEnvironment[Path]):
17
17
 
18
18
  image: dict[str, Any] = field(default_factory=dict)
19
19
  python_version: str | None = None
20
+ requirements: list[str] = field(default_factory=list)
20
21
  tags: list[str] = field(default_factory=list)
21
22
 
22
23
  @classmethod
@@ -34,7 +35,7 @@ class ContainerizedPythonEnvironment(BaseEnvironment[Path]):
34
35
  # dockerfile_str is always there, but the validation is handled by the
35
36
  # controller.
36
37
  dockerfile_str = self.image.get("dockerfile_str", "")
37
- return sha256_digest_of(dockerfile_str, *sorted(self.tags))
38
+ return sha256_digest_of(dockerfile_str, *self.requirements, *sorted(self.tags))
38
39
 
39
40
  def create(self, *, force: bool = False) -> Path:
40
41
  return Path(sys.exec_prefix)
@@ -15,6 +15,7 @@ from typing import (
15
15
  TypeVar,
16
16
  )
17
17
 
18
+ from isolate import __version__ as isolate_version
18
19
  from isolate.backends.common import get_executable_path, logged_io
19
20
  from isolate.connections.common import AGENT_SIGNATURE
20
21
  from isolate.logs import LogLevel, LogSource
@@ -138,6 +139,7 @@ class PythonExecutionBase(Generic[ConnectionType]):
138
139
  immediately (so that we can seamlessly transfer logs)."""
139
140
 
140
141
  custom_vars = {}
142
+ custom_vars["ISOLATE_SERVER_VERSION"] = isolate_version
141
143
  custom_vars[AGENT_SIGNATURE] = "1"
142
144
  custom_vars["PYTHONUNBUFFERED"] = "1"
143
145
 
@@ -17,6 +17,7 @@ from typing import (
17
17
  import grpc
18
18
  from grpc import ServicerContext, StatusCode
19
19
 
20
+ from isolate import __version__ as agent_version
20
21
  from isolate.backends.common import sha256_digest_of
21
22
  from isolate.connections.common import SerializationError, serialize_object
22
23
  from isolate.connections.grpc import definitions
@@ -44,6 +45,8 @@ class AgentServicer(definitions.AgentServicer):
44
45
  context: ServicerContext,
45
46
  ) -> Iterator[definitions.PartialRunResult]:
46
47
  self.log(f"A connection has been established: {context.peer()}!")
48
+ server_version = os.getenv("ISOLATE_SERVER_VERSION") or "unknown"
49
+ self.log(f"Isolate info: server {server_version}, agent {agent_version}")
47
50
 
48
51
  extra_args = []
49
52
  if request.HasField("setup_func"):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: isolate
3
- Version: 0.13.1
3
+ Version: 0.13.3
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,5 +1,5 @@
1
1
  isolate/__init__.py,sha256=uXOKnONs7sXgARNgElwr4_A1sKoA6ACHVEvs3IDiX1M,127
2
- isolate/_isolate_version.py,sha256=2tfL_x7--SF9Szc7f-1EYHtdawpHz4gvIzw8B6TKeRA,413
2
+ isolate/_isolate_version.py,sha256=VXQPyzbmOGe0nuuEEus9EQY40THABR5BB9WWse8Z8LI,413
3
3
  isolate/_version.py,sha256=05pXvy-yr5t3I1m9JMn42Ilzpg7fa8IB2J8a3G7t1cU,274
4
4
  isolate/logger.py,sha256=SehnK6rPx-HDqQHJ3sKWqhDGmD3fTDGBIkjnNQYnFJU,453
5
5
  isolate/logs.py,sha256=R_AHUVYD18z_PhtK_mDWi9Gch79CxmwHY09hUDShtwg,2079
@@ -9,7 +9,7 @@ isolate/backends/__init__.py,sha256=LLrSM7UnDFW8tIT5oYlE1wVJrxKcaj_v7cFwvTjQTlc,
9
9
  isolate/backends/_base.py,sha256=Kt5pkhDzXZblq4vxaM3DQTo-Bj-7pIRZFlqJR7OfejY,4112
10
10
  isolate/backends/common.py,sha256=Zx0HXnBX_jlOLpFNJzY4ue8NcW-kktqo_WZOJmPSjvI,8481
11
11
  isolate/backends/conda.py,sha256=S5q5bdY787AMTck2iMGtwu-LHMH4a1qCIjNHDKTkqok,7649
12
- isolate/backends/container.py,sha256=Ek06tMwrCzEGFUlIQ8lIWURiwchTiuiS4HHDk-9bN9k,1567
12
+ isolate/backends/container.py,sha256=MCQJbcmQvRUS-tTgTW_pKYBMKwSJO2KZsLeaBMXpPC0,1645
13
13
  isolate/backends/local.py,sha256=woxe4dmXuEHxWKsGNndoRA1_sP6yG-dg6tlFZni0mZc,1360
14
14
  isolate/backends/pyenv.py,sha256=ZwTYoVPIWhS3Y4hN51x95aIOHi15GF7kEDdKTNhlMTE,5434
15
15
  isolate/backends/remote.py,sha256=qUm54mpqk0kaEfbPZl962Td3_P3qcpyVcfGdKfmkJHs,4234
@@ -20,11 +20,11 @@ isolate/common/timestamp.py,sha256=seh7FrMRH4i1SCQavA8d-7z8qi0pP8lYYhd29gTPMwE,3
20
20
  isolate/connections/__init__.py,sha256=oa0PNo7ZQ0StPIDvKnJ02_CNVMyfOhxJ3M1C0VMvj9c,627
21
21
  isolate/connections/common.py,sha256=PAfBGKZNUdtFlZQlw3_nQaUCKQXTnEkxzNNRV_i4R2A,3498
22
22
  isolate/connections/_local/__init__.py,sha256=6FtCKRSFBvTvjm5LNlNA-mieKEq3J7DZZRPcXVedERo,146
23
- isolate/connections/_local/_base.py,sha256=nbeIH25wAZn1WDTGXv2HvAfFggzjJAF8GgGS4_iqNoY,6544
23
+ isolate/connections/_local/_base.py,sha256=YGf141VgXErrXYNyRN7sXcts2SemlFEEocZsKmLQfVM,6659
24
24
  isolate/connections/_local/agent_startup.py,sha256=swCs6Q0yVkDw7w-RftizHSMyJDM7DQwuP3TB0qI1ucg,1552
25
25
  isolate/connections/grpc/__init__.py,sha256=tcesLxlC36P6wSg2lBcO2egsJWMbSKwc8zFXhWac3YU,85
26
26
  isolate/connections/grpc/_base.py,sha256=qyagLVl4BOmkJvbFDLyA2-IZNkXeTRGOgRGGcvcyQwM,5713
27
- isolate/connections/grpc/agent.py,sha256=ZmTdEY6SxY5YCYJD8SBh7Ypx1BBL1hT6XSsr5wNv3jw,7552
27
+ isolate/connections/grpc/agent.py,sha256=eXEVHqwqT1p-8V8UEVC5qD5jsTcYaZicaRFLxxmJLec,7757
28
28
  isolate/connections/grpc/configuration.py,sha256=50YvGGHA9uyKg74xU_gc73j7bsFk973uIpMhmw2HhxY,788
29
29
  isolate/connections/grpc/interface.py,sha256=yt63kytgXRXrTnjePGJVdXz4LJJVSSrNkJCF1yz6FIE,2270
30
30
  isolate/connections/grpc/definitions/__init__.py,sha256=Z0453Bbjoq-Oxm2Wfi9fae-BFf8YsZwmuh88strmvxo,459
@@ -53,9 +53,9 @@ isolate/server/health/health.proto,sha256=wE2_QD0OQAblKkEBG7sALLXEOj1mOLKG-FbC4t
53
53
  isolate/server/health/health_pb2.py,sha256=onOdP3M4Tpqhqs2PlGcyfoKe2VVKUEDx5ALeRcObb9A,1899
54
54
  isolate/server/health/health_pb2.pyi,sha256=CPyvxvDzra-1d-mBsukaJnscMUDBaqSACvo9LiXlFzo,2416
55
55
  isolate/server/health/health_pb2_grpc.py,sha256=XgsULrnRBmYIqvKr8eI7bqs6NIea5A0kkqdOOc2JHBY,5303
56
- isolate-0.13.1.dist-info/LICENSE,sha256=427vuyirL5scgBLqA9UWcdnxKrtSGc0u_JfUupk6lAA,11359
57
- isolate-0.13.1.dist-info/METADATA,sha256=NrdHj1ICwu2smi3cuekmZQfO9e8dwvkowePm3e1uwwI,3209
58
- isolate-0.13.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
59
- isolate-0.13.1.dist-info/entry_points.txt,sha256=s3prh2EERaVCbL8R45tfY5WFPZ1TsYOsz305YR7s-Pc,360
60
- isolate-0.13.1.dist-info/top_level.txt,sha256=W9QJBHcq5WXRkbOXf25bvftzFsOZZN4n1DAatdroZrs,8
61
- isolate-0.13.1.dist-info/RECORD,,
56
+ isolate-0.13.3.dist-info/LICENSE,sha256=427vuyirL5scgBLqA9UWcdnxKrtSGc0u_JfUupk6lAA,11359
57
+ isolate-0.13.3.dist-info/METADATA,sha256=o-iPomzdzL4NPtUhM1hze-RI6UJbLl0xyibSks4oOdg,3209
58
+ isolate-0.13.3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
59
+ isolate-0.13.3.dist-info/entry_points.txt,sha256=s3prh2EERaVCbL8R45tfY5WFPZ1TsYOsz305YR7s-Pc,360
60
+ isolate-0.13.3.dist-info/top_level.txt,sha256=W9QJBHcq5WXRkbOXf25bvftzFsOZZN4n1DAatdroZrs,8
61
+ isolate-0.13.3.dist-info/RECORD,,