File size: 3,163 Bytes
03a907a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# 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"]