verirl-env / pyproject.toml
Supreeth's picture
Upload folder using huggingface_hub
57f615d verified
Raw History Blame Contribute Delete
3.17 kB
# 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-verirl_env"
version = "0.7.5"
description = "Verilog hardware design environment for OpenEnv — trains LLMs to write RTL for AI-accelerator primitives"
requires-python = ">=3.10"
dependencies = [
"modal>=1.4.1",
"omegaconf>=2.3.0",
"openai>=2.30.0",
# Core OpenEnv runtime (provides FastAPI server + HTTP client types)
"openenv-core[core]>=0.2.2",
# For loading .env files in inference.py
"python-dotenv>=1.0.0",
"wandb>=0.25.1",
"weave>=0.52.37",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-cov>=4.0.0",
"pytest-asyncio>=0.23.0",
"towncrier>=23.11.0",
]
# SFT warm-start: Unsloth requires TRL 0.x — keep separate from the GRPO image
sft = [
"torch>=2.3.1",
"transformers>=4.57.0",
"trl>=0.14.0,<1.0.0",
"peft>=0.12.0",
"accelerate>=0.33.0",
"bitsandbytes>=0.43.3",
"wandb>=0.17.0",
"huggingface_hub>=0.24.0",
"datasets>=3.5.1",
"numpy",
"omegaconf>=2.3.0",
"modal>=1.0.0",
# Unsloth for fast SFT (Linux/CUDA only)
"unsloth==2026.4.8; sys_platform == 'linux'",
]
# GRPO/RLVR: TRL 1.x + vLLM — incompatible with Unsloth's TRL pin
grpo = [
"torch>=2.3.1",
"transformers>=4.57.0",
"trl>=1.0.0",
"peft>=0.12.0",
"accelerate>=0.33.0",
"bitsandbytes>=0.43.3",
"wandb>=0.17.0",
"huggingface_hub>=0.24.0",
"datasets>=3.5.1",
"numpy",
"liger-kernel",
"omegaconf>=2.3.0",
"modal>=1.0.0",
"jmespath>=1.0.0",
# vLLM for GRPO rollouts — TRL 1.x supports 0.11.0–0.18.0 (Linux/CUDA only)
"vllm>=0.11.0,<=0.18.0; sys_platform == 'linux'",
]
[project.scripts]
# Server entry point - enables running via: uv run --project . server
# or: python -m verirl_env.server.app
server = "verirl_env.server.app:main"
[tool.uv]
# sft and grpo are deployed in separate Modal containers and have conflicting
# TRL version pins — tell uv to resolve them independently, not simultaneously.
conflicts = [
[{ extra = "sft" }, { extra = "grpo" }],
]
[tool.setuptools]
include-package-data = true
packages = ["verirl_env", "verirl_env.server"]
package-dir = { "verirl_env" = ".", "verirl_env.server" = "server" }
[tool.setuptools.package-data]
verirl_env = ["**/*.yaml", "**/*.yml", "problems/**/*.v", "problems/**/*.sv", "problems/**/*.md"]
[tool.towncrier]
package = "verirl_env"
directory = ".changelog.d"
filename = "CHANGELOG.md"
title_format = "## [{version}] - {project_date}"
template = ".changelog.d/template.md"
[[tool.towncrier.type]]
directory = "feature"
name = "Features"
showcontent = true
[[tool.towncrier.type]]
directory = "bugfix"
name = "Bug Fixes"
showcontent = true
[[tool.towncrier.type]]
directory = "doc"
name = "Documentation"
showcontent = true
[[tool.towncrier.type]]
directory = "misc"
name = "Miscellaneous"
showcontent = false