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.12.1.tar.gz (110.3 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.12.1-py3-none-any.whl (132.2 kB view details)

Uploaded Python 3

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

Hashes for oups-2025.12.1.tar.gz
Algorithm Hash digest
SHA256 8fdae41d617e25f0070a8f25712627df2864e94c3d10fa05d97fa549dabbabe7
MD5 52b3d8b1d378817868421e2e580439c0
BLAKE2b-256 48941a75d2262f4b8c3653fc7974a3b2f763f218416671a81d99b7a2023af4b9

See more details on using hashes here.

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

Hashes for oups-2025.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a674067f71cb2d2147c6e8d895dea22ebc8d0f5b157f2ec768bcfa44eb4063ff
MD5 1c8154bf4996bba3c8de52cc4b7894b1
BLAKE2b-256 26213a6ed5bbc7cf0dabd91e8c2ed0d7e1d8010aa96d18650e725548104bd1b6

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