Quix Streams Release 3.15.0
QuixStreams 3.15.0 just shipped! This huge release features our new join_asof() method. Now, you can join StreamingDataFrames!

QuixStreams 3.15.0: Time-Aware Joins for Industrial Data at Scale
We're super excited to announce the release of QuixStreams 3.15.0, introducing powerful new features designed for resilient industrial data processing at scale. This release focuses on making your data pipelines more robust and maintainable, even with the most demanding workloads.
New Feature: Time-Aware Joins with `join_asof()`
The highlight of this release is the new `StreamingDataFrame.join_asof()` method, engineered for industrial data enrichment scenarios when you need to associate an event with the most recent related event from another stream, as of the event's timestamp.
Ideal for industrial use cases:
- Correlating sensor readings with equipment maintenance events
- Joining production data with quality control metrics
- Reprocessing of the historical data with different configs
Here's a quick example of how it works:
from datetime import timedelta
from quixstreams import Application
app = Application(...)
sdf_measurements = app.dataframe(app.topic("measurements"))
sdf_metadata = app.dataframe(app.topic("metadata"))
sdf_joined = sdf_measurements.join_asof(
right=sdf_metadata,
how="inner", # Only emit updates when matches are found
on_merge="keep-left", # Prefer left dataframe columns on conflicts
grace_ms=timedelta(days=14), # Keep state for 14 days in event time
)
For more detailed examples and documentation, check out our Joins documentation.
And for the full release notes and to see all of the contributors, check out the full release notes.
New Tutorial: Industrial Data Enrichment with `join_asof`
To demonstrate these capabilities in a real-world industrial context, we've created a Solar Farm Enrichment tutorial that shows you how to:
- Process high-volume sensor data from solar panels
- Enrich measurements with equipment metadata using time-based joins
- Implement fault-tolerant data processing pipelines
This practical example provides a blueprint for applying `join_asof` to your industrial data challenges, complete with sample datasets and detailed implementation guidance.
Explore the Industrial Data Enrichment tutorial to see these patterns in action.
Industrial Applications of Time-Aware Joins
The new `join_asof` functionality opens up many possibilities across multiple industrial sectors. Here are some real-world applications where this feature can deliver significant value:
Manufacturing & Industry 4.0
- Predictive Maintenance - Correlate equipment sensor data with maintenance logs to identify patterns preceding failures
- Quality Control - Join production line metrics with quality inspection results to detect process deviations
- Asset Tracking - Align RFID or GPS data with production schedules for better asset utilization
Energy & Utilities
- Smart Grid Management - Match power generation data with consumption patterns for optimal grid balancing
- Renewable Energy - Correlate weather station data with solar/wind farm output for accurate forecasting
- Oil & Gas - Align drilling sensor data with maintenance activities to optimize extraction processes
Transportation & Logistics
- Fleet Management - Join vehicle telemetry with maintenance schedules for proactive servicing
- Supply Chain Optimization - Correlate shipment tracking with warehouse processing times
- Rail & Transit - Align train sensor data with track maintenance records
Smart Buildings & Facilities
- HVAC Optimization - Match temperature sensor data with energy consumption patterns
- Equipment Monitoring - Correlate vibration sensors with equipment runtimes for predictive maintenance
- Space Utilization - Join occupancy sensor data with cleaning/maintenance schedules
These patterns demonstrate how time-aware joins can transform raw industrial data into actionable insights, helping organizations improve operational efficiency, reduce downtime, and make data-driven decisions.
Enhanced Reliability for Industrial Workloads
We've strengthened the foundation for mission-critical data processing:
1. Guaranteed Data Durability - Enabled fsync in RocksDB by default to prevent data loss
2. Improved Monitoring - Added detailed RocksDB write metrics for better operational visibility
3. Optimized Performance - Reduced overhead in state management operations
4. Self-Healing Capabilities - Automatic recovery from corrupted state stores
from quixstreams import Application
from quixstreams.state.rocksdb
import RocksDBOptionsapp = Application(..., rocksdb_options=RocksDBOptions(on_corrupted_recreate=True))
Dependencies Update
- Updated types-protobuf to version 6.30.2.20250516
Getting Started
Upgrade to QuixStreams 3.15.0 today to take advantage of these new features:
pip install --upgrade quixstreams
For detailed migration guides and documentation, visit our documentation.
We're excited to see what you'll build with these new capabilities!
If you have any questions or run into any issues, don't hesitate to reach out on our GitHub repository or community Slack.
For the full release notes and to see all of the contributors, check out the full release notes.
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.

Check out the repo
Our Python client library is open source, and brings DataFrames and the Python ecosystem to stream processing.

Interested in Quix Cloud?
Take a look around and explore the features of our platform.

Interested in Quix Cloud?
Take a look around and explore the features of our platform.
