Skip to main content

A framework for building Arrow Flight servers for the DuckDB Airport extension with robust authentication, schema management, and data handling capabilities.

Project description

query-farm-flight-server

A robust Python framework for building Apache Arrow Flight servers that integrate seamlessly with the Airport extension for DuckDB.

This framework enables secure, efficient, and scalable server implementations with features such as authentication, schema management, and predicate pushdown for data queries.


🚀 Key Features

  • Authentication & Authorization: Pluggable backends for secure access control
  • 📚 Schema & Table Management: Full support for schema evolution and DDL operations
  • 📈 Rate Limiting & Usage Tracking: Monitor and control client usage
  • 🧩 Extensible & Type-Safe: Built for safe and scalable extension
  • ☁️ AWS Integration: Support for S3 storage and DynamoDB-based authentication

🛰 Arrow Flight Server Support

Designed to simplify the development of Arrow Flight servers:

  • Generic, reusable base classes for implementing Arrow Flight endpoints
  • Standardized handlers for all major data operations
  • Supports both streaming and batch workflows
  • Typed parameter parsing and serialization for safer code

🔐 Authentication System

Unified interface for multiple authentication backends:

  • In-memory backend for local development and tests
  • DynamoDB backend for scalable, persistent auth
  • Naive implementation for prototyping
  • Token-based auth with built-in rate limiting

🔄 Data Serialization

Efficient and type-safe serialization for Airport-compatible servers:

  • Parameter serialization using MessagePack
  • Record batch transfer using Arrow IPC
  • Support for DuckDB expression (de)serialization
  • Optimized binary payloads for Arrow Flight actions

🛠 Admin CLI

Built-in command-line tool for managing and monitoring your server:

  • Create and manage user accounts and tokens
  • Monitor usage and generate reports
  • Manage configuration settings

🧩 Designed for Extension

Whether you're integrating new storage backends, customizing authentication, or implementing complex business logic, query-farm-flight-server is built to scale with your needs while keeping your codebase clean and type-safe.

Getting Started

Installation

pip install query-farm-flight-server

Development

This python module is designed to be extended for specific database backends. Implement the abstract methods in BasicFlightServer to create a custom server for your specific data source.

The project maintains strict type safety through Python's typing system and Pydantic models, ensuring robust API contracts.

Author

This Python module was created by Query.Farm.

License

MIT Licensed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

query_farm_flight_server-0.1.17.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

query_farm_flight_server-0.1.17-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file query_farm_flight_server-0.1.17.tar.gz.

File metadata

File hashes

Hashes for query_farm_flight_server-0.1.17.tar.gz
Algorithm Hash digest
SHA256 b5797872e493df5e33daad0ba513558b9c6e033b9d60d9db5b5bab1704e87eeb
MD5 6af903e5092e4991f73a11ef9c5178b3
BLAKE2b-256 899f8334b5ad6399518554b33dab94c0295cd4a497fe326fe201b95d9aa92e43

See more details on using hashes here.

File details

Details for the file query_farm_flight_server-0.1.17-py3-none-any.whl.

File metadata

File hashes

Hashes for query_farm_flight_server-0.1.17-py3-none-any.whl
Algorithm Hash digest
SHA256 3acaef9b03c1b633f685854d4e40d291788b977072d99c0c6c11cf2cb367c99a
MD5 82ce16e7934a2a73d5a04cf6c3ea42c7
BLAKE2b-256 0f88ad64f2435bea18f3aaa274402fefdb7dee265871ee9a6bb94c3d74c75b2f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page