Skip to main content

OpenExit

Portable state for any application.

This package implements PASP — the Portable Application State Protocol — for Python. OpenExit is the implementation and ecosystem; PASP 1.0 is the language-neutral protocol. SDK version 0.1.0 is separate from protocol version 1.0.

Install

pip install openexit

Inspect and verify

from openexit import inspect_bundle, verify_bundle

bundle = inspect_bundle("./acme.pasp")
print(bundle.pasp_version)
print(bundle.scope)
print(bundle.resources)

verified = verify_bundle("./acme.pasp")
print(verified.verified)

inspect_bundle reads the manifest, descriptors, relationship metadata, and asset index. verify_bundle additionally streams all resource records and asset bytes, checks record schemas and identities, counts, and SHA-256 hashes. Both accept directory bundles.

Manifest validation

from pathlib import Path
from openexit import parse_manifest, validate_manifest

manifest = parse_manifest(Path("./acme.pasp/manifest.json"))
validate_manifest(manifest)  # returns None or raises PaspError

parse_manifest also accepts a mapping, JSON text, or UTF-8 JSON bytes. A string is treated as JSON text; pass a Path to read a file. Parsing does not imply validation. Models retain the raw manifest fields. Protocol errors expose a stable code:

from openexit import PaspError

try:
    verify_bundle("./acme.pasp")
except PaspError as exc:
    print(exc.code)

Protocol source

The canonical PASP definition is in the repository at protocol/pasp/v1/; the shared suite is protocol/pasp/v1/conformance/suite.json. Installed wheels contain exact copies of the canonical JSON Schemas and do not require the repository at runtime.

Current limits

This SDK reads PASP 1.0 directory bundles. It does not export or import application state, run adapters, execute external processes, unpack archives, or check full referential integrity. Inspection and verification use bounded file reads; one NDJSON record or metadata file is parsed at a time. Symlinks that leave the bundle root are rejected.

Metadata

Release files for openexit 0.1.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 openexit 0.1.0
File Size Uploaded Provenance
openexit-0.1.0.tar.gz 15.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for openexit 0.1.0
File Interpreter ABI Platform
openexit-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.9 kB

Release files / openexit-0.1.0.tar.gz

Download URL openexit-0.1.0.tar.gz
Size 15.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0d9e8f49b211be1c14eaf11275bc6e51262c285b8d08ece7bb3fa8862163ec5f
BLAKE2b-256 checksum
How to use checksums
ac3e204e166d412b56762e77b99b1c88db5345fed9d9b760ffbab245cd5e08ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / openexit-0.1.0-py3-none-any.whl

Download URL openexit-0.1.0-py3-none-any.whl
Size 17.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
84f6126992fba1c6d37956761654baafc825cf65836b0b1ca8785da5173f4f02
BLAKE2b-256 checksum
How to use checksums
2d55f9bc32ca16cf35b2289d854f5105ad4255c879e5f484bf7bf3ebeb4ff094
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Security for openexit 0.1.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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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