Skip to main content

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.

Metadata

Release files for query-farm-flight-server 0.1.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for query-farm-flight-server 0.1.17
File Size Uploaded
query_farm_flight_server-0.1.17.tar.gz 24.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for query-farm-flight-server 0.1.17
File Interpreter ABI Platform
query_farm_flight_server-0.1.17-py3-none-any.whl Python 3 none any Details

Total release size: 56.2 kB

Release files / query_farm_flight_server-0.1.17.tar.gz

Download URL query_farm_flight_server-0.1.17.tar.gz
Size 24.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b5797872e493df5e33daad0ba513558b9c6e033b9d60d9db5b5bab1704e87eeb
BLAKE2b-256 checksum
How to use checksums
899f8334b5ad6399518554b33dab94c0295cd4a497fe326fe201b95d9aa92e43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / query_farm_flight_server-0.1.17-py3-none-any.whl

Download URL query_farm_flight_server-0.1.17-py3-none-any.whl
Size 32.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3acaef9b03c1b633f685854d4e40d291788b977072d99c0c6c11cf2cb367c99a
BLAKE2b-256 checksum
How to use checksums
0f88ad64f2435bea18f3aaa274402fefdb7dee265871ee9a6bb94c3d74c75b2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.1.17 This release

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page