Metadata-Version: 2.4
Name: quartzstream
Version: 0.1.0
Summary: Low-latency Arrow-native streaming for Python powered by C++.
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: C++
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: numpy<3,>=2
Requires-Dist: pyarrow<25,>=24
Provides-Extra: dev
Requires-Dist: pytest<10,>=9; extra == "dev"
Requires-Dist: pytest-asyncio<2,>=1.3; extra == "dev"
Provides-Extra: bench
Requires-Dist: pandas<3,>=2.2; extra == "bench"
Requires-Dist: polars<2,>=1.30; extra == "bench"
Requires-Dist: duckdb<2,>=1.2; extra == "bench"

# QuartzStream

QuartzStream is a C++-powered Python streaming package that ingests live events into Arrow-native batches and exposes a fluent Python API for low-latency stream processing.

Current implementation scope:

- UDP and manual in-process event sources
- Bounded ingress queue with backpressure accounting
- C++-side batching, filtering, projection, and tumbling-window mean aggregation
- Native numeric column fast path for filter/window/mean workloads
- Arrow `RecordBatch` output through `pyarrow`
- Native Python async iteration over live batches
- Modular C++ engine split across processing/runtime/bindings translation units
- Cross-engine benchmark script for pandas, polars, and duckdb comparisons

The broader product brief in `context.md` includes additional future capabilities that are not yet implemented in this repository.

See `architecture.md` and `explanation.md` for detailed implementation design and execution semantics.
