# Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. [build-system] requires = ["setuptools>=45", "wheel"] build-backend = "setuptools.build_meta" [project] name = "openenv-rl_code_fix_env" version = "0.1.0" description = "Rl Code Fix Env environment for OpenEnv" requires-python = ">=3.10" dependencies = [ # Core OpenEnv runtime (provides FastAPI server + HTTP client types) "openenv-core[core]>=0.2.2", # Web framework & API "fastapi>=0.104.0", "uvicorn>=0.24.0", "pydantic>=2.0.0", # Data & computation "numpy>=1.19.0", "pandas>=1.0.0", "datasets>=2.0.0", # RL & environments "gymnasium>=0.29.0", # LLM & AI "langchain>=0.1.0", "langchain-core>=0.1.0", "huggingface_hub>=0.16.0", "groq>=0.4.0", # Code analysis & patching "unidiff", "diff-match-patch>=20200713", # Utilities "requests>=2.28.0", "loguru>=0.7.0", "rich>=13.0.0", "tqdm>=4.65.0", "matplotlib>=3.5.0", "seaborn>=0.12.0", "streamlit>=1.28.0", # Testing "pytest>=8.0.0", "pytest-timeout>=2.1.0", "pytest-json-report>=1.5.0", # LLM scorer "openai>=1.0.0", "python-dotenv>=1.0.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-cov>=4.0.0", ] [project.scripts] # Server entry point - enables running via: uv run --project . server # or: python -m rl_code_fix_env.server.app server = "rl_code_fix_env.server.app:main" [tool.setuptools] include-package-data = true packages = ["rl_code_fix_env", "rl_code_fix_env.dataset", "rl_code_fix_env.server", "rl_code_fix_env.src", "rl_code_fix_env.src.environment", "rl_code_fix_env.src.reward", "rl_code_fix_env.src.sandbox", "rl_code_fix_env.src.trace"] package-dir = { "rl_code_fix_env" = ".", "rl_code_fix_env.dataset" = "dataset", "rl_code_fix_env.server" = "server", "rl_code_fix_env.src" = "src", "rl_code_fix_env.src.environment" = "src/environment", "rl_code_fix_env.src.reward" = "src/reward", "rl_code_fix_env.src.sandbox" = "src/sandbox", "rl_code_fix_env.src.trace" = "src/trace" } [tool.pytest.ini_options] # Add repo root to sys.path so `from src.dataset.problem_X.buggy import ...` # resolves correctly in all test files without needing sys.path hacks. pythonpath = ["."] # Prevent pytest from crawling into the virtualenv and collecting site-packages tests. norecursedirs = [".venv", "venv", ".git", "__pycache__", "*.egg-info"] timeout = 25 [tool.setuptools.package-data] "rl_code_fix_env.dataset" = ["problem_*/*", "README.md", "tasks.py"] [tool.setuptools.exclude-package-data] # Prevent conftest.py and _aliases.py from being installed into site-packages. # If they land there AND the source tree is on sys.path, pytest raises # ImportPathMismatchError because it finds the same module at two paths. # The aliases are handled by src/dataset/__init__.py which IS packaged. "rl_code_fix_env" = ["conftest.py", "_aliases.py"]