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). idis 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
acceptedoralready_accepted. - D requires
what.delegateeandwhat.scope. - T requires
refandwhat.termination_scope. - V requires
ref,what.verification_scope, andwhat.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 | indeterminatechecks: independent check resultsevent_identityevent_hash- optional
acceptance warnings/errors
ValidationResult.valid is a convenience property equivalent to
status == "valid".
Testing
pytest -q
Related repositories
- JEP Core 0.7: https://github.com/hjs-spec/jep-core
- JEP API: https://github.com/hjs-spec/jep-api
- JavaScript SDK: https://github.com/hjs-spec/sdk-js
- Go SDK: https://github.com/hjs-spec/sdk-go
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)
| File | Size | Uploaded | |
|---|---|---|---|
| jep_sdk_py-0.7.0.tar.gz | 7.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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