Python ETL framework for stream processing, real-time analytics, LLM pipelines and RAG, powered by a Rust engine.
timeplus-io/proton
A single-binary streaming SQL engine built on ClickHouse for stream processing, real-time analytics and pipelines over Kafka and other sources.
Open-source alternative to:Apache Flink
ksqlDB
- Stars
- 2,281
- Forks
- 112
- Open issues
- 75
- Last commit
- 9 days ago
What is it?
Timeplus Proton is a streaming SQL engine distributed as a single C++ binary with no JVM or ZooKeeper dependency. It extends ClickHouse's storage and query functionality with continuous stream processing, so you can write SQL over live data and persist results as queryable materialized views.
The engine supports external streams for Kafka, Redpanda and Confluent Cloud, external tables for ClickHouse, and sources and sinks for systems such as MySQL, Postgres, MongoDB and S3/Iceberg. It provides tumble, hop and session windows, multi-stream joins, incremental materialized views, CDC handling and UDFs in Python or JavaScript.
It can be installed with a shell script, Homebrew or Docker, and is accessed through a SQL client, with Python, Java and Go drivers available. The open-source edition covers single-node deployment; clustering, Kubernetes deployment and additional connectors are part of the commercial Timeplus Enterprise product.
Key features
- 01Streaming SQL with tumble, hop and session windows over live data.
- 02External streams for Kafka, Redpanda and Confluent Cloud, plus external tables for ClickHouse.
- 03Incremental materialized views that persist queryable results inside the engine.
- 04Runs as a single binary with no JVM or ZooKeeper dependency.
- 05Supports UDFs written in Python or JavaScript.
Use cases
- Streaming ETL that filters, enriches or masks Kafka data before loading it into ClickHouse.
- Real-time telemetry pipelines that route logs and metrics with alerting.
- Computing streaming features for AI/ML pipelines with windowed aggregations.
Quick start
- 1
Run the official install script from the README (Mac/Linux)
- 2
Or install with Homebrew on Mac
brew install timeplus-io/timeplus/proton - 3
Start the server
proton server - 4
In another terminal, open the SQL client
proton client
Things to know
- The single-binary deployment is documented for Mac and Linux only.
- Community support is available only through GitHub and Slack; enterprise features like CSV upload, NATS and Kubernetes hosting are in Timeplus Enterprise instead.
In collections
Topics
FAQ
- What is proton?
- A single-binary streaming SQL engine built on ClickHouse for stream processing, real-time analytics and pipelines over Kafka and other sources. Timeplus Proton is a streaming SQL engine distributed as a single C++ binary with no JVM or ZooKeeper dependency. It extends ClickHouse's storage and query functionality with continuous stream processing, so you can write SQL over live data and persist results as queryable materialized views.
- Is proton free to use? What license does it have?
- proton is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is proton still maintained?
- Actively maintained. The last commit to proton was on Oct 30, 2026.
- What can I use proton for?
- Streaming ETL that filters, enriches or masks Kafka data before loading it into ClickHouse. Real-time telemetry pipelines that route logs and metrics with alerting. Computing streaming features for AI/ML pipelines with windowed aggregations.
- How do I install proton?
- Run the official install script from the README (Mac/Linux) Or install with Homebrew on Mac: brew install timeplus-io/timeplus/proton Start the server: proton server In another terminal, open the SQL client: proton client
- Where can I get proton?
- The source code and installation instructions are on GitHub: https://github.com/timeplus-io/proton
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Rust stream processing engine that runs SQL, Python UDFs and ML/LLM steps over real-time data from Kafka, MQTT, NATS and other sources.
A distributed stream processing engine written in Rust that runs stateful SQL pipelines over real-time data streams.
A Go stream processor that connects message brokers, cloud services and databases, with a mapping language for transforming payloads in between.
Open-source ETL tool moving data between 30+ RDBMS and NoSQL sources via JSON job configs, a maintained successor to Alibaba's DataX.
A high-performance observability data pipeline in Rust that collects, transforms, and routes logs and metrics to any destination.