Skip to content

Latest commit

 

History

History
79 lines (49 loc) · 1.96 KB

File metadata and controls

79 lines (49 loc) · 1.96 KB

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.