Core components for the Sayou Data Platform
Project description
sayou-core
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
SayouPacketandSayouBlockso 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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sayou_core-0.4.4.tar.gz.
File metadata
- Download URL: sayou_core-0.4.4.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb44ec4d7407ea535b58b1ce643abcc739850861351ab536c9dffb95fc9f12c1
|
|
| MD5 |
043e51a89bc714565c1d2ecc86621768
|
|
| BLAKE2b-256 |
a72a0820e4731dd788457580286d96b32bb4027b9daf95af1c39e9c3bb981eb9
|
File details
Details for the file sayou_core-0.4.4-py3-none-any.whl.
File metadata
- Download URL: sayou_core-0.4.4-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c3c01cfcdac058cc6d44d34baf78dfdc4437de50149c4f1bc1efe1e8d7a3a72
|
|
| MD5 |
7764e88c8dc2030d609326c1d9a17809
|
|
| BLAKE2b-256 |
5a3138e2f52437f149606f5c82cc522233315ebfb60aa10417efbc8f9d35bf8c
|