Skip to main content

Core components for the Sayou Data Platform

Project description

sayou-core

PyPI version License Docs

Overview

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.5.0.tar.gz (17.9 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.5.0-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sayou_core-0.5.0.tar.gz
  • Upload date:
  • Size: 17.9 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.5.0.tar.gz
Algorithm Hash digest
SHA256 59e5f90c6cffb968b0abd0b6c5e6430b020372096a5554a2cbe664727151737a
MD5 99ae3c96079163c45960d8a61240c572
BLAKE2b-256 7620b8a0e09538df5c37ac2bc36dd31598b5f1a46f74313f65ffe6c57bd85182

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sayou_core-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 20.2 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75de68038137b87003d786cc5cf53cc73e4026118ab9c2dc1b90c531e9f61de5
MD5 1fce2efad11b06a1c7cd5caca2dd2c29
BLAKE2b-256 b9dda1d3e2f6cca12c3e06999d55ba0afacda8afa1dd67bf2e4fd70ab111c27d

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