verifiers 0.3.2.dev104__tar.gz → 0.3.2.dev106__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.
Files changed (218) hide show
  1. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/PKG-INFO +1 -1
  2. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/dashboard/eval.py +4 -4
  3. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/runtimes/docker/__init__.py +28 -3
  4. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/platform.py +7 -6
  5. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/.gitignore +0 -0
  6. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/LICENSE +0 -0
  7. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/README.md +0 -0
  8. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/pyproject.toml +0 -0
  9. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/conftest.py +0 -0
  10. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/fixtures/counter_tool_v1.py +0 -0
  11. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/fixtures/duet_v1.py +0 -0
  12. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/fixtures/echo_acp_resume_v1.py +0 -0
  13. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/fixtures/echo_agentic_v1.py +0 -0
  14. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/fixtures/echo_tool_v1.py +0 -0
  15. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/fixtures/echo_user_sim_v1.py +0 -0
  16. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/fixtures/echo_v1.py +0 -0
  17. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/fixtures/pyproject.toml +0 -0
  18. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/fixtures/tool_response_image_v1.py +0 -0
  19. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_color_codeword_tasks.py +0 -0
  20. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_configs.py +0 -0
  21. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_e2e.py +0 -0
  22. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_envs.py +0 -0
  23. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_graph.py +0 -0
  24. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_judges.py +0 -0
  25. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_platform_run.py +0 -0
  26. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_scoring.py +0 -0
  27. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_serve_delta.py +0 -0
  28. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_taskset.py +0 -0
  29. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/tests/v1/test_trace.py +0 -0
  30. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/__init__.py +0 -0
  31. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/cli/commands/init.py +0 -0
  32. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/__init__.py +0 -0
  33. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/acp/__init__.py +0 -0
  34. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/acp/runner.py +0 -0
  35. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/agent.py +0 -0
  36. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/__init__.py +0 -0
  37. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/dashboard/__init__.py +0 -0
  38. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/dashboard/base.py +0 -0
  39. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/dashboard/replay.py +0 -0
  40. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/dashboard/validate.py +0 -0
  41. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/debug.py +0 -0
  42. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/eval/__init__.py +0 -0
  43. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/eval/hint.py +0 -0
  44. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/eval/main.py +0 -0
  45. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/eval/resume.py +0 -0
  46. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/eval/runner.py +0 -0
  47. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/gepa.py +0 -0
  48. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/init.py +0 -0
  49. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/output.py +0 -0
  50. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/replay.py +0 -0
  51. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/resolve.py +0 -0
  52. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/resume.py +0 -0
  53. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/cli/validate.py +0 -0
  54. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/clients/__init__.py +0 -0
  55. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/clients/base.py +0 -0
  56. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/clients/client.py +0 -0
  57. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/clients/eval.py +0 -0
  58. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/clients/train.py +0 -0
  59. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/__init__.py +0 -0
  60. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/agent.py +0 -0
  61. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/cli/__init__.py +0 -0
  62. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/cli/debug.py +0 -0
  63. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/cli/env.py +0 -0
  64. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/cli/eval.py +0 -0
  65. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/cli/init.py +0 -0
  66. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/cli/replay.py +0 -0
  67. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/cli/validate.py +0 -0
  68. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/client.py +0 -0
  69. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/env.py +0 -0
  70. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/harness.py +0 -0
  71. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/judge.py +0 -0
  72. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/retries.py +0 -0
  73. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/runtime.py +0 -0
  74. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/serve.py +0 -0
  75. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/task.py +0 -0
  76. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/configs/taskset.py +0 -0
  77. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/dialects/__init__.py +0 -0
  78. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/dialects/anthropic.py +0 -0
  79. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/dialects/base.py +0 -0
  80. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/dialects/chat.py +0 -0
  81. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/dialects/responses.py +0 -0
  82. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/env.py +0 -0
  83. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/__init__.py +0 -0
  84. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/agentic_judge/__init__.py +0 -0
  85. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/agentic_judge/env.py +0 -0
  86. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/best_of_n/__init__.py +0 -0
  87. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/best_of_n/env.py +0 -0
  88. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/isolated_verifier/__init__.py +0 -0
  89. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/isolated_verifier/env.py +0 -0
  90. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/shared_agentic_judge/__init__.py +0 -0
  91. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/single_agent/__init__.py +0 -0
  92. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/single_agent/env.py +0 -0
  93. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/user_sim/__init__.py +0 -0
  94. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/envs/user_sim/env.py +0 -0
  95. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/episode.py +0 -0
  96. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/errors.py +0 -0
  97. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/gepa/__init__.py +0 -0
  98. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/gepa/adapter.py +0 -0
  99. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/gepa/config.py +0 -0
  100. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/gepa/dataset.py +0 -0
  101. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/gepa/reflection.py +0 -0
  102. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/gepa/runner.py +0 -0
  103. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/graph.py +0 -0
  104. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harness.py +0 -0
  105. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/__init__.py +0 -0
  106. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/bash/__init__.py +0 -0
  107. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/bash/harness.py +0 -0
  108. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/browser_use/__init__.py +0 -0
  109. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/browser_use/harness.py +0 -0
  110. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/browser_use/program.py +0 -0
  111. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/claude_code/__init__.py +0 -0
  112. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/claude_code/harness.py +0 -0
  113. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/codex/__init__.py +0 -0
  114. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/codex/harness.py +0 -0
  115. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/hermes_agent/__init__.py +0 -0
  116. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/hermes_agent/harness.py +0 -0
  117. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/hermes_agent/program.py +0 -0
  118. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/kimi_code/__init__.py +0 -0
  119. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/kimi_code/harness.py +0 -0
  120. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/mini_swe_agent/__init__.py +0 -0
  121. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/mini_swe_agent/harness.py +0 -0
  122. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/mini_swe_agent/program.py +0 -0
  123. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/node.py +0 -0
  124. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/null/__init__.py +0 -0
  125. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/null/harness.py +0 -0
  126. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/openclaw/__init__.py +0 -0
  127. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/openclaw/harness.py +0 -0
  128. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/pi/__init__.py +0 -0
  129. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/pi/harness.py +0 -0
  130. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/prime_agent/__init__.py +0 -0
  131. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/prime_agent/harness.py +0 -0
  132. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/rlm/__init__.py +0 -0
  133. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/rlm/harness.py +0 -0
  134. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/terminus_2/__init__.py +0 -0
  135. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/terminus_2/harness.py +0 -0
  136. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/terminus_2/program.py +0 -0
  137. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/utils/__init__.py +0 -0
  138. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/utils/compaction.py +0 -0
  139. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/utils/core.py +0 -0
  140. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/utils/install.py +0 -0
  141. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/utils/launch.py +0 -0
  142. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/harnesses/utils/mcp.py +0 -0
  143. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/interception/__init__.py +0 -0
  144. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/interception/base.py +0 -0
  145. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/interception/pool.py +0 -0
  146. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/interception/server.py +0 -0
  147. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/interception/tool.py +0 -0
  148. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/interception/tunnel/__init__.py +0 -0
  149. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/interception/tunnel/base.py +0 -0
  150. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/interception/tunnel/custom.py +0 -0
  151. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/interception/tunnel/prime.py +0 -0
  152. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/judge.py +0 -0
  153. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/judges/__init__.py +0 -0
  154. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/judges/reference.py +0 -0
  155. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/judges/reference.txt +0 -0
  156. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/judges/rubric.py +0 -0
  157. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/judges/rubric.txt +0 -0
  158. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/mcp/__init__.py +0 -0
  159. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/mcp/launch.py +1 -1
  160. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/mcp/server.py +0 -0
  161. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/mcp/toolset.py +0 -0
  162. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/rollout.py +0 -0
  163. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/runtimes/__init__.py +0 -0
  164. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/runtimes/base.py +0 -0
  165. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/runtimes/docker/egress.py +0 -0
  166. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/runtimes/limiters.py +0 -0
  167. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/runtimes/modal.py +0 -0
  168. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/runtimes/prime.py +0 -0
  169. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/runtimes/subprocess.py +0 -0
  170. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/semantic.py +0 -0
  171. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/serve/__init__.py +0 -0
  172. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/serve/client.py +0 -0
  173. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/serve/delta.py +0 -0
  174. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/serve/encoding.py +0 -0
  175. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/serve/pool.py +0 -0
  176. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/serve/server.py +0 -0
  177. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/serve/types.py +0 -0
  178. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/session.py +0 -0
  179. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/state.py +0 -0
  180. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/task.py +0 -0
  181. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/taskset.py +0 -0
  182. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/__init__.py +0 -0
  183. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/harbor/__init__.py +0 -0
  184. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/harbor/env.py +0 -0
  185. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/harbor/taskset.py +0 -0
  186. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/harbor/toolset.py +0 -0
  187. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/lean/__init__.py +0 -0
  188. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/lean/scoring.py +0 -0
  189. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/lean/taskset.py +0 -0
  190. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/nemo_gym/__init__.py +0 -0
  191. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/nemo_gym/response.py +0 -0
  192. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/nemo_gym/server.py +0 -0
  193. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/nemo_gym/taskset.py +0 -0
  194. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/nemo_gym/toolset.py +0 -0
  195. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/openenv/__init__.py +0 -0
  196. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/openenv/taskset.py +0 -0
  197. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/textarena/__init__.py +0 -0
  198. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/tasksets/textarena/taskset.py +0 -0
  199. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/trace.py +0 -0
  200. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/types.py +0 -0
  201. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/__init__.py +0 -0
  202. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/aio.py +0 -0
  203. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/artifacts.py +0 -0
  204. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/compile.py +0 -0
  205. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/decorators.py +0 -0
  206. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/format.py +0 -0
  207. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/generic.py +0 -0
  208. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/git.py +0 -0
  209. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/image.py +0 -0
  210. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/interrupt.py +0 -0
  211. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/loaders.py +0 -0
  212. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/logging.py +0 -0
  213. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/memory.py +0 -0
  214. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/paths.py +0 -0
  215. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/prime.py +0 -0
  216. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/retries.py +0 -0
  217. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/score.py +0 -0
  218. {verifiers-0.3.2.dev104 → verifiers-0.3.2.dev106}/verifiers/v1/utils/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: verifiers
