Skip to main content

This repository includes standard components within the Swarmauri framework.

Project description

Swarmauri Logo

PyPI - Downloads Hits PyPI - Python Version PyPI - License PyPI - swarmauri_standard

Swarmauri Standard

The Swarmauri SDK offers a comprehensive suite of tools designed for building distributed, extensible systems using the Swarmauri framework.

Standard

  • Concrete Classes: Ready-to-use, pre-implemented classes that fulfill standard system needs while adhering to Swarmauri principles. These classes are the first in line for ongoing support and maintenance, ensuring they remain stable, performant, and up to date with future SDK developments.

Swarmauri Standard components also participate in the SDK's native dynamic schema and serialization model. Concrete tools, toolkits, documents, agents, messages, metrics, vector stores, and other registered kin retain their type when dumped to JSON and can be restored through base-family unions. This makes standard components practical for API payloads, database-backed specs, agent-managed factories, and YAML/TOML configuration without converting them to untyped dictionaries.

from pydantic import BaseModel
from swarmauri_base.toolkits.ToolkitBase import ToolkitBase
from swarmauri_base.DynamicBase import SubclassUnion
from swarmauri_standard.toolkits.Toolkit import Toolkit


class ToolkitEnvelope(BaseModel):
    toolkit: SubclassUnion[ToolkitBase]


toolkit = Toolkit()
payload = ToolkitEnvelope(toolkit=toolkit).model_dump_json()
restored = ToolkitEnvelope.model_validate_json(payload)

assert isinstance(restored.toolkit, Toolkit)

AI Kit

The AI Kit provides a collection of tools and components for building intelligent systems with the Swarmauri SDK. Below is an overview of the directories and their contents:

Agents

Chains

Chunkers

Conversations

Data Connectors

Decorators

Distances

Documents

Embeddings

Exceptions

Factories

Image Generators

LLMs

Measurements

Messages

Parsers

Pipelines

Prompts

Prompt Templates

Schema Converters

Service Registries

State

STT (Speech-to-Text)

Swarms

Task Management Strategies

Toolkits

Tool LLMs

Tools

Tracing

Transports

TTS (Text-to-Speech)

Vectors

  • Vector.py: Defines vector operations and manipulations.

Vector Stores

VLMs (Vision-Language Models)

  • FalVLM.py: Implements the Fal Vision-Language Model.
  • GroqVLM.py: Implements the Groq Vision-Language Model.
  • HyperbolicVLM.py: Implements the Hyperbolic Vision-Language Model.

Features

  • Polymorphism: Allows for dynamic behavior switching between components, enabling flexible, context-aware system behavior.
  • Dynamic JSON Schemas: Registered standard components expand the available type discriminator schemas at runtime.
  • Discriminated Unions: Provides a robust method for handling multiple possible object types in a type-safe manner.
  • Serialization: Efficiently encode and decode component initializations across JSON, YAML, and TOML while preserving concrete kin.
  • Intensional and Extensional Programming: Leverages both rule-based (intensional) and set-based (extensional) approaches to building and manipulating complex data structures, offering developers a wide range of tools for system design.

Use Cases

  • Modular Systems: Develop scalable, pluggable systems that can evolve over time by adding or modifying components without disrupting the entire ecosystem.
  • Distributed Architectures: Build systems with distributed nodes that seamlessly communicate using the SDK’s standardized interfaces.
  • Third-Party Integrations: Extend the system's capabilities by easily incorporating third-party tools, libraries, and services.
  • Prototype and Experimentation: Test cutting-edge ideas using the experimental components in the SDK, while retaining the reliability of core and standard features for production systems.

Future Development

The Swarmauri SDK is an evolving platform, and the community is encouraged to contribute to its growth. Upcoming releases will focus on enhancing the framework's modularity, providing more advanced serialization methods, and expanding the community-driven component library.

Contributing

Contributions are welcome! If you'd like to add a new feature, fix a bug, or improve documentation, kindly go through the contributions guidelines first.

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

swarmauri_standard-0.10.1.dev3.tar.gz (252.0 kB view details)

Uploaded Source

Built Distribution

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

swarmauri_standard-0.10.1.dev3-py3-none-any.whl (477.3 kB view details)

Uploaded Python 3

File details

Details for the file swarmauri_standard-0.10.1.dev3.tar.gz.

File metadata

  • Download URL: swarmauri_standard-0.10.1.dev3.tar.gz
  • Upload date:
  • Size: 252.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_standard-0.10.1.dev3.tar.gz
Algorithm Hash digest
SHA256 71f0ee72ca6e94764fc9febd70bf3db8e366cc6bc4caf0bd999d95b4118d0583
MD5 3ff48b365bc11bdd146a5af2468b098c
BLAKE2b-256 1565fcfc887c94689886fcac87231f614a0f43dfd90a89d174b8ac63a03f2f91

See more details on using hashes here.

File details

Details for the file swarmauri_standard-0.10.1.dev3-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_standard-0.10.1.dev3-py3-none-any.whl
  • Upload date:
  • Size: 477.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_standard-0.10.1.dev3-py3-none-any.whl
Algorithm Hash digest
SHA256 8b0f0d681a1b599e05de2ad0b1efd5333aab538f73baf0caf9f7899f60181036
MD5 10b83a44caae01869512f495db0312e9
BLAKE2b-256 2c818a84f727b6f6acd48d9e39c737f50689e3c24a8d7e4a94e207f923c4bfe3

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