File size: 1,921 Bytes
8efd70f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
[project]
name = "openenv-sentinel"
version = "0.1.0"
description = "Multi-agent OpenEnv for scalable LLM oversight"
readme = "README.md"
requires-python = ">=3.10"

dependencies = [
    "fastapi>=0.104.0",
    "uvicorn[standard]>=0.24.0",
    "pydantic>=2.6.0",
    "requests>=2.31.0",
    "httpx>=0.27.0,<0.29.0",
    "openai>=1.58.0",
    "python-dotenv>=1.0.0",
    "gradio>=5.0.0,<6.0.0",
    "openenv-core[core]>=0.2.3",
]

[project.optional-dependencies]
# Pin set used by the HF Jobs runner (training/grpo_hf_job.py PEP 723 header).
# Keep these in sync with the PINS dict in that file.
train = [
    # torch must be >=2.6 because unsloth_zoo==2026.4.4 requires torchao>=0.13
    # and torchao>=0.13 references torch.int1 (added in torch 2.6).
    "torch>=2.6,<2.8",
    "unsloth==2026.4.4",
    "unsloth_zoo==2026.4.4",
    "trl==0.21.0",
    # transformers must satisfy unsloth==2026.4.4's allowed list.
    # The widest sane window is >4.55.1,<4.57.0; we sit inside that.
    "transformers>=4.55.2,<4.57.0",
    # vllm 0.6.x only supports torch<=2.5; bumped to track torch 2.6+.
    "vllm>=0.7.0,<0.10.0",
    # peft must stay <0.19.0: peft 0.19.x imports `EmbeddingParallel` from
    # transformers.integrations.tensor_parallel which only exists in
    # transformers 4.57+. unsloth==2026.4.4 caps transformers <4.57.0, so peft
    # 0.19.x crashes on PeftModel.from_pretrained() during trained-eval load.
    "peft>=0.13.0,<0.19.0",
    "accelerate>=1.1.0,<2.0.0",
    "bitsandbytes>=0.45.0",
    "datasets>=2.18.0",
    "matplotlib>=3.8.0",
    "numpy<2.0",
    "huggingface_hub>=0.27.0",
]

[project.scripts]
server = "server.app:main"

[build-system]
requires = ["setuptools>=68.0"]
build-backend = "setuptools.build_meta"

[tool.setuptools]
package-dir = {"sentinel" = ".", "sentinel.server" = "server"}
packages = ["sentinel", "sentinel.server"]