c3bf08ac8d
K8s Workspace Integration Tests / k8s-workspace-tests (push) Waiting to run
Pre-commit / run (ubuntu-latest) (push) Waiting to run
Python Unittest Coverage / test (macos-15, 3.11) (push) Waiting to run
Python Unittest Coverage / test (ubuntu-latest, 3.11) (push) Waiting to run
Python Unittest Coverage / test (windows-latest, 3.11) (push) Waiting to run
Web UI / check (push) Waiting to run
181 lines
4.7 KiB
TOML
181 lines
4.7 KiB
TOML
|
|
[project]
|
|
name = "agentscope"
|
|
dynamic = ["version"]
|
|
description = "AgentScope: A Flexible yet Robust Multi-Agent Platform."
|
|
readme = "README.md"
|
|
authors = [
|
|
{ name = "SysML team of Alibaba Tongyi Lab", email = "gaodawei.gdw@alibaba-inc.com" }
|
|
]
|
|
license = "Apache-2.0"
|
|
keywords = ["agent", "multi-agent", "LLM", "AI"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Operating System :: OS Independent",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: Science/Research",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
]
|
|
requires-python = ">=3.11"
|
|
dependencies = [
|
|
"aioitertools",
|
|
"anthropic",
|
|
"dashscope",
|
|
"docstring_parser",
|
|
"filetype",
|
|
"json5",
|
|
"json_repair",
|
|
"mcp",
|
|
"httpx",
|
|
"numpy",
|
|
"openai",
|
|
"python-datauri",
|
|
"opentelemetry-api>=1.39.0",
|
|
"opentelemetry-sdk>=1.39.0",
|
|
"opentelemetry-exporter-otlp>=1.39.0",
|
|
"opentelemetry-semantic-conventions>=0.60b0",
|
|
"python-socketio",
|
|
"shortuuid",
|
|
"python-frontmatter",
|
|
"jinja2",
|
|
"aiofiles",
|
|
"tree_sitter",
|
|
"tree_sitter_bash",
|
|
"jsonschema",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
# ------------ Model APIs ------------
|
|
gemini = ["google-genai"]
|
|
ollama = ["ollama>=0.5.4"]
|
|
xai = ["xai-sdk"]
|
|
models = [
|
|
"agentscope[ollama]",
|
|
"agentscope[gemini]",
|
|
"agentscope[xai]",
|
|
]
|
|
# ------------ Service ------------
|
|
service = [
|
|
"fastapi",
|
|
"uvicorn",
|
|
"apscheduler",
|
|
"ag-ui-protocol>=0.1.10",
|
|
]
|
|
# ------------ Storage ------------
|
|
storage = [
|
|
"redis",
|
|
]
|
|
# ------------ Workspace -----------
|
|
k8s = ["kubernetes-asyncio"]
|
|
workspace = [
|
|
"aiodocker",
|
|
"e2b",
|
|
"agentscope[k8s]",
|
|
"opensandbox",
|
|
]
|
|
# ------------ Tools ------------
|
|
tools = [
|
|
"ripgrep",
|
|
]
|
|
# ------------ RAG ------------
|
|
rag = [
|
|
"qdrant-client",
|
|
"pypdf",
|
|
"python-pptx",
|
|
"python-docx",
|
|
"openpyxl>=3.1.5",
|
|
"xlrd>=2.0",
|
|
"pandas",
|
|
]
|
|
milvuslite = [
|
|
"pymilvus[milvus-lite]>=2.4.0",
|
|
"milvus-lite>=3.0; sys_platform == 'win32'",
|
|
]
|
|
# ------------ MongoDB vector store ------------
|
|
mongodb = [
|
|
"pymongo>=4.7",
|
|
]
|
|
|
|
# ------------ S3-compatible blob store ------------
|
|
s3 = [
|
|
"aioboto3",
|
|
]
|
|
|
|
# ------------ Long-term memory ------------
|
|
# Required by `agentscope.middleware._longterm_memory.Mem0Middleware`.
|
|
# Pinned to mem0 v2.x because the middleware targets that
|
|
# architecture: ADDITIVE_EXTRACTION_PROMPT + AGENT_CONTEXT_SUFFIX
|
|
# (replaced v1's USER/AGENT_MEMORY_EXTRACTION_PROMPT split) and the
|
|
# v3 phased pipeline in `_add_to_vector_store`. Running on mem0 1.x
|
|
# wouldn't crash but the 2-tier add fallback degenerates into a
|
|
# wasted LLM call.
|
|
mem0 = ["mem0ai>=2.0.0"]
|
|
# Required by `agentscope.middleware._longterm_memory.ReMeMiddleware`.
|
|
reme = ["reme-ai>=0.4.0.6"]
|
|
# ------------ Full ------------
|
|
full = [
|
|
"agentscope[models]",
|
|
"agentscope[service]",
|
|
"agentscope[storage]",
|
|
"agentscope[workspace]",
|
|
"agentscope[tools]",
|
|
"agentscope[rag]",
|
|
"agentscope[milvuslite]",
|
|
"agentscope[mongodb]",
|
|
"agentscope[s3]",
|
|
"agentscope[mem0]",
|
|
"agentscope[reme]",
|
|
]
|
|
|
|
# ------------ Development ------------
|
|
dev = [
|
|
# Include full dependencies from local package
|
|
"agentscope[full]",
|
|
# Development tools
|
|
"pre-commit",
|
|
"pytest",
|
|
"pytest-forked",
|
|
"myst_parser",
|
|
"matplotlib",
|
|
"fakeredis",
|
|
# S3-backend testing — moto[server] spins up an in-process S3, the
|
|
# store-under-test (`S3BlobStore`) uses aioboto3, and boto3 is the
|
|
# sync client the test fixtures use to seed/verify buckets.
|
|
"moto[server,s3]",
|
|
"aioboto3",
|
|
"boto3",
|
|
# RAG parser tests — used to generate PDF fixtures in-memory
|
|
"reportlab",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/agentscope-ai/agentscope"
|
|
Documentation = "https://doc.agentscope.io/"
|
|
Repository = "https://github.com/agentscope-ai/agentscope"
|
|
|
|
[tool.setuptools]
|
|
packages = { find = { where = ["src"] } }
|
|
include-package-data = true
|
|
|
|
[tool.setuptools.package-data]
|
|
# ``"*"`` applies to every discovered package. Patterns:
|
|
# - ``py.typed`` marks the typed package per PEP 561.
|
|
# - ``_models/*.yaml`` reaches into the data-only ``_models/``
|
|
# subdirs that ship with each model provider (they have no
|
|
# ``__init__.py`` and are not packages, but the files still
|
|
# live alongside the parent package's source on disk).
|
|
"*" = [
|
|
"py.typed",
|
|
"_models/*.yaml",
|
|
"_cosyvoice_models/*.yaml",
|
|
]
|
|
"agentscope.workspace._docker" = ["Dockerfile*.template"]
|
|
[build-system]
|
|
requires = ["setuptools>=45", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools.dynamic]
|
|
version = {attr = "agentscope._version.__version__"}
|