isolate 0.16.3__tar.gz → 0.18.0__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.3 → isolate-0.18.0}/PKG-INFO +2 -2
  2. {isolate-0.16.3 → isolate-0.18.0}/pyproject.toml +1 -1
  3. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/_isolate_version.py +2 -2
  4. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/backends/container.py +15 -1
  5. {isolate-0.16.3 → isolate-0.18.0}/src/isolate.egg-info/PKG-INFO +2 -2
  6. {isolate-0.16.3 → isolate-0.18.0}/src/isolate.egg-info/requires.txt +1 -1
  7. {isolate-0.16.3 → isolate-0.18.0}/.github/workflows/release.yml +0 -0
  8. {isolate-0.16.3 → isolate-0.18.0}/.github/workflows/test.yml +0 -0
  9. {isolate-0.16.3 → isolate-0.18.0}/.gitignore +0 -0
  10. {isolate-0.16.3 → isolate-0.18.0}/.pre-commit-config.yaml +0 -0
  11. {isolate-0.16.3 → isolate-0.18.0}/LICENSE +0 -0
  12. {isolate-0.16.3 → isolate-0.18.0}/README.md +0 -0
  13. {isolate-0.16.3 → isolate-0.18.0}/setup.cfg +0 -0
  14. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/__init__.py +0 -0
  15. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/_version.py +0 -0
  16. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/backends/__init__.py +0 -0
  17. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/backends/_base.py +0 -0
  18. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/backends/common.py +0 -0
  19. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/backends/conda.py +0 -0
  20. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/backends/local.py +0 -0
  21. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/backends/pyenv.py +0 -0
  22. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/backends/remote.py +0 -0
  23. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/backends/settings.py +0 -0
  24. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/backends/virtualenv.py +0 -0
  25. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/common/__init__.py +0 -0
  26. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/common/timestamp.py +0 -0
  27. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/__init__.py +0 -0
  28. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/_local/__init__.py +0 -0
  29. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/_local/_base.py +0 -0
  30. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/_local/agent_startup.py +0 -0
  31. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/common.py +0 -0
  32. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/__init__.py +0 -0
  33. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/_base.py +0 -0
  34. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/agent.py +0 -0
  35. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/configuration.py +0 -0
  36. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/definitions/__init__.py +0 -0
  37. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/definitions/agent.proto +0 -0
  38. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/definitions/agent_pb2.py +0 -0
  39. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/definitions/agent_pb2.pyi +0 -0
  40. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/definitions/agent_pb2_grpc.py +0 -0
  41. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/definitions/common.proto +0 -0
  42. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/definitions/common_pb2.py +0 -0
  43. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/definitions/common_pb2.pyi +0 -0
  44. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/definitions/common_pb2_grpc.py +0 -0
  45. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/grpc/interface.py +0 -0
  46. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/ipc/__init__.py +0 -0
  47. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/ipc/_base.py +0 -0
  48. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/connections/ipc/agent.py +0 -0
  49. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/logger.py +0 -0
  50. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/logs.py +0 -0
  51. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/py.typed +0 -0
  52. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/registry.py +0 -0
  53. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/__init__.py +0 -0
  54. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/definitions/__init__.py +0 -0
  55. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/definitions/server.proto +0 -0
  56. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/definitions/server_pb2.py +0 -0
  57. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/definitions/server_pb2.pyi +0 -0
  58. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/definitions/server_pb2_grpc.py +0 -0
  59. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/health/__init__.py +0 -0
  60. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/health/health.proto +0 -0
  61. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/health/health_pb2.py +0 -0
  62. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/health/health_pb2.pyi +0 -0
  63. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/health/health_pb2_grpc.py +0 -0
  64. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/health_server.py +0 -0
  65. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/interface.py +0 -0
  66. {isolate-0.16.3 → isolate-0.18.0}/src/isolate/server/server.py +0 -0
  67. {isolate-0.16.3 → isolate-0.18.0}/src/isolate.egg-info/SOURCES.txt +0 -0
  68. {isolate-0.16.3 → isolate-0.18.0}/src/isolate.egg-info/dependency_links.txt +0 -0
  69. {isolate-0.16.3 → isolate-0.18.0}/src/isolate.egg-info/entry_points.txt +0 -0
  70. {isolate-0.16.3 → isolate-0.18.0}/src/isolate.egg-info/top_level.txt +0 -0
  71. {isolate-0.16.3 → isolate-0.18.0}/tests/__init__.py +0 -0
  72. {isolate-0.16.3 → isolate-0.18.0}/tests/conftest.py +0 -0
  73. {isolate-0.16.3 → isolate-0.18.0}/tests/test_backends.py +0 -0
  74. {isolate-0.16.3 → isolate-0.18.0}/tests/test_concurrency.py +0 -0
  75. {isolate-0.16.3 → isolate-0.18.0}/tests/test_connections.py +0 -0
  76. {isolate-0.16.3 → isolate-0.18.0}/tests/test_isolate.py +0 -0
  77. {isolate-0.16.3 → isolate-0.18.0}/tests/test_log.py +0 -0
  78. {isolate-0.16.3 → isolate-0.18.0}/tests/test_logger.py +0 -0
  79. {isolate-0.16.3 → isolate-0.18.0}/tests/test_serialization.py +0 -0
  80. {isolate-0.16.3 → isolate-0.18.0}/tests/test_server.py +0 -0
  81. {isolate-0.16.3 → isolate-0.18.0}/tools/Dockerfile +0 -0
  82. {isolate-0.16.3 → isolate-0.18.0}/tools/agent_requirements.txt +0 -0
  83. {isolate-0.16.3 → isolate-0.18.0}/tools/protobuf-requirements.txt +0 -0
  84. {isolate-0.16.3 → isolate-0.18.0}/tools/regen_grpc.py +0 -0
  85. {isolate-0.16.3 → isolate-0.18.0}/tools/requirements.txt +0 -0
  86. {isolate-0.16.3 → isolate-0.18.0}/tools/test_agent_requirements.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: isolate
