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.3.tar.gz (110.2 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.3-py3-none-any.whl (132.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: oups-2025.11.3.tar.gz
  • Upload date:
  • Size: 110.2 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.3.tar.gz
Algorithm Hash digest
SHA256 40bdc26ac3198f3d330f979826259a2d1eef082acf82c3bb5a3a6090a83051b7
MD5 0e937b85bdc2feafafd5c8428957f4fc
BLAKE2b-256 c493a11bee2233cb0800e0d4068b2e6b9c01e4aa9cc0b70791e5aefd12cc9c2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: oups-2025.11.3-py3-none-any.whl
  • Upload date:
  • Size: 132.1 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 37a727456c4704bd80d9012b56536ca6a118ff5be362bb89f479f52a5e8e47b1
MD5 20540fc3baaf71e7f8b35ddb6cf8032e
BLAKE2b-256 7e62bd6d09b9da68151945b2b1da0a556523a46d98238be41aa3cf4dd7d6fbe9

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