Skip to main content

glyff-file-store

File-backed ExecutionRepository implementation for glyff.

This is the human-readable debug backend: JsonFileBackend bundles a file-backed execution repository and transaction provider, storing executions in a single pretty-printed JSON map that is rewritten atomically on each commit.

For the durable production backend, see glyff-sqlite.

Install

pip install glyff-file-store

This package depends on glyff>=0.14.0 and filelock>=3.15.

Public API

Name Description
JsonFileBackend Bundle exposing the store's collaborators.
FileExecutionRepository Debug repository writing pretty-printed JSON.
FileTransactionProvider Transaction provider for the file backend.

Construct it with a base_dir; it holds every session written under it:

from glyff_file_store import JsonFileBackend

backend = JsonFileBackend(base_dir=".sessions")

The underlying FileClient is internal and not part of the public API.

JSON debug format

Everything the store holds lives in one pretty-printed, key-sorted document at <base_dir>/glyff.json, nested by session id:

{
  "format_version": 1,
  "sessions": {
    "orders": {
      "domain_versions": {
        "com.example.payments": "3"
      },
      "executions": {}
    }
  }
}

format_version is glyff's own, so a store written by an incompatible build is refused rather than misread; domain_versions holds one version per domain the session has entered, each claimed by whichever process entered it first.

Execution results and metadata are stored as embedded JSON values, so serializers used with this backend must produce JSON text. Canonical arguments are stored as a JSON string instead: the execution's key is the digest of those exact bytes, so they are kept verbatim rather than re-encoded.

The whole document is read on access and rewritten on every commit, which is what keeps it readable and what makes it unsuitable for high-throughput or large-scale use.

Commit atomicity

A commit reads the document, applies the transaction's staged updates, and replaces the file in one os.replace, so it is all-or-nothing however many sessions it touched. A crash can only strand a temporary beside the document, never leave the document itself half-written; the next open clears it.

Concurrency

Commits and version claims are serialized across the processes sharing a base_dir, through a .glyff.lock file beside the document. Reads take no lock: a replacement is atomic, so a read sees either the whole old document or the whole new one.

Status

Pre-1.0 — the API is unstable and will change.

License

MIT

Metadata

Release files for glyff-file-store 0.16.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for glyff-file-store 0.16.0
File Size Uploaded Provenance Actions
glyff_file_store-0.16.0.tar.gz 14.2 kB With provenance Details for glyff_file_store-0.16.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for glyff-file-store 0.16.0
File Interpreter ABI Platform Actions
glyff_file_store-0.16.0-py3-none-any.whl Python 3 none any Details for glyff_file_store-0.16.0-py3-none-any.whl

Total release size: 24.8 kB

Release files / glyff_file_store-0.16.0.tar.gz

Download URL glyff_file_store-0.16.0.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ec6ad8d8a4f8200ea5c29e26e31ba614a4dde5e93ff43e69259af80abee1b920
BLAKE2b-256 checksum
How to use checksums
37367dc0b0ba8b96844743a3b6a1b534ff668fe55bfa408be3ae5c09deaf21ee
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 Aug 15, 2026.

Transparency log

Release files / glyff_file_store-0.16.0-py3-none-any.whl

Download URL glyff_file_store-0.16.0-py3-none-any.whl
Size 10.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be765fa079beb782ad5f6e5ec09c1f1b24bd30358bf2beb08d92bfe896ff2320
BLAKE2b-256 checksum
How to use checksums
6f34b902817ce9b0211c00a050d55af6f5cbcd262740257f29984336f9965942
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 Aug 15, 2026.

Transparency log

Security for glyff-file-store 0.16.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for glyff_file_store-0.16.0.tar.gz

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 Aug 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page