Skip to main content
Loss of provenance

A previous release had provenance metadata, but this release does not. View details.

langchain-alex

Verify signed ALEX Evidence Packages inside LangChain and LangGraph workflows. The verifier checks the package against a public key obtained separately from the evidence bundle and fails closed on unsupported schemas, signature failures, incomplete evidence, or inconsistent declared outcomes.

valid=True means that the evidence package passed verification and carries a verified outcome. Authentic bundles documenting failed or inconclusive runs remain rejected; inspect reason and outcome separately.

Requirements

  • Python 3.10 or newer
  • OpenSSL available as openssl on PATH

Install

pip install langchain-alex

Verify an Evidence Package

from langchain_alex import AlexEvidenceVerifier

verifier = AlexEvidenceVerifier.from_key_files("alex-public-key.pem")
result = verifier.verify_file("evidence-bundle.json")

print(result.valid, result.reason, result.outcome)

The trust anchor is intentionally supplied separately. A public key embedded only in the bundle is not trusted.

LangChain tool

tool = verifier.as_tool()
result = tool.invoke({"bundle": evidence_bundle})

The tool returns a JSON-serializable object with valid, reason, bundle_id, schema_version, outcome, and claim_ladder.

LangGraph node

from typing_extensions import TypedDict
from langgraph.graph import END, START, StateGraph


class State(TypedDict):
    evidence_bundle: dict
    alex_verification: dict


graph = StateGraph(State)
graph.add_node("alex_verify", verifier.as_langgraph_node())
graph.add_edge(START, "alex_verify")
graph.add_edge("alex_verify", END)
app = graph.compile()

result = app.invoke({"evidence_bundle": evidence_bundle})
assert result["alex_verification"]["valid"] is True

The node returns a state update and does not mutate its input state. Route on both valid and outcome when the graph controls a consequential action.

Development

python -m pip install -e ".[dev]"
python -m pytest
ruff check .
python -m build

The verifier implementation is also used by the repository's standalone Python CLI at tools/verify-bundle/verify.py; the integration does not maintain a second verdict algorithm.

Public evidence

The public ALEX record shows a human-readable projection of a signed Evidence Package plus the verifier path and explicit limits of the claim. It is evidence of the recorded execution and controls, not proof that the underlying work is professionally correct.

Metadata

Release files for langchain-alex 0.1.2

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

Loss of provenance

These files do not have provenance metadata, despite files in a prior release including this data.

We recommend further investigation before installing these files. View details.

Source distribution (sdist)

Source distribution for langchain-alex 0.1.2
File Size Uploaded Provenance Actions
langchain_alex-0.1.2.tar.gz 27.6 kB Without provenance Details for langchain_alex-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for langchain-alex 0.1.2
File Interpreter ABI Platform Actions
langchain_alex-0.1.2-py3-none-any.whl Python 3 none any Details for langchain_alex-0.1.2-py3-none-any.whl

Total release size: 43.8 kB

Release files / langchain_alex-0.1.2.tar.gz

Loss of provenance

This file belongs to a release without provenance metadata, despite a prior release including this data.

We recommend further investigation before installing this file. View details.

Download URL langchain_alex-0.1.2.tar.gz
Size 27.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e46c00955f9f486550ec7f6ca49d77c017fbe396053bf0b1188979e8811f5aba
BLAKE2b-256 checksum
How to use checksums
8c2688eabc2fdab6546f700415604f241e71fcca3636822f7da1683de2f9beca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / langchain_alex-0.1.2-py3-none-any.whl

Loss of provenance

This file belongs to a release without provenance metadata, despite a prior release including this data.

We recommend further investigation before installing this file. View details.

Download URL langchain_alex-0.1.2-py3-none-any.whl
Size 16.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
11d5ea92944eb7c20867d1cd02e9494aded2e619199c5408070bf9bbf63495e0
BLAKE2b-256 checksum
How to use checksums
dd369dead08808b1656a9aafb008e9a4889b10c33e74acc079e8cbd487cdaa15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for langchain-alex 0.1.2

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.

Loss of provenance

A previous release of these files had provenance metadata, but this release does not.

While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.

Release comparison

  • Removed 0.1.1 2 files With provenance
  • Added 0.1.2 2 files Without provenance

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.2 This release

2 release files Loss of 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