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 store, keyed by function identity, arguments, and call position.
- Re-invoking the same call within the same session returns the recorded result instead of re-executing.
- A call's outcome — success or failure — is permanent once recorded.
YieldExceptionsuspends execution at a function boundary; the session can be resumed later by entering it again with the same session id.
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. |
ExecutionRecord |
Persisted execution state and result. |
ExecutionStatus |
Enum: STARTED, COMPLETED, FAILED. |
SessionStore |
Protocol for storage backends. |
Serializer |
Protocol for value serialization. |
ArgsHasher |
Protocol for argument hashing. |
YieldException |
Raised to suspend a session. |
Extending
- For persistent storage, see
glyff-file-store. - For Pydantic-typed serialization, see
glyff-pydantic. - Custom backends can be written by implementing the
SessionStore,Serializer, andArgsHasherprotocols.
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.1.0.tar.gz.
File metadata
- Download URL: glyff-0.1.0.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a71ee5bbdb137ce0d7dd62a04e0cea348ecace8f7b9b5fb614f365c5af5e000
|
|
| MD5 |
f022c9ebae6841ac9eaf31961f0d6456
|
|
| BLAKE2b-256 |
79daf0a2ce55da49a243c8e39d9ee70f04711259f5c4e129bc9597dcacdacf37
|
Provenance
The following attestation bundles were made for glyff-0.1.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.1.0.tar.gz -
Subject digest:
9a71ee5bbdb137ce0d7dd62a04e0cea348ecace8f7b9b5fb614f365c5af5e000 - Sigstore transparency entry: 1592020171
- Sigstore integration time:
-
Permalink:
nueruyu/glyff@df78a7ffd9e787da40bedcd584f81b19636cdcaa -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/nueruyu
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-glyff.yml@df78a7ffd9e787da40bedcd584f81b19636cdcaa -
Trigger Event:
push
-
Statement type:
File details
Details for the file glyff-0.1.0-py3-none-any.whl.
File metadata
- Download URL: glyff-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.6 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 |
cb35632df43f7276ce3ed12e7bcc8ced0fd2be6608bf1d030d85954f928350b9
|
|
| MD5 |
42ecfd82b5703a5bd3d050e41474503d
|
|
| BLAKE2b-256 |
62cfed7a475eb7b30ab39f7e0a80161c8d6d65c26fc2b9d81efc152ef3f7e525
|
Provenance
The following attestation bundles were made for glyff-0.1.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.1.0-py3-none-any.whl -
Subject digest:
cb35632df43f7276ce3ed12e7bcc8ced0fd2be6608bf1d030d85954f928350b9 - Sigstore transparency entry: 1592020224
- Sigstore integration time:
-
Permalink:
nueruyu/glyff@df78a7ffd9e787da40bedcd584f81b19636cdcaa -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/nueruyu
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-glyff.yml@df78a7ffd9e787da40bedcd584f81b19636cdcaa -
Trigger Event:
push
-
Statement type: