Skip to main content

Core components for the Sayou Data Platform

Project description

sayou-core

PyPI version License Docs

The Fundamental Foundation for Sayou Fabric.

sayou-core provides the shared DNA for all Sayou libraries. It defines the Base Architecture, Standard Data Protocols, and the Ontology Definitions that ensure consistency across the entire ecosystem.

While users typically interact with high-level pipelines (like sayou-brain), sayou-core acts as the invisible Spinal Cord, defining how modules communicate and how data is structured.


1. Architecture & Role

Core is not a processing engine itself but a Library of Standards. It enforces structure so that a Connector written by one developer can seamlessly talk to a Refinery written by another.

graph TD
    Core[Sayou Core]
    
    subgraph Standards
        Base[BaseComponent]
        Schema[Schemas & Protocols]
        Onto[Ontology Definitions]
        Reg[Plugin Registry]
    end
    
    Core --> Base & Schema & Onto & Reg
    
    Lib1[Connector] -.->|Inherits| Base
    Lib2[Wrapper] -.->|Uses| Onto

1.1. Core Features

  • Unified Component Model: Every plugin inherits from BaseComponent, guaranteeing standardized logging (self._log) and lifecycle management.
  • Lingua Franca (Schemas): Defines SayouPacket and SayouBlock so modules exchange typed objects, not random dictionaries.
  • Ontology Hub: Centralizes vocabulary (sayou:Topic, sayou:hasChild) to prevent semantic drift.

2. Key Components

2.1. Schemas (schemas.py)

The immutable data contracts used throughout the pipeline.

  • SayouPacket: The universal container for raw data transport (Connector -> Refinery).
  • SayouBlock: The atomic unit of refined content (Refinery -> Chunking).
  • SayouNode: The graph entity with ID, Class, and Attributes (Wrapper -> Assembler).

2.2. Ontology (ontology.py)

Defines the semantic vocabulary for the Knowledge Graph.

  • SayouClass: Enum of node types (e.g., Document, Video, Function).
  • SayouRelation: Enum of edge types (e.g., contains, calls, next).

2.3. Base Architecture (base_component.py)

The root class for all Sayou objects. It handles configuration injection and provides utility decorators like @safe_run and @measure_time.


3. Installation

sayou-core is a dependency of all Sayou libraries and is installed automatically.

pip install sayou-core

4. Developer Guide (Usage)

Unlike other modules, you use sayou-core when building extensions or custom plugins, not for running pipelines.

Case A: Creating a Custom Component

Inherit from BaseComponent to get logging, error handling, and config management for free.

from sayou.core.base_component import BaseComponent
from sayou.core.decorators import measure_time, safe_run
from sayou.core.schemas import SayouPacket

class MyCustomPlugin(BaseComponent):
    component_name = "MyPlugin"

    @measure_time
    @safe_run(default_return=None)
    def process(self, data: str) -> SayouPacket:
        self._log(f"Processing data: {data}...")
        
        # Your custom logic here
        result = data.upper()
        
        return SayouPacket(data=result, success=True)

Case B: Using the Ontology

Use the centralized ontology enums to ensure your graph nodes are compatible with the standard visualizer.

from sayou.core.ontology import SayouClass, SayouRelation

# Correct usage
node_type = SayouClass.TOPIC      # "sayou:Topic"
edge_type = SayouRelation.CONTAINS # "sayou:contains"

print(f"Creating a node of type: {node_type.value}")

5. License

Apache 2.0 License © 2026 Sayouzone

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

sayou_core-0.4.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

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

sayou_core-0.4.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file sayou_core-0.4.0.tar.gz.

File metadata

  • Download URL: sayou_core-0.4.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sayou_core-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7603b8a923a50375bc12d98e8fb2a2fff3ae8f13776af00a50ff931f578754ec
MD5 df66872d4844e709dcbebd572ecbd060
BLAKE2b-256 3b0590d89b62e2564a15d750161ba1caf079945c4c321500edcdb97927d5a81a

See more details on using hashes here.

File details

Details for the file sayou_core-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: sayou_core-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sayou_core-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 382c73f8627dfecc8dcdfde87994ea32f6474a7a03b5942f60e935584f0a9d47
MD5 7cf6ac4e2de4f77f398a92df44a98843
BLAKE2b-256 26c78fc0ad4f67b4b4709bd8ea052aa244b66a9e51d7864b9bd69da291035203

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