3
- Version: 0.16.3
3
+ Version: 0.18.0
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
@@ -8,7 +8,7 @@ Project-URL: Source, https://github.com/fal-ai/isolate
8
8
  Requires-Python: >=3.8
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
- Requires-Dist: grpcio==1.64.0
11
+ Requires-Dist: grpcio<2,>=1.64.0
12
12
  Requires-Dist: protobuf
13
13
  Requires-Dist: tblib>=1.7.0
14
14
  Requires-Dist: platformdirs
@@ -20,7 +20,7 @@ requires-python = ">=3.8"
20
20
  dependencies = [
21
21
  # NOTE: make sure you re-generate python bindings (see tools/regen_grpc.py)
22
22
  # when updating grpcio version.
23
- "grpcio==1.64.0",
23
+ "grpcio>=1.64.0,<2",
24
24
  "protobuf",
25
25
  # These are non-intrusive packages with no transitive dependencies.
26
26
  # They are also used in the agents themselves.
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.16.3'
21
- __version_tuple__ = version_tuple = (0, 16, 3)
20
+ __version__ = version = '0.18.0'
21
+ __version_tuple__ = version_tuple = (0, 18, 0)
@@ -19,6 +19,7 @@ class ContainerizedPythonEnvironment(BaseEnvironment[Path]):
19
19
  python_version: str | None = None
20
20
  requirements: list[str] = field(default_factory=list)
21
21
  tags: list[str] = field(default_factory=list)
22
+ resolver: str | None = None
22
23
 
23
24
  @classmethod
24
25
  def from_config(
@@ -28,14 +29,27 @@ class ContainerizedPythonEnvironment(BaseEnvironment[Path]):
28
29
  ) -> BaseEnvironment:
29
30
  environment = cls(**config)
30
31
  environment.apply_settings(settings)
32
+ if environment.resolver not in ("uv", None):
33
+ raise ValueError(
34
+ "Only 'uv' is supported as a resolver for container environments."
35
+ )
31
36
  return environment
32
37
 
33
38
  @property
34
39
  def key(self) -> str:
40
+ extras = []
41
+ if self.resolver is not None:
42
+ extras.append(f"resolver={self.resolver}")
43
+
35
44
  # dockerfile_str is always there, but the validation is handled by the
36
45
  # controller.
37
46
  dockerfile_str = self.image.get("dockerfile_str", "")
38
- return sha256_digest_of(dockerfile_str, *self.requirements, *sorted(self.tags))
47
+ return sha256_digest_of(
48
+ dockerfile_str,
49
+ *self.requirements,
50
+ *sorted(self.tags),
51
+ *extras,
52
+ )
39
53
 
40
54
  def create(self, *, force: bool = False) -> Path:
41
55
  return Path(sys.exec_prefix)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: isolate
3
- Version: 0.16.3
3
+ Version: 0.18.0
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
@@ -8,7 +8,7 @@ Project-URL: Source, https://github.com/fal-ai/isolate
8
8
  Requires-Python: >=3.8
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
- Requires-Dist: grpcio==1.64.0
11
+ Requires-Dist: grpcio<2,>=1.64.0
12
12
  Requires-Dist: protobuf
13
13
  Requires-Dist: tblib>=1.7.0
14
14
  Requires-Dist: platformdirs
@@ -1,4 +1,4 @@
1
- grpcio==1.64.0
1
+ grpcio<2,>=1.64.0
2
2
  protobuf
3
3
  tblib>=1.7.0
4
4
  platformdirs
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