Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install coalringbuf

How to install coalringbuf

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install coalringbuf
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
0.1.0 Available View build log
Linux (64-bit)
0.1.0 Available View build log
0.1.0 Available View build log
 
Author
License
MIT
Dependencies
Imports
Lastest release
version 0.1.0 on Jul 29th, 2013
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:

System Message: ERROR/3 (<string>, line 27)

Unknown directive type "code-block".

.. code-block:: python

    >>> 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

Subscribe to package updates

Last updated Jul 29th, 2013

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.