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:
17
crates/quicnprotochat-python/pyproject.toml
Normal file
17
crates/quicnprotochat-python/pyproject.toml
Normal file
@@ -0,0 +1,17 @@
|
||||
[build-system]
|
||||
requires = ["maturin>=1.0,<2.0"]
|
||||
build-backend = "maturin"
|
||||
|
||||
[project]
|
||||
name = "quicnprotochat"
|
||||
version = "0.1.0"
|
||||
description = "Python bindings for quicnprotochat — QUIC + MLS + post-quantum E2E chat."
|
||||
license = { text = "MIT" }
|
||||
requires-python = ">=3.8"
|
||||
readme = "README.md"
|
||||
|
||||
[tool.maturin]
|
||||
# The Cargo manifest is one level up in the workspace; point maturin at it.
|
||||
manifest-path = "Cargo.toml"
|
||||
module-name = "quicnprotochat"
|
||||
features = ["pyo3/extension-module"]
|
||||
Reference in New Issue
Block a user