Apache Airflow is a platform to programmatically author, schedule, and monitor workflows defined as Python code (Dags).
pathwaycom/pathway
Python ETL framework for stream processing, real-time analytics, LLM pipelines and RAG, powered by a Rust engine.
- Stars
- 62,089
- Forks
- 1,683
- Open issues
- 37
- Last commit
- 2 days ago
What is it?
Pathway is a Python ETL framework for building pipelines that process both batch and streaming data. The same code can run for local development, CI tests, batch jobs, stream replays and live processing, so developers do not need to maintain separate batch and streaming versions of a pipeline.
The Python API sits on top of a Rust engine based on Differential Dataflow, which performs incremental computation. Pipelines are kept in memory and can run with multithreading, multiprocessing or distributed execution, and can be deployed with Docker and Kubernetes. Connectors cover sources such as Kafka, PostgreSQL, Google Drive and SharePoint, and an Airbyte connector gives access to more than 300 additional sources.
Pathway also includes an LLM extension with wrappers, parsers, embedders and splitters, an in-memory real-time vector index, and integrations with LangChain and LlamaIndex for building RAG applications over live documents.
Key features
- 01Unified engine for batch and streaming data with the same Python code.
- 02Connectors for Kafka, PostgreSQL, Google Drive, SharePoint and more than 300 sources via Airbyte.
- 03Stateful transformations such as joins, windowing and sorting, plus support for arbitrary Python functions.
- 04Persistence to save computation state so pipelines can restart after updates or crashes.
- 05Rust engine supporting multithreading, multiprocessing and distributed computation.
- 06Built-in LLM tooling with an in-memory real-time vector index and LangChain and LlamaIndex integrations.
Use cases
- Real-time ETL that moves and transforms data from Kafka or databases.
- Event-driven pipelines with alerting, such as log monitoring.
- Live RAG applications that keep a vector index updated as documents change.
- Switching an existing batch data job to streaming without rewriting it.
Quick start
- 1
Install Pathway from PyPI with pip
pip install -U pathway - 2
Save the example code as main.py and run it with the Pathway runner
pathway spawn python main.py
Things to know
- Available only on macOS and Linux; other systems need a virtual machine.
- Requires Python 3.10 or above.
- The license is listed as NOASSERTION in the metadata and the README badge points to BSL, so check the license terms before commercial use.
- Exactly-once consistency is only in the enterprise version; the free version provides at-least-once.
Topics
FAQ
- What is pathway?
- Python ETL framework for stream processing, real-time analytics, LLM pipelines and RAG, powered by a Rust engine. Pathway is a Python ETL framework for building pipelines that process both batch and streaming data. The same code can run for local development, CI tests, batch jobs, stream replays and live processing, so developers do not need to maintain separate batch and streaming versions of a pipeline.
- Is pathway free to use? What license does it have?
- pathway is open source under the Other license. Check the license terms before using it in commercial products.
- Is pathway still maintained?
- Actively maintained. The last commit to pathway was on Oct 20, 2026.
- What can I use pathway for?
- Real-time ETL that moves and transforms data from Kafka or databases. Event-driven pipelines with alerting, such as log monitoring. Live RAG applications that keep a vector index updated as documents change. Switching an existing batch data job to streaming without rewriting it.
- How do I install pathway?
- Install Pathway from PyPI with pip: pip install -U pathway Save the example code as main.py and run it with the Pathway runner: pathway spawn python main.py
- Where can I get pathway?
- The source code and installation instructions are on GitHub: https://github.com/pathwaycom/pathway
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Python system for running LLM-powered map-reduce and ETL pipelines over large structured and unstructured data, described in natural language.
A no-code RAG server that indexes a folder of documents into one of 8 vector databases and keeps answers in sync as files change.
An extremely fast Python linter and code formatter written in Rust, with over 900 lint rules and Black-compatible formatting.
A Python 3 interpreter written in Rust, able to run Python code without CPython bindings, with WebAssembly and embedding support.
A retro game engine for Python that lets you make pixel-art games with a fixed palette and low-resolution screen.