Skip to main content

JEP Python SDK — JEP Core 0.7

Python client for the current JEP Core 0.7 reference API.

The default client uses:

POST /v0.7/events/create
POST /v0.7/events/verify
GET  /health

Historical pre-0.7 compatibility is explicit through create_event_legacy() and verify_event_legacy(). The SDK never retries a failed 0.7 event as 0.6.

Status

Experimental reference SDK. It does not define new JEP Core semantics and does not determine legal liability, factual truth, authorization validity, regulatory compliance, causality, or policy outcome.

Installation

pip install jep-sdk-py

For local development:

pip install -e ".[dev]"

Quick start

from jep import JEPClient, CreateEventRequest, Verb

client = JEPClient(base_url="http://127.0.0.1:8000")

created = client.create_event(CreateEventRequest(
    verb=Verb.JUDGMENT.value,
    who="did:example:agent-789",
    what={"claim": "approve"},
))

verified = client.verify_event({
    "event": created.event.to_dict(),
    "mode": "archival",
})

print(created.event.id)
print(created.event_hash)
print(verified.status, verified.checks)

JEP Core 0.7 model

  • Event Identity is (who,id).
  • id is required; Core does not require a top-level nonce.
  • Event Hash identifies one exact signed artifact and is not Event Identity.
  • Validation uses independent checks rather than cumulative Validation Levels.
  • Acceptance mode can return accepted or already_accepted.
  • D requires what.delegatee and what.scope.
  • T requires ref and what.termination_scope.
  • V requires ref, what.verification_scope, and what.result.

The normative schema lives in jep-core.

Legacy 0.6

Legacy handling is deliberately explicit:

client.verify_event_legacy({
    "event": legacy_event,
    "mode": "archival",
})

Do not use a failed 0.7 validation as a signal to reinterpret an artifact as 0.6.

Validation results

Current results expose:

  • status: valid | invalid | indeterminate
  • checks: independent check results
  • event_identity
  • event_hash
  • optional acceptance
  • warnings / errors

ValidationResult.valid is a convenience property equivalent to status == "valid".

Testing

pytest -q

License

MIT

Metadata

Release files for jep-sdk-py 0.7.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 jep-sdk-py 0.7.0
File Size Uploaded
jep_sdk_py-0.7.0.tar.gz 7.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jep-sdk-py 0.7.0
File Interpreter ABI Platform
jep_sdk_py-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.7 kB

Release files / jep_sdk_py-0.7.0.tar.gz

Download URL jep_sdk_py-0.7.0.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d63eabf71e1c38af221f888cc67417572759f8e31b8eba8453dcc1ee1fec5727
BLAKE2b-256 checksum
How to use checksums
d16e1b1735065be2acbae2d34d8912de911dc2a91540a2220e6949249662437b
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 26, 2026.

Transparency log

Release files / jep_sdk_py-0.7.0-py3-none-any.whl

Download URL jep_sdk_py-0.7.0-py3-none-any.whl
Size 6.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6d647f6aa52ac10549df9297db9c769fe3f43e617de23533ff589b1308f703b9
BLAKE2b-256 checksum
How to use checksums
5add287a113e235e66c84ee085555f0d125752f96bcfceea2a5705b171721cb1
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 26, 2026.

Transparency log

Release history Release notifications | RSS feed

0.7.1

2 release files

This release

0.7.0 This release

2 release files

0.6.2

2 release files

0.6.1

2 release files

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