3
- Version: 0.3.2.dev104
3
+ Version: 0.3.2.dev106
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
@@ -297,10 +297,10 @@ def _push_footer(push: "PushState | None") -> Group | None:
297
297
  line.append(f" not closed out: {push.error}", style="red")
298
298
  elif push.error:
299
299
  line = Text(f"Trace push failed ({push.error})", style="red", overflow="fold")
300
- elif push.incomplete and push.url:
301
- # Closed out, but the uploader lost records: what landed is there, say what didn't.
302
- line = Text(f"Traces pushed ({push.url})", style="white", overflow="fold")
303
- line.append(f" incomplete: {push.incomplete}", style="red")
300
+ elif (incomplete := push.incomplete) and push.url:
301
+ label = "Traces pushed" if push.finished else "Pushing traces"
302
+ line = Text(f"{label} ({push.url})", style="white", overflow="fold")
303
+ line.append(f" incomplete: {incomplete}", style="red")
304
304
  elif not push.finished:
305
305
  line = Text(f"Pushing traces ({push.url})", style="dim", overflow="fold")
306
306
  else:
@@ -4,6 +4,7 @@ import array
4
4
  import asyncio
5
5
  import contextlib
6
6
  import logging
7
+ import re
7
8
  import shlex
8
9
  import socket
