Synqed - A wrapper around A2A for simplified multi-agent systems interaction and communication
Project description
Synqed
A Python SDK for building multi-agent systems with workspace-based orchestration.
Installation
pip install synqed
Quick Start
import synqed
from synqed import PlannerLLM, WorkspaceExecutionEngine, WorkspaceManager
# Initialize the planner
planner = PlannerLLM(
provider="anthropic",
api_key="your-api-key",
)
# Plan a task and create agents
task_plan, agent_specs = await planner.plan_task_and_create_agent_specs(
user_task="Your task description",
agent_provider="anthropic",
agent_api_key="your-api-key",
)
# Create agents from specs
agents = synqed.create_agents_from_specs(agent_specs)
# Register agents
for agent in agents:
synqed.AgentRuntimeRegistry.register(agent.name, agent)
# Create workspace manager and execution engine
workspace_manager = synqed.WorkspaceManager()
execution_engine = synqed.WorkspaceExecutionEngine(
planner=planner,
workspace_manager=workspace_manager,
)
# Create and run workspaces
root_workspace = await workspace_manager.create_workspace(
task_tree_node=task_plan.root,
parent_workspace_id=None,
)
await execution_engine.run_workspace(root_workspace.workspace_id)
Features
- PlannerLLM: Task decomposition and agent specification generation
- WorkspaceManager: Hierarchical workspace creation and management
- WorkspaceExecutionEngine: Multi-agent execution with message routing
- PlannerAgent: CEO-style coordinator for root workspaces
- Agent: Flexible agent creation with custom logic functions
- MCP Integration: Optional Model Context Protocol support
Development
Install for Development
make install
Run Tests
make test # core tests only
make test-examples # example tests
make test-all # all tests with coverage
Lint & Format
make lint # run linters
make format # format code
Publishing to PyPI
Prerequisites
pip install build twine
Create a .env file with your PyPI tokens:
TWINE_PASSWORD=pypi-your-production-token
TWINE_TEST_PASSWORD=pypi-your-test-token # optional
Publish
# publish to production pypi (recommended)
./scripts/publish.sh --prod
# or publish to test pypi first
./scripts/publish.sh --test
The publish.sh script automatically:
- Increments the patch version (e.g., 1.1.91 → 1.1.92)
- Updates
pyproject.tomlandsrc/synqed/__init__.py - Updates
python-backend/requirements.txtto use the new version - Cleans, builds, and uploads the package
- Prompts for confirmation before production publish
After publishing, commit the version bump:
git add -A && git commit -m "Release synqed v$(grep 'version = ' pyproject.toml | cut -d'"' -f2)"
git push origin main
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file synqed-1.1.93.tar.gz.
File metadata
- Download URL: synqed-1.1.93.tar.gz
- Upload date:
- Size: 232.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6307c0afdf521b554bcf877b43ff98c4d6f479f11472bd62e58a58f58dffde6e
|
|
| MD5 |
f6133d3c03e3b49fb89739ab65b4c2c6
|
|
| BLAKE2b-256 |
3f3d2394702c568c65d0f1f0e31ac9631184265468e0674915b9d8bfa7bec9b9
|
File details
Details for the file synqed-1.1.93-py3-none-any.whl.
File metadata
- Download URL: synqed-1.1.93-py3-none-any.whl
- Upload date:
- Size: 149.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f675848629d25094894cf218da3bfac7dd45e7841fc618ce97cb055d8630d11
|
|
| MD5 |
80e9fc281e9c250e789126f299113850
|
|
| BLAKE2b-256 |
1e4fe508c3f5ce4b34cbd1a9e30b017e72152e8ef81bfcb4d4500f3f6c2df484
|