wingfoil-python 0.1.10

python bindings for wingfoil - graph based stream processing framework
Documentation

Wingfoil

Wingfoil is a blazingly fast, highly scalable stream processing framework designed for latency-critical use cases such as electronic trading and real-time AI systems.

Wingfoil simplifies receiving, processing and distributing streaming data across your entire stack.

Features

  • Fast: Ultra-low latency and high throughput with a efficent DAG based execution engine.
  • Simple and obvious to use: Define your graph of calculations; Wingfoil manages its execution.
  • Multi-language: currently available as rust crate and a python package with plans to add WASM/JavaSript/TypeScript support.
  • Backtesting: Replay historical data to backtest and optimise strategies.
  • Multi-threading: distribute graph execution across cores.

Installation

pip install wingfoil

Quick Start

This python code...

#!/usr/bin/env python3

from wingfoil import ticker

period = 1.0 # seconds
duration = 4.0 # seconds
stream = (
    ticker(period)
    .count()
    .logged("hello, world")
)

stream.run(realtime=True, duration=duration)

...produces this output...

[2025-11-02T18:42:18Z INFO  wingfoil] 0.000_092 hello, world 1
[2025-11-02T18:42:19Z INFO  wingfoil] 1.008_038 hello, world 2
[2025-11-02T18:42:20Z INFO  wingfoil] 2.012_219 hello, world 3

Checkout the [wingfoil project page] (https://github.com/wingfoil-io/wingfoil/) for more information.

You can follow these instructions to build the wingfoil python module from soure.

We want to hear from you! Especially if you:

  • are interested in contributing
  • know of a project that wingfoil would be well-suited for
  • would like to request a feature
  • Have any feedback

Please email us at hello@wingfoil.io or get involved in the wingfoil discussion. And you can take a look at the issues for ideas on ways to contribute.