Guaranteed Lightweight Yieldable Function Foundation for checkpointed and resumable task execution.
Project description
glyff
Guaranteed Lightweight Yieldable Function Foundation.
A primitive for pausing async functions across process and request boundaries, and resuming them later from the same point.
Install
pip install glyff
glyff has no dependencies beyond the Python standard library.
Behavior
- Marked function calls are recorded in a session-scoped execution repository, keyed by function identity, arguments, and call position.
- Re-invoking the same completed call within the same session returns the recorded result instead of re-executing.
- An exception persists nothing: the interrupted call stays
STARTED(retried on resume), completed descendant work remains committed, and the original exception propagates. - To pause a session intentionally, raise an application-owned exception and
catch it outside the
Sessionblock.
Public API
| Name | Description |
|---|---|
engrave |
Decorator that marks an async function for recording. |
Session |
Async context manager that scopes a sequence of engraved calls. |
ExecutionId |
Identifier for a recorded function execution. |
Execution |
Aggregate Root for a recorded function execution. |
ExecutionStatus |
Enum: STARTED, COMPLETED. |
SerializedValue |
Serializer-neutral persisted value. |
Metadata |
Metadata entry owned by an Execution. |
ExecutionRepository |
Repository for execution aggregates. |
Transaction |
Active transaction boundary. |
TransactionProvider |
Provider used by TransactionScope. |
Serializer |
Protocol for value serialization. |
ArgsHasher |
Protocol for argument hashing. |
Extending
- For persistent storage, see
glyff-file-store. - For Pydantic-typed serialization, see
glyff-pydantic. - Custom backends should provide separate
ExecutionRepositoryandTransactionProviderobjects, often through a small backend bundle.
Status
Early development. APIs may change before v1.0.
License
MIT
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 glyff-0.13.0.tar.gz.
File metadata
- Download URL: glyff-0.13.0.tar.gz
- Upload date:
- Size: 35.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4974f30d70f06f0dc2c3043f5f249a39fe1784b3756f597e242ffa07477c6fb0
|
|
| MD5 |
3ca86fa2aeacdbf7448e283816471249
|
|
| BLAKE2b-256 |
60e4509363f03336b11ed421dcb8f559321bb58718173f9e972a584a6fe9c8db
|
Provenance
The following attestation bundles were made for glyff-0.13.0.tar.gz:
Publisher:
publish-glyff.yml on nueruyu/glyff
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
glyff-0.13.0.tar.gz -
Subject digest:
4974f30d70f06f0dc2c3043f5f249a39fe1784b3756f597e242ffa07477c6fb0 - Sigstore transparency entry: 2070649297
- Sigstore integration time:
-
Permalink:
nueruyu/glyff@96a869d4d4fcebac52410e07e3fa5abf24e650a6 -
Branch / Tag:
refs/tags/v0.13.0 - Owner: https://github.com/nueruyu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-glyff.yml@96a869d4d4fcebac52410e07e3fa5abf24e650a6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file glyff-0.13.0-py3-none-any.whl.
File metadata
- Download URL: glyff-0.13.0-py3-none-any.whl
- Upload date:
- Size: 23.0 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 |
d4535381f9fef6293231ae2a60703c569e6236ab7c5f379d49c0890519b29618
|
|
| MD5 |
0018720739e2932e994e91f68cec3ad6
|
|
| BLAKE2b-256 |
44fdb5f858d978e292d7b5539afe44e1dbf0ba9987185d9baa1357b9830a2e88
|
Provenance
The following attestation bundles were made for glyff-0.13.0-py3-none-any.whl:
Publisher:
publish-glyff.yml on nueruyu/glyff
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
glyff-0.13.0-py3-none-any.whl -
Subject digest:
d4535381f9fef6293231ae2a60703c569e6236ab7c5f379d49c0890519b29618 - Sigstore transparency entry: 2070649572
- Sigstore integration time:
-
Permalink:
nueruyu/glyff@96a869d4d4fcebac52410e07e3fa5abf24e650a6 -
Branch / Tag:
refs/tags/v0.13.0 - Owner: https://github.com/nueruyu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-glyff.yml@96a869d4d4fcebac52410e07e3fa5abf24e650a6 -
Trigger Event:
push
-
Statement type: