[project]
name = "atroposlib"
version = "0.1.0"
description = "Atropos: An Environment and Rollout handler for LLM RL"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
    "transformers==4.48.3",
    "datasets",
    "openai",
    "aiohttp",
    "tqdm",
    "fastapi",
    "uvicorn[standard]",
    "tenacity",
    "numpy",
    "wandb",
    "math-verify==0.7.0",
    "jinja2",
    "nltk",
    "polars",
    "aiofiles",
    "jsonlines",
    "torch",
    "pydantic-cli",
    "hf_transfer",
]

[project.scripts]
run-api = "atroposlib.cli.run_api:main"
inference-node-wandb-watcher = "atroposlib.cli.inference_node_wandb_watcher:main"
view-run = "atroposlib.cli.view_run:main"
atropos-sft-gen = "atroposlib.cli.sft:main"
atropos-dpo-gen = "atroposlib.cli.dpo:main"

[project.optional-dependencies]
all = [
    "atroposlib[dev,examples]"
]
dev = [
    "pytest",
    "pytest-asyncio",
    "pre-commit",
    "black",
    "flake8",
    "isort",
    "mypy",
    'rich',
]
examples = [
    "gradio"
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["atroposlib"]
