Skip to main content

haive-dataflow for Haive framework

Project description

Haive Dataflow

A comprehensive registry and discovery system for the Haive framework that provides component management, serialization, and persistence.

Overview

The haive-dataflow package provides a powerful registry system for discovering, registering, and managing various components in the Haive ecosystem, such as:

  • Agents
  • Tools and Toolkits
  • Engines
  • Games
  • LLM Models and Providers
  • Embedding Models and Providers

The package handles component discovery, serialization/deserialization, dependency management, and both in-memory and database persistence via Supabase.

Installation

pip install haive-dataflow

For development:

poetry add haive-dataflow

Key Features

  • Component Registry: Centralized system for tracking and managing Haive components
  • Automatic Discovery: Find and register components in the Haive ecosystem
  • Serialization: Convert complex Python objects to/from storable formats
  • Dependency Management: Track dependencies between components
  • Database Integration: Store registry data in Supabase (optional)
  • API Endpoints: Access registry data through RESTful API routes

Usage Examples

Basic Registry Usage

from haive.dataflow import registry_system, EntityType

# Register a new component
registry_system.register_entity(
    name="TextClassifier",
    type=EntityType.AGENT,
    description="Classifies text into categories",
    module_path="haive.agents.classifiers",
    class_name="TextClassifierAgent"
)

# Query registered components
agents = registry_system.get_entities_by_type(EntityType.AGENT)

Component Discovery

from haive.dataflow import discover_agents, discover_tools, discover_all

# Discover and register all agents
discovered_agents = discover_agents()
print(f"Discovered {len(discovered_agents)} agents")

# Discover everything
all_components = discover_all()

Serialization

from haive.dataflow import serialize_object, deserialize_object

# Serialize a complex object
serialized = serialize_object(my_complex_object)

# Deserialize it later
restored_object = deserialize_object(serialized)

Core Components

  • registry_system: Singleton instance of the registry system
  • EntityType: Enum of supported entity types (AGENT, TOOL, ENGINE, etc.)
  • ConfigType: Enum of configuration types (STATE_SCHEMA, INPUT_SCHEMA, etc.)
  • DependencyType: Enum of dependency relationships (REQUIRES, USES, EXTENDS)
  • RegistryItem: Base model for registry entries
  • discover_*: Functions for component discovery
  • SerializationRegistry: Registry for custom serializers and deserializers

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

haive_dataflow-1.0.0.tar.gz (353.2 kB view details)

Uploaded Source

Built Distribution

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

haive_dataflow-1.0.0-py3-none-any.whl (462.0 kB view details)

Uploaded Python 3

File details

Details for the file haive_dataflow-1.0.0.tar.gz.

File metadata

  • Download URL: haive_dataflow-1.0.0.tar.gz
  • Upload date:
  • Size: 353.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for haive_dataflow-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c6299334fb8ed9d76dcbda14a013bdac24d6fd89e3ba28f8f947ffb8c69358f4
MD5 7a433605b71414d566fe9e6659e56245
BLAKE2b-256 096007c47ea76cea84d12938af53deed6c5cd9208dcf9ca99485b927e489fb10

See more details on using hashes here.

File details

Details for the file haive_dataflow-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: haive_dataflow-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 462.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for haive_dataflow-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87f588abe898b2605635d14b4b2b9310886e59a3033de1cbaf265c3e229032db
MD5 38df0d7c82e25712795988b927ed9a8b
BLAKE2b-256 c999fa525bf3afaeac9114df8fabb37e86453c3f11a9b308e013ac8ca7f7aabd

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