verifiers 0.3.2.dev76__py3-none-any.whl → 0.3.2.dev78__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.
@@ -91,8 +91,8 @@ class IsolatedVerifierEnv(vf.Env[IsolatedVerifierEnvConfig]):
91
91
  if not PurePosixPath(artifact.source).is_absolute()
92
92
  ]
93
93
  solver = resolve_runtime_config(self.config.agent.runtime, task)
94
- solver_workdir = PurePosixPath(getattr(solver, "workdir", "") or "/")
95
- verifier_workdir = PurePosixPath(config.workdir)
94
+ solver_workdir = PurePosixPath(getattr(solver, "workdir", "/") or "/app")
95
+ verifier_workdir = PurePosixPath(config.workdir or "/app")
96
96
  if relative and solver_workdir != verifier_workdir:
97
97
  raise ValueError(
98
98
  "isolated-verifier cannot transfer relative artifacts "
@@ -33,7 +33,8 @@ logger = logging.getLogger(__name__)
33
33
  class DockerConfig(NetworkPolicyConfig):
34
34
  type: Literal["docker"] = "docker"
35
35
  image: str = "python:3.11-slim"
36
- workdir: str = "/app"
36
+ workdir: str | None = None
37
+ """Working directory override; None uses the task's workdir, or /app."""
37
38
  # TaskData.resources uses these units; non-default runtime config values take precedence.
38
39
  cpu: float | None = None
39
40
  """Pin the container to this many CPU cores (docker `--cpus`). None = unlimited."""
@@ -178,8 +179,8 @@ control.sendmsg([b"listener"], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, array.arr
178
179
  class DockerRuntime(Runtime):
179
180
  def __init__(self, config: DockerConfig, name: str | None = None) -> None:
180
181
  super().__init__(name)
181
- self.config = config
182
- self.info = DockerRuntimeInfo(**config.model_dump())
182
+ self.config = config.model_copy(update={"workdir": config.workdir or "/app"})
183
+ self.info = DockerRuntimeInfo(**self.config.model_dump())
183
184
  self._container: str | None = None # our `--name` (used for exec/rm)
184
185
  self._proxy: EgressProxy | None = None
185
186
  self._proxy_host_ip: str | None = None
@@ -39,7 +39,8 @@ _APP_NAME = "verifiers-v1"
39
39
  class ModalConfig(BaseConfig):
40
40
  type: Literal["modal"] = "modal"
41
41
  image: str = "python:3.11-slim"
42
- workdir: str = "/app"
42
+ workdir: str | None = None
43
+ """Working directory override; None uses the task's workdir, or /app."""
43
44
  network_access: bool = True
44
45
  region: str | None = None
45
46
  """Region to provision in (None = provider-chosen)."""
@@ -72,7 +73,7 @@ class ModalProcess(RuntimeProcess):
72
73
  self.stderr: AsyncIterator[bytes] = process.stderr
73
74
 
74
75
  async def write(self, data: bytes) -> None:
75
- await self._process.stdin.write.aio(data)
76
+ self._process.stdin.write(data)
76
77
  await self._process.stdin.drain.aio()
77
78
 
78
79
  async def wait(self) -> int:
@@ -107,8 +108,8 @@ class ModalRuntime(Runtime):
107
108
 
108
109
  def __init__(self, config: ModalConfig, name: str | None = None) -> None:
109
110
  super().__init__(name)
110
- self.config = config
111
- self.info = ModalRuntimeInfo(**config.model_dump())
111
+ self.config = config.model_copy(update={"workdir": config.workdir or "/app"})
112
+ self.info = ModalRuntimeInfo(**self.config.model_dump())
112
113
  self._sandbox = None
113
114
 
114
115
  @property
@@ -76,7 +76,8 @@ class PrimeConfig(NetworkPolicyConfig):
76
76
  platform auto-builds what the sandbox needs from it (a VM image for `vm` sandboxes,
77
77
  ~10 minutes) and caches the result, so later sandboxes on the same ref start in
78
78
  seconds."""
79
- workdir: str = "/app"
79
+ workdir: str | None = None
80
+ """Working directory override; None uses the task's workdir, or /app."""
80
81
  vm: bool = True
81
82
  """Run as a micro-VM rather than a container (kernel features / stronger isolation)."""
82
83
  guaranteed: bool = False
@@ -149,8 +150,8 @@ class PrimeRuntime(Runtime):
149
150
  def __init__(self, config: PrimeConfig, name: str | None = None) -> None:
150
151
  ensure_prime_auth()
151
152
  super().__init__(name)
152
- self.config = config
153
- self.info = PrimeRuntimeInfo(**config.model_dump())
153
+ self.config = config.model_copy(update={"workdir": config.workdir or "/app"})
154
+ self.info = PrimeRuntimeInfo(**self.config.model_dump())
154
155
  self._client = None
155
156
 
156
157
  @property
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: verifiers
3
- Version: 0.3.2.dev76
3
+ Version: 0.3.2.dev78
4
4
  Summary: Verifiers: Environments for LLM Reinforcement Learning
5
5
  Project-URL: Homepage, https://github.com/primeintellect-ai/verifiers
6
6
  Project-URL: Documentation, https://github.com/primeintellect-ai/verifiers
@@ -70,7 +70,7 @@ verifiers/v1/envs/agentic_judge/env.py,sha256=GovnHqgRm8nQLAM7wMx57-A_wJBRYopsfi
70
70
  verifiers/v1/envs/best_of_n/__init__.py,sha256=mubASiwXMNIhnQFDccNAc7yZ0OFsOVK8hH8WIx9b2A4,119
71
71
  verifiers/v1/envs/best_of_n/env.py,sha256=KEUJBCVqblnXP_lEwm3mjGdaikBMkecz8UjOFPBhxc0,1987
72
72
  verifiers/v1/envs/isolated_verifier/__init__.py,sha256=HZxc65f87pSIPRslwTZzs0I17wGa-UMM-c-CHliwPss,214
73
- verifiers/v1/envs/isolated_verifier/env.py,sha256=zy0IhzCDyYpqo6pPvIFIdsJy-N_aSM_vG7qSJNFz0Wo,7983
73
+ verifiers/v1/envs/isolated_verifier/env.py,sha256=fNL6-rqaE1H0Oq5k5iIEFoBQsYsbg-ebu10uWsyYLe0,7997
74
74
  verifiers/v1/envs/shared_agentic_judge/__init__.py,sha256=9T4vyYAuqgZSQjqTIceghxnpauvqeW6XGhZSQDCttMA,168
75
75
  verifiers/v1/envs/single_agent/__init__.py,sha256=r0edAc_6gtHBhPzeBGVcdHZZqSdCPZnLMje6eVgyz5U,138
76
76
  verifiers/v1/envs/single_agent/env.py,sha256=lPs_a6VA7KoH1xqA3T8S32Jzb_d4zrx0_54LrqT5z1Q,1187
@@ -143,10 +143,10 @@ verifiers/v1/mcp/toolset.py,sha256=G2wzNdEMGLXoQUcrwF0TartJkqokNPI3o7YUOAaaa6U,1
143
143
  verifiers/v1/runtimes/__init__.py,sha256=ppc1R_sx-aMcuJSx4t99rTSjloUXI0M6EUj676-1PeY,2862
144
144
  verifiers/v1/runtimes/base.py,sha256=VMxYMnGE_zj4k1VseTxEtKhzOZroahRnZSfvruDenEw,17468
145
145
  verifiers/v1/runtimes/limiters.py,sha256=C6cWDD4pwyFwUY4QFke3oiMXwydSNIfSbJSIglUC2kE,3062
146
- verifiers/v1/runtimes/modal.py,sha256=wUNik2Wul1YISausdABIMAoSaTA0MNDwKUayKxVLwAA,13342
147
- verifiers/v1/runtimes/prime.py,sha256=JUj_jl1UVXHKDif41UcLXnnwX5Sdt9lQTqw14FtIl9c,19346
146
+ verifiers/v1/runtimes/modal.py,sha256=Vpyjj29aW7wXXb6T6IL4uGziWffKbygEvJYBVHxWCEs,13476
147
+ verifiers/v1/runtimes/prime.py,sha256=VWzskEtMEwND6tKKhRtFM5m4Qzt001xCaI4zKqNon80,19490
148
148
  verifiers/v1/runtimes/subprocess.py,sha256=QmpQ235_xrX6gowrr8557VgbydOXpLbfFq0KKGfJThk,8774
149
- verifiers/v1/runtimes/docker/__init__.py,sha256=JN0mI10a_BKQpRRJKX_NqStAoODAEk2dAJF9mrz69ug,20972
149
+ verifiers/v1/runtimes/docker/__init__.py,sha256=2YJtjOVSA4OgxXgeIlFW3Ps01KEfLNT_pcat2k3_bm0,21116
150
150
  verifiers/v1/runtimes/docker/egress.py,sha256=iFH_1XotlEM-OCaW7GNu3TWVEq1sqesKYweyVBX8g90,14360
151
151
  verifiers/v1/serve/__init__.py,sha256=doImCSxSYZEjVDXfRafLHkhHXcXQxzA6qUGMBQ8bSko,477
152
152
  verifiers/v1/serve/client.py,sha256=biy46qOOFTjMXSIsY8W1vMEfctn7usCeNuBQsJqc2mc,7789
@@ -189,8 +189,8 @@ verifiers/v1/utils/prime.py,sha256=UTYRjp9cbjNb6CVmBHda-1wWZAIIfxNOmTyNuT7_wL4,9
189
189
  verifiers/v1/utils/retries.py,sha256=Y2ZgrAjn-qNkRKZP_RVNL_7EK0iaRcZeCa404lpGYi4,5417
190
190
  verifiers/v1/utils/score.py,sha256=493yJVMw8teCu9JxapxMFPFzI0hNUqdo0Y2nGW4kckk,6200
191
191
  verifiers/v1/utils/version.py,sha256=-obEo_-l9-D8FLef4hYxncOe-uJpxrM1g2Hig_37Sgs,1607
192
- verifiers-0.3.2.dev76.dist-info/METADATA,sha256=0tR196cIKTJEX2e2yiQvu4oE5xI-3JxfPKP3UHL4fmk,4237
193
- verifiers-0.3.2.dev76.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
194
- verifiers-0.3.2.dev76.dist-info/entry_points.txt,sha256=uqQje0TMsr7k6nXlWxlPs13Si0evb3pVCEDF6c-YL80,241
195
- verifiers-0.3.2.dev76.dist-info/licenses/LICENSE,sha256=v0RrUsdV3IDoZhrRce297IXS3xMHNJ-_LdLpFAUWb9k,1072
196
- verifiers-0.3.2.dev76.dist-info/RECORD,,
192
+ verifiers-0.3.2.dev78.dist-info/METADATA,sha256=T_B61ZUhIc_QO8W9jAWpWhYlK0wTB-zpInRxmi7dJKc,4237
193
+ verifiers-0.3.2.dev78.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
194
+ verifiers-0.3.2.dev78.dist-info/entry_points.txt,sha256=uqQje0TMsr7k6nXlWxlPs13Si0evb3pVCEDF6c-YL80,241
195
+ verifiers-0.3.2.dev78.dist-info/licenses/LICENSE,sha256=v0RrUsdV3IDoZhrRce297IXS3xMHNJ-_LdLpFAUWb9k,1072
196
+ verifiers-0.3.2.dev78.dist-info/RECORD,,