Skip to content

lakshgupta/darkwing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Darkwing

Darkwing is a lightweight, high-performance server implementing the Arrow Flight SQL protocol. It enables efficient, scalable SQL query execution over Arrow data, making it ideal for modern analytics workflows.

Features

  • Arrow Flight SQL: Full native support for the Arrow Flight SQL protocol.
  • Pluggable Backend Engines: Easily extendable architecture. Currently supports:
  • Lightweight & Minimal: Few dependencies, fast startup, and simple deployment.
  • Extensible: Built to support additional backend engines and new features with minimal effort.

Disclaimer: Darkwing is under active development and is not recommended for production use. Features and APIs may change without notice.

Getting Started

Prerequisites

  • Go 1.20 or newer
  • Task (task runner)

Installation

Clone the repository and navigate to the project directory:

git clone https://github.com/lakshgupta/darkwing.git
cd darkwing

Build the server:

task build-server

Running the Server

Start the server using Task:

task run-server

Or run the built binary directly:

./bin/darkwing

Usage

Connect to Darkwing using any Arrow Flight SQL client. For example, with Python:

import pyarrow.flight.sql as fsql

client = fsql.FlightSQLClient("grpc+tcp://localhost:8815")
info = client.execute("SELECT * FROM my_table")
reader = client.do_get(info.endpoints[0].ticket)
print(reader.read_all())

License

This project is licensed under the Apache License 2.0.

Resources


For more details, see the documentation or open an issue for support.


About

Arrow Flight SQL server supporting multiple backend engines

Topics

Resources

License

Stars

Watchers

Forks

Languages