[project] name = "openra-rl" version = "0.4.0" description = "Play Red Alert with AI agents — LLMs, scripted bots, or RL" readme = "README.md" license = {text = "GPL-3.0"} requires-python = ">=3.10" dependencies = [ "openenv-core>=0.2.0", "openra-rl-util>=0.1.0", "grpcio>=1.60.0", "grpcio-tools>=1.60.0", "protobuf>=4.25.0", "pydantic>=2.0.0", "fastapi>=0.100.0", "uvicorn>=0.20.0", "pyyaml>=6.0", "mcp>=1.2.0", "httpx>=0.24.0", "python-dotenv>=1.0.0", "websockets>=12.0", ] [project.scripts] openra-rl = "openra_env.cli.main:main" openra-rl-mcp = "openra_env.mcp_server:main" [project.optional-dependencies] dev = [ "pytest>=7.0", "pytest-asyncio>=0.21", "ruff>=0.1.0", ] training = [ "trl>=0.7.0", "torch>=2.0.0", "transformers>=4.30.0", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["openra_env"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" [tool.ruff] line-length = 120 target-version = "py310"