pimpamqueues 1.0.2

Last updated:

0 purchases

pimpamqueues 1.0.2 Image
pimpamqueues 1.0.2 Images
Add to Cart

Description:

pimpamqueues 1.0.2

PimPamQueues
Lightweight queue interfaces with Redis super powers




Description
PimPamQueues provides easy and lightweight Python interfaces to interact with queues on a distributed system.


Requirements

Python 2.7, 3.4 or 3.5 python.org
A running Redis server, redis.io
Redis Python library, redis-py.readthedocs.org



Features

Supports Python 2.7, 3.4 and 3.5.
Provides super-simple queue interfaces for creating different types of queues.
Designed to be used on distributed systems - also works on non-distributed systems 😎.



Queue Interfaces

SimpleQueue, just a regular queue.
BucketQueue, unordered queue of unique elements with a extremely fast element existence search method.
SmartQueue, queue which stores queued elements aside the queue for not queueing the same incoming elements again.



Installation
PIP
For a pip installation, just pip install pimpamqueues
$ pip install pimpamqueues


Usage

SimpleQueue
>>> from pimpamqueues.simplequeue import SimpleQueue
>>> queue = SimpleQueue(id_args=['simplequeue'])
>>> queue.num()
0
>>> queue.push('egg')
1
>>> queue.push_some(['bacon', 'spam'])
3
>>> queue.num()
3
>>> queue.pop()
b'egg'
>>> queue.is_empty()
False
>>> queue.push('spam', to_first=True)
3
>>> queue.elements()
[b'spam', b'bacon', b'spam']
>>> queue.pop()
b'spam'
>>> queue.elements()
[b'bacon', b'spam']
...


BucketQueue
>>> from pimpamqueues.bucketqueue import BucketQueue
>>> queue = BucketQueue(id_args=['bucketqueue'])
>>> queue.num()
0
>>> queue.push('egg')
'egg'
>>> queue.push_some(['bacon', 'spam'])
[b'bacon', b'spam']
>>> queue.num()
3
>>> queue.pop()
b'spam'
>>> queue.is_empty()
False
>>> queue.push('spam')
'spam'
>>> queue.elements()
{b'bacon', b'egg', b'spam'}
>>> queue.pop()
b'spam'
>>> queue.elements()
{b'bacon', b'egg'}
...


SmartQueue
>>> from pimpamqueues.smartqueue import SmartQueue
>>> queue = SmartQueue(id_args=['smartqueue'])
>>> queue.num()
0
>>> queue.push('egg')
'egg'
>>> queue.push_some(['bacon', 'spam'])
[b'bacon', b'spam']
>>> queue.num()
3
>>> queue.pop()
b'egg'
>>> queue.is_empty()
False
>>> queue.push('spam', to_first=True)
''
>>> queue.elements()
[b'bacon', b'spam']
>>> queue.pop()
b'bacon'
>>> queue.elements()
[b'spam']
>>> queue.push('spam', force=True)
'spam'
>>> queue.push_some(['spam', 'spam'], force=True)
[b'spam', b'spam']
>>> queue.elements()
[b'spam', b'spam', b'spam', b'spam']
...




History

1.0.1 (2015-01-28)

Python required packages are included to resolve installation dependencies.



1.0.0 (2015-01-27)

Hello PimPamQueues.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.