Skip to main content

Ring buffer implementation for numpy

Project description

Build Status codecov

Ring (aka circular) buffers backed by a numpy array, supporting:

  • Operations from collections.deque

  • b.append(val)

  • b.appendleft(val)

  • b.extend(val)

  • b.extendleft(val)

  • b.pop(val)

  • b.popleft(val)

  • The collections.Sequence protocol (unoptimized)

  • C-side unwrapping into an array with np.array(b)

  • Arbitrary element dtypes, including extra dimensions like RingBuffer(N, dtype=(int, 3))

For example:

import numpy as np
from numpy_ringbuffer import RingBuffer

r = RingBuffer(capacity=4, dtype=np.bool)
r.append(True)
r.appendleft(False)
print(np.array(r))  # array([False, True])

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

numpy_ringbuffer-0.2.0.zip (5.3 kB view details)

Uploaded Source

File details

Details for the file numpy_ringbuffer-0.2.0.zip.

File metadata

File hashes

Hashes for numpy_ringbuffer-0.2.0.zip
Algorithm Hash digest
SHA256 bffe94d6b6edd9e1e0538c8fc8b8bdf4379969e7372002b6eb3987741722fbff
MD5 fcca545ff7939b7932b1c8b7654089bf
BLAKE2b-256 7d82eaf542a9d28624a240d5418efed28f1fe352d59205986c0a53fb5abeaf0a

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