9
10
  import subprocess
@@ -41,8 +42,9 @@ class DockerConfig(NetworkPolicyConfig):
41
42
  memory: float | None = None
42
43
  """Hard memory limit in GB (docker `--memory`). None = unlimited."""
43
44
  gpu: str | None = None
44
- """GPU spec, e.g. "A100" or "2" (docker `--gpus` uses the count; needs the nvidia
45
- container toolkit). None = none."""
45
+ """GPU type[:count] or count only; Docker selects by count. A requested type is
46
+ checked with nvidia-smi inside the container (case-insensitive, whitespace/hyphen
47
+ boundaries). Requires the NVIDIA Container Toolkit. None = none."""
46
48
  disk: float | None = None
47
49
  """Advisory disk request in GB. Docker has no portable per-container size limit, so
48
50
  this is accepted (so a task can declare it without a warning) but not enforced."""
@@ -212,7 +214,7 @@ class DockerRuntime(Runtime):
212
214
  limits += ["--cpus", str(self.config.cpu)]
213
215
  if self.config.memory is not None:
214
216
  limits += ["--memory", f"{self.config.memory}g"]
215
- _, gpu_count = parse_gpu(self.config.gpu)
217
+ gpu_type, gpu_count = parse_gpu(self.config.gpu)
216
218
  if gpu_count:
