cmbagent / pyproject.toml
JFrazUCSF's picture
Upload 176 files
ea8c770 verified
[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",
]