Skip to content

PoC implementation that uses DuckDB feature via gRPC API

License

Notifications You must be signed in to change notification settings

saint1991/gduck-rpc

Repository files navigation

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

About

PoC implementation that uses DuckDB feature via gRPC API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published