Swarmauri SDK

Compose typed, pluggable Python agent, model, and tool systems from interface contracts and namespace packages.

Stars
★ 105
Last updated
2mo ago
License
Apache-2.0
Primary language
Python

At a glance

How it runs
Library / SDKFramework
Works with
Universal · cross-platform
Cost
Free software; you pay for model usage
Setup effort
Low · running in minutes
You'll need
Python 3.10–3.14uv or pipProvider-specific SDKs for optional component packagesShell / CLINetwork accessLocal filesystem
Typical use
Backend teams that want to mix several LLM providers, embedding models, and vector databases in one codebase without vendor lock-in.
Not a fit if
  • Teams wanting an out-of-the-box app rather than assembling packages
  • Projects locked to one vendor's all-in-one stack

What does this agent do, and when should you use it?

Swarmauri SDK is a composable intelligence infrastructure library for Python, delivered as a monorepo that contains the swarmauri namespace package, the swarmauri_core contract layer, reusable swarmauri_base classes, first-party swarmauri_standard components, and community, plugin, standards, and experimental packages. Component families cover agents, chains, conversations, documents, embeddings, LLMs, parsers, prompts, tools, toolkits, vector stores, signing, key providers, transports, middleware, storage, and billing adapters, each independently installable. At runtime, importing swarmauri activates namespace discovery and populates InterfaceRegistry and PluginCitizenshipRegistry, while ComponentBase and Pydantic backed registration let SubclassUnion fields deserialize JSON payloads into concrete component types. Users install either the curated full bundle or only the focused packages their workflow needs, then import components directly from package modules. The repository ships a library and component ecosystem, not a running agent process or hosted service.

Importing swarmauri triggers namespace discovery that registers available component mappings in InterfaceRegistry and PluginCitizenshipRegistry. Developers then import concrete pieces from public swarmauri.* paths or directly from packages such as swarmauri_standard, instantiating classes like Document, AdditionTool, or Ed25519EnvelopeSigner. Component authors decorate classes with ComponentBase.register_model and ComponentBase.register_type so that Pydantic models using SubclassUnion[ComponentBase] can rebuild the right implementation from a JSON type field, as shown with a ConnectorBase/ApiConnector pair. Plugin packages advertise implementations through pyproject.toml entry points such as the swarmauri.vectorstores group, making them reachable after installation. The repo produces importable Python packages rather than a standalone executable or server.

  1. Backend teams that want to mix several LLM providers, embedding models, and vector databases in one codebase without vendor lock-in.
  2. Component authors building a pluggable tool, such as a Jupyter export or vector store writer, and distributing it as its own PyPI package.
  3. Python applications assembling RAG pipelines where parsers, embeddings, and vector stores are installed separately.
  4. System integrators needing Ed25519/JWS signing, key providers, and crypto components to harden data exchange.
  5. Platform architects describing component configuration as Pydantic polymorphic schemas and validating it from JSON.

How do you install or deploy this agent?

Install the namespace package with uv:

uv add swarmauri

Or with pip:

pip install swarmauri

For a broader curated component bundle:

uv add "swarmauri[full]"
pip install "swarmauri[full]"

When you are only building components, install the foundational packages:

uv add swarmauri_core swarmauri_base
pip install swarmauri_core swarmauri_base

Install focused packages when you only need one component family:

uv add swarmauri_vectorstore_pinecone
uv add swarmauri_tool_jupyterexportlatex
uv add swarmauri_signing_ed25519

Python 3.10–3.14 is required. Provider packages (vector stores, embeddings, LLMs) additionally need their own credentials and SDK configuration, obtained from those vendors.

How do you use this agent?

Activate namespace discovery and inspect registered components:

import swarmauri

from swarmauri.interface_registry import InterfaceRegistry
from swarmauri.plugin_citizenship_registry import PluginCitizenshipRegistry

print(len(InterfaceRegistry.list_registered_namespaces()))
print(len(PluginCitizenshipRegistry.total_registry()))

Use the namespace for stable public imports once the implementation package is installed:

import swarmauri

from swarmauri.signings.Ed25519EnvelopeSigner import Ed25519EnvelopeSigner

signer = Ed25519EnvelopeSigner()
print(signer.type)

Import directly from packages when you want the narrowest dependency surface:

from swarmauri_standard.documents import Document
from swarmauri_standard.tools import AdditionTool

doc = Document(content="Direct package import")
tool = AdditionTool()

print(doc.type)
print(tool("2+2"))

Use swarmauri_base for dynamic component serialization via SubclassUnion:

from typing import Literal

from pydantic import BaseModel
from swarmauri_base.ComponentBase import ComponentBase
from swarmauri_base.DynamicBase import SubclassUnion


@ComponentBase.register_model()
class ConnectorBase(ComponentBase):
    type: Literal["ConnectorBase"] = "ConnectorBase"
    label: str


@ComponentBase.register_type(ConnectorBase, "ApiConnector")
class ApiConnector(ConnectorBase):
    type: Literal["ApiConnector"] = "ApiConnector"
    endpoint: str


class ConnectorSpec(BaseModel):
    connector: SubclassUnion[ConnectorBase]


spec = ConnectorSpec.model_validate_json(
    '{"connector":{"type":"ApiConnector","label":"primary","endpoint":"https://api.example.test"}}'
)

assert isinstance(spec.connector, ApiConnector)

Register an entry point so your own package is discoverable:

[project.entry-points.'swarmauri.vectorstores']
YourVectorStore = "swarmauri_vectorstore_yourplugin:YourVectorStore"

What are this agent's strengths and limitations?

Pros
  • Interface-first split: swarmauri_core holds contracts and swarmauri_base supplies serialization, registration, and reusable behavior, so implementations can be swapped.
  • Namespace imports plus entry-point discovery keep optional dependencies in separate packages instead of one heavy install.
  • ComponentBase.register_type and SubclassUnion make Pydantic models resolve JSON type tags back into concrete component classes.
  • Wide component families beyond LLMs and vectors: signing, key providers, transports, middleware, storage, and billing adapters.
  • Declared support for Python 3.10–3.14 with both uv and pip install paths.
Limitations
  • You assemble the pieces yourself; the README shows no end-to-end runnable agent or deployment recipe.
  • Most real capability comes from third-party provider packages that need their own credentials and SDKs.
  • Functionality is spread across many independently versioned PyPI packages, so compatibility is on you to manage.
  • Documentation is organized per package, with no single troubleshooting or full-configuration reference.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Swarmauri SDK This agent 41 · Major gaps Library / SDKFree + model costs ★ 105 2mo ago Python —
Rig 70 · Some gaps Library / SDKFree + model costs ★ 9.1k today Rust OpenAI API
DemoGPT AgentHub 30 · Major gaps CLIFree + model costs ★ 1.9k 7mo ago Python OpenAI API
Atomic Agents 64 · Some gaps Library / SDKFree + model costs ★ 6.3k 6d ago Python OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
41/ 100 5-point scale 2.1 / 5
Trust 7/29
Reliability 6/14
Adaptability 9/18
Convention 10/18
Effectiveness 6/13
Verifiability 3/8
Why each dimension lost points
Trust7 / 29 · 1.2/5

Evidence shows only a modular SDK framework: README emphasizes interface contracts and pluggable components but does not describe runtime privilege boundaries, user confirmation flows, data-flow disclosure, or rollback. least_privilege scores 1 only because the interface-first architecture implies a narrow dependency surface; user_confirmation is absent (0); data_flow_transparency and sensitive_data_handling score 1 from the thin api_key placeholder redaction in YamlMixin tests; dependency_security scores 1 because the license-scan workflow checks licenses, not vulnerabilities; external_effects scores 1 with no side-effect controls documented; rollback has no evidence (0); source_attribution scores 1 for the LICENSE copyright notice while publisher identity remains unverified.

Reliability6 / 14 · 2.1/5

self_consistency scores 2 because README package structure, install commands, and test import paths align; dependency_availability scores 1 since only PyPI names and uv/pip commands are given without pinned versions or lockfile evidence; failure_messages scores 1 as tests show no error-handling or diagnostic design beyond the license-scan workflow annotations.

Adaptability9 / 18 · 2.5/5

audience_and_scenarios scores 2 for clearly distinguishing component authors, application developers, and plugin authors; capability_boundaries scores 1 as component families are listed but Agent capability or safety limits are not defined; trigger_precision scores 1 with no trigger conditions or invocation precision described; environment_fit scores 2 for explicit Python 3.10–3.14 support and uv/pip install paths.

Convention10 / 18 · 2.8/5

information_architecture scores 2 for clear package areas and doc links; install_notes scores 2 for multiple install methods; naming_stability scores 2 for the emphasized stable swarmauri.* namespace; examples_and_faq scores 2 for an FAQ and multiple code samples; known_limitations is absent (0); license scores 3 for the full Apache-2.0 text with copyright notice; versioning_changelog scores 1 since only workflow filenames mention v0.10.0 with no changelog; maintenance_responsibility scores 1 because a CONTRIBUTING link exists but publisher is unverified and ownership is unclear.

Effectiveness6 / 13 · 2.3/5

output_usability scores 2 for runnable examples demonstrating serialization and registration; marginal_value scores 1 as a generic SDK framework with no differentiating evidence; cost_benefit scores 1 given a broad dependency surface and many optional packages with no resource-cost discussion.

Verifiability3 / 8 · 1.9/5

claim_traceability scores 1 because README claims map to some tests and workflows but most feature claims lack corresponding evidence; cross_source_corroboration scores 1 for partial mutual support across README, tests, and workflows; fact_inference_separation scores 1 as docs do not clearly separate facts from inference.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Publisher identity is unverified by the FollowAgents enterprise registry; maintenance responsibility and update path are unclear.
  • Known limitations, changelog, and version pinning are missing; assess dependency risk before production use.
  • The license-scan workflow checks license compliance only, not dependency vulnerabilities.
  • No user confirmation, rollback, or data-flow disclosure mechanisms were found; add safeguards when handling sensitive data or external side effects.
Evidence confidence: Low Reviewed Nov 01, 2026 Reviewed revision f5580ff6d612
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. swarmauri_pop_cwt==0.11.0.dev5 Pre-release
    Release notes excerpt
    Initial release.
    View on GitHub ↗

FAQ

Does Swarmauri host agents for me?
No. It ships as an importable SDK of namespace and component packages; you build, run, and deploy the agent inside your own Python application.
Is installing swarmauri alone enough?
swarmauri provides the namespace and plugin discovery layer. Concrete components come from swarmauri_standard or a focused family package such as swarmauri_vectorstore_pinecone.
Do I have to pay to use it?
The SDK is Apache-2.0 open source. Any cost comes from the LLM, embedding, or vector database providers you wire in and their pricing.
How do I make my own component importable from a public path?
Register an entry point such as swarmauri.vectorstores in pyproject.toml and bind it with ComponentBase.register_type; after installation the namespace discovers it.
Which Python versions are supported?
Package metadata and badges target Python 3.10, 3.11, 3.12, 3.13, and 3.14.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents