Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

Python port of CoalescingRingBuffer from LMAXCollections

Project Description

Build status

coalringbuf is Python port of CoalescingRingBuffer from LMAXCollections. coalringbuf works with:

  • CPython 2.x >= 2.5, 3.x >= 3.2
  • PyPy 1.9+

Supported platforms: platform independent.

Status

It’s usable and it passes port of original test suite. It’s currently based on LMAXCollections 1.1.0.

Usage

This port mimics original CoalescingRingBuffer API as closely as possible, however it was modified to make it more Pythonic.

Example intepreter session:

>>> from coalringbuf import CoalescingRingBuffer
>>> buffer = CoalescingRingBuffer(3)
>>> buffer.capacity
4
>>> buffer.empty
True
>>> buffer.offer('something')
True
>>> buffer.empty
False
>>> buffer.offer('something else')
True
>>> buffer.offer('quack')
True
>>> buffer.offer('id', 'value')
True
>>> buffer.size
4
>>> buffer.full
True
>>> buffer.offer('id', 'this will overwrite "value"')
True
>>> buffer.size
4
>>> buffer.offer('this will be rejected')
False
>>> buffer.size
4
>>> bucket = []
>>> buffer.poll(bucket)
4
>>> bucket
['something', 'something else', 'quack', 'this will overwrite "value"']
>>> buffer.empty
True

TODO

  • implement performance tests
  • provide more efficient bucket class if needed

Release history Release notifications

This version
History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
coalringbuf-0.1.0.tar.gz (3.6 kB) Copy SHA256 hash SHA256 Source None Jul 24, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page