Skip to main content

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

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

oups-2025.11.1.tar.gz (110.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oups-2025.11.1-py3-none-any.whl (131.9 kB view details)

Uploaded Python 3

File details

Details for the file oups-2025.11.1.tar.gz.

File metadata

  • Download URL: oups-2025.11.1.tar.gz
  • Upload date:
  • Size: 110.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for oups-2025.11.1.tar.gz
Algorithm Hash digest
SHA256 041f89f61918191e19e1fe8b376a1ef5d78f71a7c0e137f978b47282be7cc402
MD5 7d388bf827cd7415342f3db226cc95c2
BLAKE2b-256 d4ecb928a8fa172e64c6d8080fe6949dc26c2f53c77a09b0d8be0c394999d7ca

See more details on using hashes here.

File details

Details for the file oups-2025.11.1-py3-none-any.whl.

File metadata

  • Download URL: oups-2025.11.1-py3-none-any.whl
  • Upload date:
  • Size: 131.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for oups-2025.11.1-py3-none-any.whl
Algorithm Hash digest
SHA256 88182070c86cb0943ea3e85477bbd4ddc329c1557c293ce9aaa44364502e6cc7
MD5 6707128fae2691be898b823b13b29a7e
BLAKE2b-256 3f7bff1d7d969a43490d4a230ad228f91d0add0cbe0ba32be3f4437ec276b8bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page