Skip to main content

Framework-agnostic, event-driven state container with fine-grained atomic reactive subscriptions.

Project description

Yoltra logo

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


Download files

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

Source Distribution

yoltra-0.1.0.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

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

yoltra-0.1.0-py3-none-any.whl (37.3 kB view details)

Uploaded Python 3

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

Hashes for yoltra-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0c109618968774341d497dc1040eb4501c30cabd1d36139f0f40e88fb59c22e0
MD5 364b8f0835949275c4d2d4bcfcfa1da3
BLAKE2b-256 d4cea8ee1d2549f5f77c70953c566ac615c44ddb44a9f31f293dfad77644e3bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for yoltra-0.1.0.tar.gz:

Publisher: release.yml on yoltra/pyYoltra

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for yoltra-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4da8bf2892b359b27cb89b04e09b68b972b149d6e2fca9f9df3db279025502d6
MD5 5806ac2d77535eee21de8df22625c7e5
BLAKE2b-256 2c211176476c99a7b385f7be44cd54632b35d6d63a9dd5228b442dba6e5e6f71

See more details on using hashes here.

Provenance

The following attestation bundles were made for yoltra-0.1.0-py3-none-any.whl:

Publisher: release.yml on yoltra/pyYoltra

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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