canon-protocol

Crates.iocanon-protocol
lib.rscanon-protocol
version2.0.32
created_at2025-08-24 17:44:01.162331+00
updated_at2025-09-01 03:10:07.991414+00
descriptionCore types and validation for the Canon Protocol specification format
homepagehttps://canon-protocol.org
repositoryhttps://github.com/canon-protocol/canon-cli
max_upload_size
id1808630
size44,763
Paul Fryer (paulfryer)

documentation

README

Canon Protocol Library

Core types and validation for the Canon Protocol specification format.

Overview

This library provides the fundamental data structures and parsing logic for the Canon Protocol, including:

  • Specification types - Core data structures for Canon specifications
  • Dependency parsing - URI parsing and dependency resolution
  • Repository configuration - Management of Canon repositories
  • Manifest and signatures - Cryptographic verification structures

Usage

Add to your Cargo.toml:

[dependencies]
canon-protocol = "0.1"

Then use in your code:

use canon_protocol::{Dependency, CanonSpecification, CanonRepository};

// Parse a dependency URI
let dep = Dependency::parse("canon-protocol.org/type@1.0.0")?;

// Create a new repository configuration
let repo = CanonRepository::new();

Features

  • Type-safe - Strongly typed representations of Canon Protocol structures
  • Validation - Built-in validation for specifications and dependencies
  • Serialization - Full serde support for YAML and JSON
  • Error handling - Comprehensive error types with context

License

Apache-2.0

Commit count: 96

cargo fmt