Framework-agnostic, event-driven state container with fine-grained atomic reactive subscriptions.
Project description
Yoltra for Python
🇲🇽 Versión en Español | 👉 🇺🇸 English Version
A framework-agnostic, event-driven state container with fine-grained ("atomic") reactive subscriptions — the reactive-blackboard primitive for agentic and plugin systems.
Yoltra is a single source of truth. Writes are events; reducers fold
events into slice state; a structural diff of each changed slice yields
dotted leaf paths; subscribers registered on those paths (connect) fire
with Change(old_value, new_value, path). Effects run asynchronously after
each committed event. There is no reactivity magic — no proxies, no descriptors,
no dependency graph — just diff(prev, next) → paths → subscribers.
This package is a semantic port of the TypeScript @yoltra/core,
reimagined with idiomatic Python. See technical-design.md
for the full specification.
Status: early development. The public API is being built milestone by milestone; see the design document for scope.
Requirements
- CPython ≥ 3.11
- Zero runtime dependencies in the core.
Development
This project uses Poetry.
poetry install # create the environment and install dev tooling
poetry run pytest # run the test suite
poetry run mypy yoltra # type-check the public surface
poetry run python -m tools.apidoc # regenerate docs/api/ (Markdown) + .typedoc/ (JSON)
poetry run python -m tools.apidoc --check # CI: fail if the docs are stale
API docs are generated by the stdlib-only tools/apidoc generator, which
introspects the public package and emits both a by-kind Markdown tree under
docs/api/ (for GitHub) and a TypeDoc-schema .typedoc/pyoltra-en.json (consumed
by the Yoltra website's API-reference pipeline). Hand-written prose guides live
under docs/{lang}/. See tools/apidoc/README.md for how
the generator works, the TypeDoc-schema mapping, and the docstring conventions.
License
MIT — Copyright (c) 2026 Manu Ramirez.
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 yoltra-0.1.0.tar.gz.
File metadata
- Download URL: yoltra-0.1.0.tar.gz
- Upload date:
- Size: 31.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c109618968774341d497dc1040eb4501c30cabd1d36139f0f40e88fb59c22e0
|
|
| MD5 |
364b8f0835949275c4d2d4bcfcfa1da3
|
|
| BLAKE2b-256 |
d4cea8ee1d2549f5f77c70953c566ac615c44ddb44a9f31f293dfad77644e3bb
|
Provenance
The following attestation bundles were made for yoltra-0.1.0.tar.gz:
Publisher:
release.yml on yoltra/pyYoltra
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yoltra-0.1.0.tar.gz -
Subject digest:
0c109618968774341d497dc1040eb4501c30cabd1d36139f0f40e88fb59c22e0 - Sigstore transparency entry: 2148329508
- Sigstore integration time:
-
Permalink:
yoltra/pyYoltra@816b27f09f567fd13c3a30290e72fa2f089f6e11 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/yoltra
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@816b27f09f567fd13c3a30290e72fa2f089f6e11 -
Trigger Event:
push
-
Statement type:
File details
Details for the file yoltra-0.1.0-py3-none-any.whl.
File metadata
- Download URL: yoltra-0.1.0-py3-none-any.whl
- Upload date:
- Size: 37.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4da8bf2892b359b27cb89b04e09b68b972b149d6e2fca9f9df3db279025502d6
|
|
| MD5 |
5806ac2d77535eee21de8df22625c7e5
|
|
| BLAKE2b-256 |
2c211176476c99a7b385f7be44cd54632b35d6d63a9dd5228b442dba6e5e6f71
|
Provenance
The following attestation bundles were made for yoltra-0.1.0-py3-none-any.whl:
Publisher:
release.yml on yoltra/pyYoltra
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yoltra-0.1.0-py3-none-any.whl -
Subject digest:
4da8bf2892b359b27cb89b04e09b68b972b149d6e2fca9f9df3db279025502d6 - Sigstore transparency entry: 2148329510
- Sigstore integration time:
-
Permalink:
yoltra/pyYoltra@816b27f09f567fd13c3a30290e72fa2f089f6e11 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/yoltra
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@816b27f09f567fd13c3a30290e72fa2f089f6e11 -
Trigger Event:
push
-
Statement type: