Red-Button / pyproject.toml
Arun-Sanjay's picture
Phase 7: OpenEnv server (ShutdownGymEnvironment, create_app wiring, EnvClient), custom-action mode, turn-budget timer per PROJECT.md Sections 4, 8, 10, 11, 13
453233a
[project]
name = "red-button"
version = "0.1.0"
description = "Red Button (Shutdown-Gym): OpenEnv RL environment that trains small LLMs to accept shutdown cleanly instead of tampering with shutdown mechanisms."
readme = "README.md"
requires-python = ">=3.11"
license = { text = "MIT" }
authors = [{ name = "Red Button Team" }]
keywords = ["openenv", "rl", "alignment", "corrigibility", "grpo"]
dependencies = [
"openenv-core>=0.2.1",
"trl",
"unsloth",
"pydantic>=2",
"fastapi",
"uvicorn",
"pytest",
"pytest-asyncio",
"wandb",
"datasets",
"huggingface_hub",
]
[project.optional-dependencies]
dev = ["black", "ruff", "isort"]
[project.scripts]
# Server entry point — enables `uv run --project . server` and
# `python -m server.app`. Required for `openenv validate` to mark
# uv_run / openenv_serve / python_module deployment modes as ready.
server = "server.app:main"
[build-system]
requires = ["setuptools>=61", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
include = ["red_button*", "server*"]
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
asyncio_mode = "auto"
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
select = ["E", "F", "W", "I"]
ignore = ["E501"]
[tool.black]
line-length = 100
target-version = ["py311"]
[tool.isort]
profile = "black"
line_length = 100