Skip to main content

coreason-validator

CI License Python Ruff codecov Checked with mypy pre-commit

Enforces structural integrity across the entire CoReason ecosystem.

Overview

coreason-validator acts as the Single Source of Truth for all data structures (Agents, Tests, Topologies, Messages). It provides "Schemas-as-Code" definitions and validation logic to check assets before they are processed, ensuring structural soundness.

In a GxP environment, "Implicit Trust" is a vulnerability. Component A must never assume Component B sent valid data. This library ensures that what is about to happen is structurally sound.

Key Features

  • Schema Registry: A collection of immutable Pydantic Models defining valid assets.
  • Static Analyzer: A validation engine that runs on static files (JSON/YAML) with rich error reporting.
  • Runtime Guard: A lightweight validation function for dynamic payloads with microsecond latency.
  • Integrity Hasher: Provides canonical hashing to ensure file integrity and GxP compliance.
  • Frontend Bridge: Exports JSON Schemas to keep the UI in sync with the backend.

Documentation

For detailed documentation, please refer to the docs/ directory or the hosted site:

Architecture

The library implements the Define-Check-Hash Loop:

  1. Define: Schemas as strict Python classes (Pydantic V2).
  2. Check: Shift-left validation locally and at runtime.
  3. Hash: Canonical hashing of the validated structure for GxP integrity.

See Architecture for more details.

Getting Started

Prerequisites

  • Python 3.12+
  • Poetry

Installation

  1. Clone the repository:
    git clone https://github.com/CoReason-AI/coreason_validator.git
    cd coreason_validator
    
  2. Install dependencies:
    poetry install
    

Usage

CLI Quick Start

The package exposes a CLI tool coreason-val for validation and schema operations.

Validate a File

To validate a YAML or JSON file against its schema (schema type is auto-detected):

poetry run coreason-val check path/to/file.yaml

Example:

poetry run coreason-val check samples/agent_config.yaml

Export JSON Schemas

To export the canonical JSON Schemas for use in other systems (e.g., Frontend forms):

poetry run coreason-val export ./schemas_out

This will generate agent.schema.json, bec.schema.json, etc., in the specified directory.

Python API

For deep integration, import coreason_validator directly.

from coreason_validator import validate_file, validate_object

# Validate a file
result = validate_file("path/to/agent.yaml")
if result.is_valid:
    print("Valid!")
else:
    print(f"Errors: {result.errors}")

# Validate an object (Runtime)
data = {"name": "my-agent", "version": "1.0.0"}
try:
    model = validate_object(data, "agent")
    print(f"Canonical Hash: {model.canonical_hash()}")
except Exception as e:
    print(f"Validation failed: {e}")

Development

  • Run the linter:
    poetry run pre-commit run --all-files
    
  • Run the tests:
    poetry run pytest
    
  • Build documentation:
    poetry run mkdocs build
    

Metadata

Release files for coreason-validator 0.5.1

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

Source distribution (sdist)

Source distribution for coreason-validator 0.5.1
File Size Uploaded
coreason_validator-0.5.1.tar.gz 19.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for coreason-validator 0.5.1
File Interpreter ABI Platform
coreason_validator-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 49.1 kB

Release files / coreason_validator-0.5.1.tar.gz

Download URL coreason_validator-0.5.1.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c457a2c384d8dd534a1b0a064b496bb2914f6fff5f45847b25ff6b94579e11b4
BLAKE2b-256 checksum
How to use checksums
9a361093880a5e3151f9ec359a8b290a548373df2c67cb9cac1583160611a8f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Jan 28, 2026.

Transparency log

Release files / coreason_validator-0.5.1-py3-none-any.whl

Download URL coreason_validator-0.5.1-py3-none-any.whl
Size 29.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
435e30e5b07a27a921551d985f5174d5438b609b7a6ce62a841bbbd7473c9e68
BLAKE2b-256 checksum
How to use checksums
ea5334d4e2e80f8bfc03603b7e0382e86ec40d6917d6868fe40133111173b516
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Jan 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

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