217
219
  limits += ["--gpus", str(gpu_count)]
218
220
  restricted = self.network_restricted
@@ -258,6 +260,29 @@ class DockerRuntime(Runtime):
258
260
  self.info.id = run.stdout.strip()[
259
261
  :12
260
262
  ] # `docker run -d` prints the container id
263
+ if gpu_type and gpu_count:
264
+ # Check the devices Docker actually exposed, including on remote daemons.
265
+ gpus = await docker(
266
+ "exec",
267
+ self._container,
268
+ "nvidia-smi",
269
+ "--query-gpu=name",
270
+ "--format=csv,noheader",
271
+ )
272
+ if gpus.exit_code != 0:
273
+ raise SandboxError(
274
+ f"Cannot verify Docker GPU type: {(gpus.stderr or gpus.stdout).strip()}"
275
+ )
276
+ names = gpus.stdout.strip().splitlines()
277
+ if len(names) != gpu_count or any(
278
+ not re.search(
279
+ rf"(?:^|[\s-]){re.escape(gpu_type)}(?:$|[\s-])", name, re.IGNORECASE
280
+ )
281
+ for name in names
282
+ ):
283
+ raise SandboxError(
284
+ f"Requested {self.config.gpu!r}, but Docker exposed: {', '.join(names) or 'no GPUs'}"
285
+ )
261
286
  if restricted:
262
287
  # Setup is trusted; colocated servers fetch their task from host interception
263
288
  # before the final framework routes are known.
@@ -24,9 +24,11 @@ class PushState:
24
24
 
25
25
  run: pr.Run | None = None
26
26
  error: str | None = None
27
- incomplete: str | None = None
28
- """Set when the run closed out but the uploader lost records on the way: the run
29
- exists and holds what did land, so the footer says so rather than "failed"."""
27
+
28
+ @property
29
+ def incomplete(self) -> str | None:
30
+ """Current upload errors and record losses, including while the run is active."""
31
+ return _losses(self.run) if self.run is not None else None
30
32
 
31
33
  @property
32
34
  def url(self) -> str | None:
@@ -157,9 +159,8 @@ def _close(
157
159
  if state.error is None:
158
160
  state.error = f"{type(e).__name__}: {e}"
159
161
  else:
160
- state.incomplete = _losses(run)
161
- if state.incomplete:
162
- logger.warning("--push: %s, but %s", status.value, state.incomplete)
162
+ if incomplete := state.incomplete:
163
+ logger.warning("--push: %s, but %s", status.value, incomplete)
163
164
  if run.url:
164
165
  # The run's own status: `finish()` is a no-op once another caller closed it.
165
166
  logger.info("--push: %s -> %s", run.status.value, run.url)
@@ -366,8 +366,8 @@ async def _serve(
366
366
  runtime = harness_runtime
367
367
  else:
368
368
  runtime = make_runtime(cfg.runtime)
369
- await runtime.start()
370
369
  stack.push_async_callback(runtime.stop)
370
+ await runtime.start()
371
371
  # Only consumers outside the server runtime need its fixed published port. Colocated tools
372
372
  # use independent OS-assigned ports, avoiding clashes on the runtime's service port.
373
373
  exposed = runtime is not harness_runtime