Skip to main content

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.toml and src/synqed/__init__.py
  • Updates python-backend/requirements.txt to 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

synqed-1.1.93.tar.gz (232.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synqed-1.1.93-py3-none-any.whl (149.9 kB view details)

Uploaded Python 3

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

Hashes for synqed-1.1.93.tar.gz
Algorithm Hash digest
SHA256 6307c0afdf521b554bcf877b43ff98c4d6f479f11472bd62e58a58f58dffde6e
MD5 f6133d3c03e3b49fb89739ab65b4c2c6
BLAKE2b-256 3f3d2394702c568c65d0f1f0e31ac9631184265468e0674915b9d8bfa7bec9b9

See more details on using hashes here.

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

Hashes for synqed-1.1.93-py3-none-any.whl
Algorithm Hash digest
SHA256 4f675848629d25094894cf218da3bfac7dd45e7841fc618ce97cb055d8630d11
MD5 80e9fc281e9c250e789126f299113850
BLAKE2b-256 1e4fe508c3f5ce4b34cbd1a9e30b017e72152e8ef81bfcb4d4500f3f6c2df484

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page