| Crates.io | d-engine-proto |
| lib.rs | d-engine-proto |
| version | 0.2.2 |
| created_at | 2026-01-02 01:57:30.305168+00 |
| updated_at | 2026-01-14 15:00:27.366651+00 |
| description | gRPC protocol definitions - for building non-Rust d-engine clients |
| homepage | https://github.com/deventlab/d-engine |
| repository | https://github.com/deventlab/d-engine |
| max_upload_size | |
| id | 2017812 |
| size | 324,698 |
gRPC protocol definitions for d-engine - foundation for all client implementations
This crate contains the Protocol Buffer definitions and generated Rust code for d-engine's gRPC API. It's the foundation for building clients in any programming language that supports gRPC.
d-engine is a lightweight distributed coordination engine written in Rust, designed for embedding into applications that need strong consistency—the consensus layer for building reliable distributed systems.
.proto files for code generationd-engine or d-engine-client for higher-level APIsStep 1: Get the proto files
Clone the d-engine repository or download the proto files:
git clone https://github.com/deventlab/d-engine.git
cd d-engine/d-engine-proto
Step 2: Generate client code
# Go example (✅ Tested - see https://github.com/deventlab/d-engine/tree/main/examples/quick-start-standalone)
protoc -I. \
--go_out=./go \
--go_opt=module=github.com/deventlab/d-engine/proto \
--go-grpc_out=./go \
--go-grpc_opt=module=github.com/deventlab/d-engine/proto \
proto/common.proto \
proto/error.proto \
proto/client/client_api.proto
# Python example (⚠️ Command verified, end-to-end integration not yet tested)
protoc --python_out=./out \
proto/common.proto \
proto/error.proto \
proto/client/client_api.proto
Language Support Status:
Note:
d-engine-proto directorycommon.proto and error.proto when generating client codemodule= option to match your project's module path# Don't use this directly - use the high-level crates instead
[dependencies]
d-engine = { version = "0.2", features = ["client"] }
This crate provides protobuf-generated types organized by service area:
common - Core Raft types (LogId, Entry, etc.)error - Error types and metadataclient - Client request/response typesserver - Server-to-server communication typesFor language-specific integration guides:
| Crate | Purpose |
|---|---|
d-engine |
Recommended - Unified API for Rust apps |
d-engine-client |
High-level Rust client library |
d-engine-server |
Server implementation |
d-engine-core |
Pure Raft algorithm |
MIT or Apache-2.0