File size: 3,070 Bytes
ea8c770 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | [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",
] |