Out-of-core pipelines over ordered data: StatefulLoop, stateful ops, and ordered Parquet Store.
Project description
Welcome to oups!
What is oups?
oups stands for Ordered Unified Processing Stack — out-of-core processing for ordered data (batch + live).
oups is a Python toolkit for building end-to-end pipelines over ordered data with the same code in offline training and live streaming/batch contexts.
It centers on StatefulLoop (loop.bind_function_state, loop.iterate, loop.buffer), which binds and persists function/object state, orchestrates chunked iteration, and buffers DataFrames under a memory cap with flush-on-limit or last-iteration semantics.
Complementing the loop, stateful_ops provides vectorized, chunk-friendly primitives like AsofMerger for multi-DataFrame as-of joins (with optional windows of previous values) and SegmentedAggregator (planned) for streamed segmentation and aggregation.
The store package manages ordered Parquet datasets via schema-driven keys (@toplevel), supports incremental updates (store[key].write(...)) and duplicate handling, and offers synchronized iteration across datasets via store.iter_intersections(...) with optional warm-up (n_prev).
Together these pieces enable out-of-core processing with resumability, and deterministic buffering. The design favors explicit, minimal APIs and reproducible results, aligning offline feature generation with online serving.
Links
- 📖 Documentation - Guides and API reference
- 📋 Changelog - Release notes and version history
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oups-2025.12.1.tar.gz.
File metadata
- Download URL: oups-2025.12.1.tar.gz
- Upload date:
- Size: 110.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8fdae41d617e25f0070a8f25712627df2864e94c3d10fa05d97fa549dabbabe7
|
|
| MD5 |
52b3d8b1d378817868421e2e580439c0
|
|
| BLAKE2b-256 |
48941a75d2262f4b8c3653fc7974a3b2f763f218416671a81d99b7a2023af4b9
|
File details
Details for the file oups-2025.12.1-py3-none-any.whl.
File metadata
- Download URL: oups-2025.12.1-py3-none-any.whl
- Upload date:
- Size: 132.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a674067f71cb2d2147c6e8d895dea22ebc8d0f5b157f2ec768bcfa44eb4063ff
|
|
| MD5 |
1c8154bf4996bba3c8de52cc4b7894b1
|
|
| BLAKE2b-256 |
26213a6ed5bbc7cf0dabd91e8c2ed0d7e1d8010aa96d18650e725548104bd1b6
|