# `query-farm-flight-server`
A robust Python framework for building [Apache Arrow Flight](https://arrow.apache.org/blog/2020/05/06/introducing-arrow-flight/) servers that integrate seamlessly with the [Airport extension](https://airport.query.farm) for [DuckDB](https://duckdb.org/).
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](https://msgpack.org/)
* 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
```python
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](https://query.farm).
# License
MIT Licensed.
Raw data
{
"_id": null,
"home_page": null,
"name": "query-farm-flight-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "airport, arrow, arrow flight, duckdb, duckdb airport, flight, predicate pushdown, predicates, sql, sql parsing",
"author": null,
"author_email": "Rusty Conover <hello@query.farm>",
"download_url": "https://files.pythonhosted.org/packages/24/5a/3900de42968c3d444b2393949a0447e9fa826845ec05214d10818e652c38/query_farm_flight_server-0.1.4.tar.gz",
"platform": null,
"description": "# `query-farm-flight-server`\n\nA robust Python framework for building [Apache Arrow Flight](https://arrow.apache.org/blog/2020/05/06/introducing-arrow-flight/) servers that integrate seamlessly with the [Airport extension](https://airport.query.farm) for [DuckDB](https://duckdb.org/).\n\nThis framework enables secure, efficient, and scalable server implementations with features such as authentication, schema management, and predicate pushdown for data queries.\n\n---\n\n## \ud83d\ude80 Key Features\n\n* \u2705 **Authentication & Authorization**: Pluggable backends for secure access control\n* \ud83d\udcda **Schema & Table Management**: Full support for schema evolution and DDL operations\n* \ud83d\udcc8 **Rate Limiting & Usage Tracking**: Monitor and control client usage\n* \ud83e\udde9 **Extensible & Type-Safe**: Built for safe and scalable extension\n* \u2601\ufe0f **AWS Integration**: Support for S3 storage and DynamoDB-based authentication\n\n---\n\n## \ud83d\udef0 Arrow Flight Server Support\n\nDesigned to simplify the development of Arrow Flight servers:\n\n* Generic, reusable base classes for implementing Arrow Flight endpoints\n* Standardized handlers for all major data operations\n* Supports both streaming and batch workflows\n* Typed parameter parsing and serialization for safer code\n\n---\n\n## \ud83d\udd10 Authentication System\n\nUnified interface for multiple authentication backends:\n\n* In-memory backend for local development and tests\n* DynamoDB backend for scalable, persistent auth\n* Naive implementation for prototyping\n* Token-based auth with built-in rate limiting\n\n---\n\n## \ud83d\udd04 Data Serialization\n\nEfficient and type-safe serialization for Airport-compatible servers:\n\n* Parameter serialization using [MessagePack](https://msgpack.org/)\n* Record batch transfer using Arrow IPC\n* Support for DuckDB expression (de)serialization\n* Optimized binary payloads for Arrow Flight actions\n\n---\n\n## \ud83d\udee0 Admin CLI\n\nBuilt-in command-line tool for managing and monitoring your server:\n\n* Create and manage user accounts and tokens\n* Monitor usage and generate reports\n* Manage configuration settings\n\n---\n\n## \ud83e\udde9 Designed for Extension\n\nWhether 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.\n\n\n# Getting Started\n\nInstallation\n\n```python\npip install query-farm-flight-server\n```\n\n# Development\n\nThis 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.\n\nThe project maintains strict type safety through Python's typing system and Pydantic models, ensuring robust API contracts.\n\n## Author\n\nThis Python module was created by [Query.Farm](https://query.farm).\n\n# License\n\nMIT Licensed.\n",
"bugtrack_url": null,
"license": null,
"summary": "A framework for building Arrow Flight servers for the DuckDB Airport extension with robust authentication, schema management, and data handling capabilities.",
"version": "0.1.4",
"project_urls": {
"Issues": "https://github.com/query-farm/python-flight-server/issues",
"Repository": "https://github.com/query-farm/python-flight-server.git"
},
"split_keywords": [
"airport",
" arrow",
" arrow flight",
" duckdb",
" duckdb airport",
" flight",
" predicate pushdown",
" predicates",
" sql",
" sql parsing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f03ecb568dd45fd16c4dc3821abb065f216476606e81e3dbeffd2b2906484886",
"md5": "8ee0122d7cbb412460072b90297f86fa",
"sha256": "caf6fef5670e69fc2030fb6363597f32f3062978d2c16c8364952b647d7e971d"
},
"downloads": -1,
"filename": "query_farm_flight_server-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8ee0122d7cbb412460072b90297f86fa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 30558,
"upload_time": "2025-07-13T14:52:21",
"upload_time_iso_8601": "2025-07-13T14:52:21.699936Z",
"url": "https://files.pythonhosted.org/packages/f0/3e/cb568dd45fd16c4dc3821abb065f216476606e81e3dbeffd2b2906484886/query_farm_flight_server-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "245a3900de42968c3d444b2393949a0447e9fa826845ec05214d10818e652c38",
"md5": "09a34b45c4871af5cefe2e7d93250b9e",
"sha256": "d8ba28818b106faacb23e05597c9fe4f3320d04b8a9fbc99c1850a70b8116fe4"
},
"downloads": -1,
"filename": "query_farm_flight_server-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "09a34b45c4871af5cefe2e7d93250b9e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 22981,
"upload_time": "2025-07-13T14:52:23",
"upload_time_iso_8601": "2025-07-13T14:52:23.702460Z",
"url": "https://files.pythonhosted.org/packages/24/5a/3900de42968c3d444b2393949a0447e9fa826845ec05214d10818e652c38/query_farm_flight_server-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-13 14:52:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "query-farm",
"github_project": "python-flight-server",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "query-farm-flight-server"
}