[build-system] requires = [ "setuptools>=42", "wheel", "Cython>=0.29.21", "setuptools_scm" ] build-backend = "setuptools.build_meta" [project] version = "0.0.1post64" name = "cmbagent" maintainers = [{name = "CMBAgents", email = "boris.bolliet@cmbagent.community"}] description = "Autonomous research system for scientific discovery across domains, powered by ag2" readme = {file = "README.md", content-type = "text/markdown"} requires-python = ">=3.12" license = "Apache-2.0" # Core dependencies - orchestration only # Note: Scientific packages (numpy, scipy, etc.) are NOT required here # because code execution happens on the client via remote executor dependencies = [ # LLM clients "anthropic", "mistralai", # AG2 framework for multi-agent orchestration "cmbagent_autogen>=0.0.91post11", # Utilities "ruamel.yaml", "jsonref==1.1.0", "pandas>=2.2", "pydantic>=2.7.4", "aiohttp>=3.9.0", "ipython", ] [project.optional-dependencies] # Development and testing dev = [ "pytest", "ipython", "jupyterlab", "ipykernel>=6.29.0", ] # Jupyter notebook dependencies jupyter = [ "jupyter-kernel-gateway", "jupyter-client>=8.6.0", ] # Local execution - install these if running code locally (not via frontend) # The frontend installs packages on-demand via the installer agent local = [ "numpy>=1.24", "scipy>=1.12", "matplotlib>=3.8", "scikit-learn>=1.4", ] # Material sciences dependencies materials = [ "pymatgen>=2024.1", "ase>=3.22", "phonopy>=2.20", "matminer>=0.9", ] # Biochemistry and molecular sciences dependencies biochem = [ "biopython>=1.83", "rdkit>=2023.9", "mdanalysis>=2.6", "prody>=2.4", ] # Astronomy/astrophysics dependencies astro = [ "camb>=1.6.0", "astropy>=6.0", "healpy>=1.16", "emcee>=3.1", "cobaya", ] # Data science, statistics and visualization dependencies data = [ "scipy>=1.12", "xarray>=2024.3", "h5py>=3.10", "scikit-learn>=1.4", "statsmodels>=0.14", "linearmodels>=5.1", "matplotlib>=3.8", "seaborn>=0.13", "plotly>=5.21", "xgboost>=2.0", "yfinance>=0.2", ] # All scientific packages (for local execution with full capabilities) all = [ "cmbagent[local]", "cmbagent[materials]", "cmbagent[biochem]", "cmbagent[astro]", "cmbagent[data]", "cmbagent[dev]", ] [tool.setuptools.package-data] cmbagent = [ "cmbagent/apis/*.json", "cmbagent/assistants/*.yaml", "cmbagent/planner/*.yaml", "cmbagent/engineer/*.yaml", "cmbagent/executor/*.yaml", "cmbagent/admin/*.yaml", "logo.png" ] [project.urls] Homepage = "https://github.com/CMBAgents/cmbagent" GitHub = "https://github.com/CMBAgents/cmbagent" [tool.setuptools.packages.find] include = ["cmbagent", "cmbagent.*"] [project.scripts] cmbagent = "cmbagent.cli:main" [tool.pytest.ini_options] testpaths = ["tests"] norecursedirs = ["legacy", ".ipynb_checkpoints"] [dependency-groups] dev = [ "nbstripout>=0.9.0", "pre-commit>=4.5.1", ]