Skip to main content

FastFlight is a high-performance data transfer framework that integrates Apache Arrow Flight to fetch and stream large-scale data from multiple sources, using a modular, pluggable architecture for various data services, and offers optional FastAPI integration for HTTP-based access.

Project description

FastFlight

FastFlight is a high-performance framework for fetching and transferring data from multiple data sources using * Apache Arrow Flight*. It focuses on improving data transfer efficiency, particularly in scenarios requiring large-scale data retrieval, by using Arrow's columnar data format and gRPC for efficient streaming.


Features

  • Pluggable Data Services: Easily add support for different data sources (SQL, cloud, data lakes) through a modular service architecture.
  • Efficient Data Transfer: By using Arrow Flight, FastFlight reduces the overhead of traditional data transfer methods (JDBC/ODBC), improving performance across networks.
  • Asynchronous and Synchronous Support: The project supports both asynchronous data processing and synchronous interfaces, making it flexible for various use cases.
  • FastAPI Integration (Optional): Serve data via HTTP APIs with minimal latency using FastAPI, allowing you to expose your Flight server functionalities through a web interface.

Benefits of Using Arrow Flight

  • High Performance: Arrow Flight leverages the columnar format of Apache Arrow, which allows for more efficient data transport, especially in large datasets.
  • Low Latency: The use of gRPC streaming ensures efficient network communication, reducing round-trip time and enabling real-time data transfer.
  • Pluggable Architecture: Easy to integrate new data sources by extending base classes for params and data services.

Core Components

  • Flight Server: Manages incoming requests, dispatches to the appropriate data service, and streams results using Apache Arrow.
  • Flight Client: Fetches data from the Flight server and deserializes it into user-friendly formats like Pandas DataFrames or PyArrow Tables.
  • Data Services: Modular system for retrieving data from various data sources with support for asynchronous data streaming.

Installation

  1. Clone the repository:
    git clone https://github.com/cning112/fastflight
    cd fastflight
    
  2. Install dependencies:
    pip install -r requirements.txt
    

Basic Usage

  1. Start the Flight server:
    python src/fastflight/flight_server.py
    
  2. Use the Flight client to fetch data:
    from fastflight.flight_client import FlightClientManager
    # Connect to Flight server and fetch data
    

FastAPI Integration

For more information on how to integrate with FastAPI, refer to the FastAPI Integration Guide.


Technical Details

For in-depth technical discussions on the architecture, data service design, and utility functions (e.g., AsyncToSyncConverter, streaming utils), refer to the Technical Documentation.


License

This project is licensed under the MIT License.

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

fastflight-0.2.3.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

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

fastflight-0.2.3-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file fastflight-0.2.3.tar.gz.

File metadata

  • Download URL: fastflight-0.2.3.tar.gz
  • Upload date:
  • Size: 25.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for fastflight-0.2.3.tar.gz
Algorithm Hash digest
SHA256 be9fc426ddfe2ff52f882d544767d32159d9a7264084ce3d9ed4dcf83054231a
MD5 4406bfd667999fe72eb775a7ed7c21b6
BLAKE2b-256 f6333f30d4779028f3b880671f41e344c67c47352bf8fca0cf536aa29dc307d2

See more details on using hashes here.

File details

Details for the file fastflight-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: fastflight-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for fastflight-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 537afb29f0d7a7cf057d039c13f119ffcb368b41d1587bdee014807972c608c4
MD5 9ed7ff38477e57b9a0ba750b564af937
BLAKE2b-256 a75d3fdfaedad2da8f18f7fa0b7a0d670649a480fdbd1d3421fa5188dfd863a4

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