Crate d_engine_proto

Crate d_engine_proto 

Source
Expand description

§d-engine-proto

gRPC protocol definitions for d-engine - foundation for all client implementations

§When to use this crate

  • ✅ Building Go/Python/Java clients
  • ✅ Need raw .proto files for code generation
  • ✅ Custom protocol extensions
  • ✅ Contributing to d-engine protocol development

§For Rust users

If you’re writing Rust code, use d-engine or d-engine-client instead - they provide higher-level APIs on top of these protocol definitions.

[dependencies]
d-engine = { version = "0.2", features = ["client"] }

§For Non-Rust Developers

The .proto files are included in this crate. Generate client code for your language:

# Go (✅ Tested - see 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 (⚠️ 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:

  • Go - Production-ready with working example
  • ⚠️ Python - Proto generation verified, client integration pending
  • 🔜 Other languages - Community contributions welcome

Protocol files are located in the source repository under d-engine-proto/proto/.

§Documentation

For language-specific integration guides:

§Protocol Modules

This crate provides protobuf-generated Rust types organized by service area:

Modules§

client
common
error
exts
Protocol buffer type extensions
server