feat: add Python (PyO3) and Ruby (Magnus) native bindings
Introduces three crates: - quicnprotochat-bindings: shared Rust API returning structured data instead of printing to stdout; explicit per-call auth (no global OnceLock); QPCE state files fully interoperable with the CLI. - quicnprotochat-python: PyO3 0.22 extension; GIL released during all blocking QUIC calls via py.allow_threads. - quicnprotochat-ruby: Magnus 0.7 extension; Rakefile build task. Core/proto crates referenced via git dep on the main repo.
This commit is contained in:
14
crates/quicnprotochat-python/Cargo.toml
Normal file
14
crates/quicnprotochat-python/Cargo.toml
Normal file
@@ -0,0 +1,14 @@
|
||||
[package]
|
||||
name = "quicnprotochat-python"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
description = "Python bindings for quicnprotochat (PyO3 / maturin)."
|
||||
license = "MIT"
|
||||
|
||||
[lib]
|
||||
name = "quicnprotochat"
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[dependencies]
|
||||
quicnprotochat-bindings = { path = "../quicnprotochat-bindings" }
|
||||
pyo3 = { version = "0.22", features = ["extension-module"] }
|
||||
Reference in New Issue
Block a user