Spaces:
Running
Running
| [build-system] | |
| requires = ["setuptools>=68", "wheel"] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "chakravyuh" | |
| version = "0.3.0" | |
| description = "Multi-agent OpenEnv RL environment for Indian UPI fraud detection — diagnoses + fixes reward hacking in RLHF (v1 100%/36% FPR → v2 99.3%/6.7%)" | |
| readme = "README.md" | |
| requires-python = ">=3.10,<3.13" | |
| license = { text = "MIT" } | |
| authors = [ | |
| { name = "Ujjwal Pardeshi" }, | |
| { name = "Chakravyuh Team" } | |
| ] | |
| keywords = [ | |
| "reinforcement-learning", | |
| "multi-agent", | |
| "fraud-detection", | |
| "openenv", | |
| "llm", | |
| "grpo", | |
| "lora", | |
| "qwen", | |
| "rlhf", | |
| "reward-hacking", | |
| "ai-safety", | |
| "red-team", | |
| "upi", | |
| "india", | |
| "scam-detection", | |
| ] | |
| classifiers = [ | |
| "Development Status :: 4 - Beta", | |
| "Intended Audience :: Science/Research", | |
| "License :: OSI Approved :: MIT License", | |
| "Programming Language :: Python :: 3", | |
| "Programming Language :: Python :: 3.10", | |
| "Programming Language :: Python :: 3.11", | |
| "Programming Language :: Python :: 3.12", | |
| "Topic :: Scientific/Engineering :: Artificial Intelligence", | |
| ] | |
| # Core dependencies are deliberately lightweight so the OpenEnv server | |
| # (HF Space) can build a small image. Torch / transformers / | |
| # sentence-transformers move into the [llm] / [train] extras below. | |
| dependencies = [ | |
| "pydantic>=2.6", | |
| "numpy>=1.26", | |
| "python-dotenv>=1.0", | |
| "tqdm>=4.66", | |
| "jsonlines>=4.0", | |
| "openenv-core>=0.2.3,<0.3", | |
| "fastapi>=0.115", | |
| "uvicorn>=0.30", | |
| ] | |
| [project.optional-dependencies] | |
| llm = [ | |
| "torch>=2.5,<2.6", | |
| "transformers>=4.45,<4.50", | |
| "sentence-transformers>=2.7", | |
| "peft>=0.13", | |
| "trl>=0.12", | |
| "accelerate>=0.33", | |
| "bitsandbytes>=0.44", | |
| "datasets>=2.19", | |
| "wandb>=0.17", | |
| ] | |
| demo = [ | |
| "gradio>=5.0", | |
| ] | |
| train = [ | |
| "unsloth", | |
| "vllm>=0.6", | |
| ] | |
| eval = [ | |
| "scipy>=1.13", | |
| "pandas>=2.2", | |
| "matplotlib>=3.9", | |
| ] | |
| frontier = [ | |
| # OpenAI-compatible: works for OpenAI + Groq + other compat providers | |
| "openai>=1.40", | |
| # Anthropic Claude | |
| "anthropic>=0.39", | |
| # Google Gemini | |
| "google-generativeai>=0.8", | |
| ] | |
| dev = [ | |
| "pytest>=8.0", | |
| "pytest-cov>=5.0", | |
| "ruff>=0.6", | |
| "mypy>=1.11", | |
| ] | |
| [project.urls] | |
| Homepage = "https://huggingface.co/spaces/ujjwalpardeshi/chakravyuh" | |
| Repository = "https://github.com/UjjwalPardeshi/Chakravyuh" | |
| Documentation = "https://github.com/UjjwalPardeshi/Chakravyuh#readme" | |
| Changelog = "https://github.com/UjjwalPardeshi/Chakravyuh/releases" | |
| Issues = "https://github.com/UjjwalPardeshi/Chakravyuh/issues" | |
| "HF Space (live demo)" = "https://ujjwalpardeshi-chakravyuh.hf.space" | |
| "HF Hub Model (Analyzer v2)" = "https://huggingface.co/ujjwalpardeshi/chakravyuh-analyzer-lora-v2" | |
| "HF Hub Dataset (bench-v0)" = "https://huggingface.co/datasets/ujjwalpardeshi/chakravyuh-bench-v0" | |
| [project.scripts] | |
| # The OpenEnv validator (`openenv validate .`) requires the key to be | |
| # exactly ``server`` and the target to end in ``:main``. This makes | |
| # `uv run --project . server` and `openenv serve .` both work. | |
| server = "server.app:main" | |
| [tool.setuptools.packages.find] | |
| where = ["."] | |
| include = ["chakravyuh_env*", "server*", "training*", "eval*"] | |
| [tool.ruff] | |
| line-length = 100 | |
| target-version = "py310" | |
| [tool.ruff.lint] | |
| select = ["E", "F", "I", "N", "W", "B", "UP"] | |
| ignore = ["E501"] | |
| [tool.pytest.ini_options] | |
| testpaths = ["tests"] | |
| python_files = ["test_*.py"] | |
| addopts = "-v --tb=short" | |
| markers = [ | |
| "unit: fast, no external dependencies", | |
| "integration: slower, multi-component", | |
| ] | |
| # OpenEnv integration: ``openenv-core>=0.2.3`` pinned in dependencies above. | |
| # Entry: ``chakravyuh_env.ChakravyuhOpenEnv`` / ``server.app:app``. | |