Skip to content

Latest commit

 

History

History
36 lines (24 loc) · 1.29 KB

README.md

File metadata and controls

36 lines (24 loc) · 1.29 KB

gduck-rpc

Build

A server implementation to utilize DuckDB features via gRPC API.

Build server

This project uses bundled DuckDB. To build it, please follow its instruction.

Then building gduck server by cargo as follows:

cargo build

Usage

Starting the server by executing a binary or by cargo run. This server uses env_logger for logging. Setting RUST_LOG is required to see server messages. In default, it listens 0.0.0.0:50051 but it can be configured by options.

$ RUST_LOG=INFO cargo run
[2024-11-02T12:56:13Z INFO  gduck] Start listening on 0.0.0.0:50051

Design

gduck server has a single gRPC bidirectional streaming API Transaction as defined in service.proto.

First message must be a Connect message then DuckDB connection is established according to it and then you can send any number of Query to query DuckDB. Connection alives until gRPC connection is closed.

Python clinet implementation is available under client