[build-system] requires = ["setuptools>=45", "wheel"] build-backend = "setuptools.build_meta" [project] name = "sql-env" version = "0.1.0" description = "Interactive SQL exploration RL environment for the OpenEnv Challenge" requires-python = ">=3.11,<3.13" dependencies = [ # Core OpenEnv runtime (provides FastAPI server + HTTP client types) "openenv-core[core]>=0.2.1", # Environment-specific dependencies "pydantic>=2.0.0", "fastapi>=0.104.0", "uvicorn>=0.24.0", "torch==2.2.2", "transformers<5", "numpy<2", "requests>=2.31.0", "sqlalchemy>=2.0.47", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-cov>=4.0.0", "ruff>=0.4.0", "jupyter>=1.1.1", "notebook>=7.5.5", ] training = [ "trl>=0.14.0,<0.15.0", "accelerate>=0.34.0", "matplotlib>=3.7.0", ] [project.scripts] # Server entry point — enables: uv run server server = "sql_env.server.app:main" [tool.setuptools] include-package-data = true packages = [ "sql_env", "sql_env.server", "sql_env.data", "sql_env.data.databases", ] package-dir = { "sql_env" = ".", "sql_env.server" = "server", "sql_env.data" = "data", "sql_env.data.databases" = "data/databases" } [tool.ruff] line-length = 88 exclude = ["scripts/"] [tool.ruff.lint] select = ["E", "F", "W"] [tool.ruff.lint.per-file-ignores] # SQL schema strings and LLM prompts are intentionally long "server/sql_environment.py" = ["E501"] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["."] addopts = "--import-mode=importlib" markers = [ "slow: integration or long-running tests", ]