[build-system] requires = ["setuptools>=65.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "fraudshield" version = "0.2.0" description = "Production-grade OpenEnv environment for e-commerce fraud detection. Simulates marketplace fraud review with deterministic graders, dense rewards, and reproducible baselines." readme = "README.md" requires-python = ">=3.10" license = { text = "MIT" } authors = [ { name = "Devika J", email = "devikaj2005@gmail.com" }, ] keywords = [ "openenv", "reinforcement-learning", "fraud-detection", "agent-evaluation", "e-commerce", "environment", ] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "fastapi>=0.115.0", "numpy>=1.24.0", "openai>=1.40.0", "openenv-core>=0.2.0", "pandas>=2.0.0", "pydantic>=2.0.0", "scikit-learn>=1.3.0", "uvicorn>=0.30.0", ] [project.optional-dependencies] data = [ "kaggle>=1.6.0", ] dev = [ "black>=24.0.0", "ipython>=8.0.0", "pytest>=7.4.0", "ruff>=0.4.0", ] [project.urls] Homepage = "https://github.com/DevikaJ2005/fraudshield" Repository = "https://github.com/DevikaJ2005/fraudshield.git" Documentation = "https://github.com/DevikaJ2005/fraudshield/blob/main/README.md" BugTracker = "https://github.com/DevikaJ2005/fraudshield/issues" [project.scripts] server = "server.app:main" [tool.setuptools] py-modules = [ "data_loader", "download_kaggle_data", "fraudshield_env", "graders", "inference", "inference_llm", "llm_agent", "models", ] [tool.setuptools.packages.find] include = ["server"] [tool.black] line-length = 100 target-version = ["py310", "py311"] [tool.ruff] line-length = 100 [tool.ruff.lint] select = ["E", "F", "W"] ignore = ["E501"]