Gowe (Rust)
Rust implementation of the Gowe wire format and session-aware encoder/decoder.
What this crate provides
- Dynamic encoding/decoding (
encode,decode) - Schema-aware encoding (
encode_with_schema) - Batch and micro-batch encoding (
encode_batch,SessionEncoder::encode_micro_batch) - Stateful features (base snapshots, state patch, template batch, control stream, trained dictionary)
Requirements
- Rust stable (edition 2024)
Install
Add one of the following to Cargo.toml.
From GitHub:
[]
= { = "https://github.com/gowe-team/gowe-rust.git" }
From crates.io (if/when published):
[]
= "0.1"
From a local path:
[]
= { = "./gowe-rust" }
Quick start
use ;
Session encoder example
use ;
Development
Run checks locally:
Release (GitHub Actions)
Publishing to crates.io is automated by .github/workflows/publish-crates.yml.
Setup:
- Add repository secret
CARGO_REGISTRY_TOKEN(crates.io API token). - Bump
versioninCargo.toml. - Create and push a matching tag:
v<version>.
Example:
License
This project is licensed under the MIT License - see the LICENSE file for details.