# 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-ShopManagerEng" version = "0.1.0" description = "Shopmanagereng environment for OpenEnv" requires-python = ">=3.10" dependencies = [ # Core OpenEnv runtime (provides FastAPI server + HTTP client types) # install from github # "openenv-core[core] @ git+https://github.com/meta-pytorch/OpenEnv.git", "openenv-core[core]>=0.2.2", "yfinance>=0.2.40", "python-dotenv>=1.0.0", "requests>=2.28.0", "streamlit>=1.30.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-cov>=4.0.0", ] # GRPO training stack. Install only on a GPU host (vLLM is GPU-only). # pip install -e '.[train]' # Mirrors openenv-course Module 5 versions. trl>=0.17 is the cutoff that # introduced trl.experimental.openenv.generate_rollout_completions. train = [ "trl>=0.17.0", "transformers>=4.46.0", "datasets>=2.20.0", "accelerate>=1.0.0", # Pin to TRL's supported window. vllm 0.19+ changes the sampling-logprob # path and breaks GRPO importance sampling (ratio collapses to ~0, # grad_norm goes to 0, model stops learning). Keep <=0.18.0 until TRL # bumps its supported range. "vllm>=0.11.0,<=0.18.0", "trackio", "torch>=2.4.0", # Local plotting of loss + reward curves (hackathon submission evidence). "matplotlib>=3.7", ] [project.scripts] # Server entry point - enables running via: uv run --project . server # or: python -m ShopManagerEng.server.app server = "ShopManagerEng.server.app:main" [tool.setuptools] include-package-data = true packages = ["ShopManagerEng", "ShopManagerEng.server", "ShopManagerEng.training"] package-dir = { "ShopManagerEng" = ".", "ShopManagerEng.server" = "server", "ShopManagerEng.training" = "training" }