functualize-state
Status: Published — Independently installable from PyPI.
State Domain SDK for functualize providing well-defined protocols for key-value state persistence and execution tracking. Enables custom storage backend implementations (SQLite, Redis, DynamoDB, etc.) without coupling your application to any specific database.
Installation
pip install functualize-state
Quick Start
from functualize_state import InMemoryState, StateNamespace
# Create a backend (use InMemoryState for testing, or implement StateBackend)
backend = InMemoryState()
# Use namespaces to isolate keys by concern
ns = StateNamespace(backend, prefix="deploy:")
ns.set("version", "1.2.0")
ns.set("status", "pending")
print(ns.get("version")) # "1.2.0"
print(ns.keys()) # ["version", "status"]
Features
- Backend-agnostic protocols —
StateBackendandExecutionStoredefine the interface; bring your own storage implementation - Namespace isolation —
StateNamespaceprovides prefix-scoped views over any backend, preventing key collisions between components - Execution tracking — Record job executions, phases, and session metadata with structured
ExecutionRecordandPhaseRecordtypes - Event-driven observability — Built-in event constants (
STATE_EXECUTION_STARTED,STATE_EXECUTION_COMPLETED,STATE_PHASE_CHANGED) for lifecycle hooks - Test-friendly — Ships
InMemoryState, a dict-backed backend for fast, deterministic unit tests - Fully typed — PEP 561 compliant with
py.typedmarker; all protocols are@runtime_checkable
API Reference
Protocols
StateBackend— Key-value state operations protocol (get,set,delete,keys)ExecutionStore— Execution record persistence protocol (insert_execution,update_execution,get_session_executions,insert_phase,get_execution_phases)
Classes
StateNamespace— Prefix-scoped view over aStateBackendfor isolated key accessInMemoryState— Dict-backedStateBackendimplementation for testingDomainMetadata— Self-describing metadata dataclass for the state domain SDK
Data Types
ExecutionRecord— Frozen dataclass representing a single job execution (id, job name, session, status, timing, result)PhaseRecord— Frozen dataclass representing a phase within an executionSessionRecord— Frozen dataclass representing a session with metadata
Errors
StateNotAvailable— Raised when a state backend is not availableKeyNotFoundError— Raised when a requested key is not found
Event Constants
STATE_EXECUTION_STARTED— Fired when an execution beginsSTATE_EXECUTION_COMPLETED— Fired when an execution finishesSTATE_PHASE_CHANGED— Fired when a phase transition occurs
Module-Level
domain_metadata— Pre-configuredDomainMetadatainstance for the state domain
Development
Run plugin tests:
uv run pytest plugins/functualize-state/tests/ -v
Release files for functualize-state 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| functualize_state-0.2.1.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| functualize_state-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.3 kB
Release files / functualize_state-0.2.1.tar.gz
| Download URL | functualize_state-0.2.1.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aabaa9080b56744107fd84066d6e5c633c3afa6f1c82f3ca1b5c1bf0af9e69af
|
|
BLAKE2b-256 checksum How to use checksums |
cbccccb9406cc7d15e1be9dcd53694efda8c541b7195c2ddaa368e33a2b99669
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency logRelease files / functualize_state-0.2.1-py3-none-any.whl
| Download URL | functualize_state-0.2.1-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
429f1e0e66fb0122afa403b90cbe09624065cee67eae21c300578a3ee3da301b
|
|
BLAKE2b-256 checksum How to use checksums |
90f41ab7ff36a41b059dddb26dd138eea37b1798d7fc93040cd84ecee80e38f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.
Transparency log