[build-system] requires = ["setuptools>=45", "wheel"] build-backend = "setuptools.build_meta" [project] name = "openenv-nexusgrid" version = "2.0.0" description = "NexusGrid-CyberPhysEnv: National power grid defense environment for OpenEnv" requires-python = ">=3.10" dependencies = [ # Core OpenEnv runtime "openenv-core[core]>=0.2.2", # Physics simulation "numpy>=1.24.0", "networkx>=3.0", # API server "fastapi>=0.115.0", "uvicorn>=0.24.0", # Data models "pydantic>=2.0.0", # LLM client (for inference.py) "openai>=1.0.0", # Environment variable loading "python-dotenv>=1.0.0", # Dashboard for HF Spaces "gradio>=4.0.0", "plotly>=5.18.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-cov>=4.0.0", "pytest-asyncio>=0.23.0", "httpx>=0.27.0", ] dashboard = [ "gradio>=4.0.0", "plotly>=5.18.0", ] [project.scripts] server = "server.app:main" [tool.setuptools] include-package-data = true packages = ["server"] py-modules = ["client", "inference", "models"] [tool.pytest.ini_options] testpaths = ["tests"] python_files = "test_*.py"