Skip to main content

Composable and blazing fast rolling-quantile filters for streaming data and bulk batches.

Project description

Rolling Quantiles for NumPy

Hyper-efficient and composable filters.

  • Simple, clean, intuitive interface.
  • Supports streaming data or bulk processing.
  • Python 3 bindings for a compact library written in pure C.

A Quick Tour

import numpy as np
import rolling_quantiles as rq

pipe = rq.Pipeline( # rq.Pipeline is the only stateful object
  # declare a cascade of filters by a sequence of immutable description objects
  rq.LowPass(window=200, portion=100, subsample_rate=2),
    # the above takes a median (100 out of 200) of the most recent 200 points
    # and then spits out every other one
  rq.HighPass(window=10, portion=3,  subsample_rate=1))
    # that subsampled rolling median is then fed into this filter that takes a
    # 30% quantile on a window of size 10, and subtracts it from its raw input

# the pipeline exposes a set of read-only attributes that describe it
pipe.lag # = 60.0, the effective number of time units that the real-time output
         #   is delayed from the input
pipe.stride # = 2, how many inputs it takes to produce an output
            #  (>1 due to subsampling)


input = np.random.randn(1000)
output = pipe.feed(input) # the core, singular exposed method

# every other output will be a NaN to demarcate unready values
subsampled_output = output[1::pipe.stride]

See the Github repository for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

rolling_quantiles-1.1.0-cp39-cp39-win_amd64.whl (17.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

rolling_quantiles-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (52.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.5+ x86-64

rolling_quantiles-1.1.0-cp39-cp39-macosx_10_15_x86_64.whl (17.2 kB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

rolling_quantiles-1.1.0-cp38-cp38-win_amd64.whl (17.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

rolling_quantiles-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (52.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.5+ x86-64

rolling_quantiles-1.1.0-cp38-cp38-macosx_10_15_x86_64.whl (17.2 kB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

File details

Details for the file rolling_quantiles-1.1.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for rolling_quantiles-1.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d26175b1aa25aeeca552229358be29d7346954a02da7ceacd434c188c6622dcb
MD5 2722b0410d8759aec874340cdb9644f5
BLAKE2b-256 fd41b4087abc6b138f16a44ea84e16cd851a1bcb35c8656e11f19d213a5b2b0c

See more details on using hashes here.

File details

Details for the file rolling_quantiles-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for rolling_quantiles-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9d369bc6a65b133b22afe82125a8fabdf4d9dc5d07a39ebd16ccbb853ef5a888
MD5 6f3149261bcafc90a5b1752d52a038ef
BLAKE2b-256 911b2893aa67f37551e8d6071fa6f9df0da0c4e8ed6ffe4014399e019832686c

See more details on using hashes here.

File details

Details for the file rolling_quantiles-1.1.0-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rolling_quantiles-1.1.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 d5db3b233a4f78f3d2af3496f8952a23ea260f2db227511359991a8137d680df
MD5 cbaa4a51a97bcf2865dde06090b25e1c
BLAKE2b-256 ee1d4402a80d71f7a27f595af36347257b4507f1bb679677015c049cbeccbd4c

See more details on using hashes here.

File details

Details for the file rolling_quantiles-1.1.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for rolling_quantiles-1.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c2e85476a8c65e20def7d0c0ce849046caa942e110b42b98033937ac4b0b2b25
MD5 e72006b541aa532c25be0744e05c44c9
BLAKE2b-256 f7d03e3148768e578b3da345900c4ec1eb259c97bcc87086ab1710fe3b08d264

See more details on using hashes here.

File details

Details for the file rolling_quantiles-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for rolling_quantiles-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 cc6e702be058660644d41f6dc74a3973389fab85571eda3f143a667f1d243385
MD5 b4193eb0e2dbc773b95967738a453fa0
BLAKE2b-256 b125179c427734a2fded73aca55eaf6bbc4b7e0786ca59c8d6a7d34d54ae11ae

See more details on using hashes here.

File details

Details for the file rolling_quantiles-1.1.0-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rolling_quantiles-1.1.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 dbd1cb4d16ec2dae7bf2856c8b598d890e649ea00013602d9bc3a38cd1b63328
MD5 859e89478b38e4ce7ce0420f8cd10d05
BLAKE2b-256 3449bde675f398833ba5655ccbdca9a5e338067cf3e53dd3a48809d70148df00

See more details on using hashes here.

Supported by

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