A server implementation to utilize DuckDB features via gRPC API.
This project uses bundled DuckDB. To build it, please follow its instruction.
Then building gduck server by cargo as follows:
cargo build
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
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