Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Lightweight queue interfaces with Redis super powers for distributed and non-distributed systems

Project Description

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

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.
Release History

Release History

This version
History Node

1.0.2

History Node

1.0.1

History Node

1.0.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pimpamqueues-1.0.2.tar.gz (6.7 kB) Copy SHA256 Checksum SHA256 Source Jun 17, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting