This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Pikacon is a helper library which will reduce the amount of boilerplate your software needs when it is using pika for creating connection to broker and declaring exchanges and queues. With pikacon you get your queues up and running easily without compromises.

Requirements

  • python 2.7
  • pika >= 0.9.8

Usage

Pikacon provides helper class which can be imported to your program. Class takes a path to .ini-style config file as a parameter and creates connection, exchanges, queues and bindings automatically from there. All you need to provide is a proper config.

Creation order is following:

  1. Connection
  2. Channel
  3. Exchanges
  4. Queues
  5. Bindings

Config

Pikacon uses Pythons ConfigParser to get config for connection, exchanges and queues.

Broker

Broker is configured as in below example. Section name is broker and options are regular pika parameters for broker. If you want to configure ssl_options create new section for those and refer that section name in broker options. Eg.:

[broker]
...
ssl = True
ssl_options = my_ssl_options

[my_ssl_options]
...

Exchange

Section name for exchange consists of two parts divided by ‘:’. First part is ‘exchange’ and second part is the name of the exchange. Eg.:

[exchange:myexchange]
...

The actual options below exchange section are normal key = value parameters which are used in pika.

Queue

The section for queue consits of two parts divided by ‘:’. First part is ‘queue’ and second part is the name of the queue. Eg.:

[queue:myqueue]
...

The options below queue section are:

durable = True|False
exclusive = True|False
arguments = queue:queuename:arguments

Extra arguments for the queue are provided by another section. Pikacon assumes that the name of the arguments section follows following convention ‘queue:queuename:nameofargumentssection’.

The actual options below queue section are normal key = value parameters which are used in pika.

Binding

The name of the binding section consists three parts divided by ‘:’. First part is always ‘binding’. Second part is the name of the queue we’re binding. Third part is name of the exchange where we’re binding the queue. Eg.:

[binding:myqueue:myexchange]
...

The actual options below binding section are normal key = value parameters which are used in pika.

Complete configuration example

[broker]
host = localhost
port = 5672
username = guest
password = guest
virtual_host = /
heartbeat = 60

[exchange:exchangename]
type = direct
durable = False
auto_delete = True

[queue:testqueue1]
durable = True
exclusive = False

[queue:testqueue2]
durable = False
exclusive = False

[queue:testqueue3]
durable = True
exclusive = False
arguments = queue:testqueue3:arguments

[queue:testqueue4]
durable = True
exclusive = False

[queue:testqueue3:arguments]
x-message-ttl = 1800000
x-dead-letter-exchange = exchangename
x-dead-letter-routing-key = key4

[binding:testqueue1:exchangename]
routing_key = key1

[binding:testqueue2:exchangename]
routing_key = key2

[binding:testqueue3:exchangename]
routing_key = key3

[binding:testqueue4:exchangename]
routing_key = key4

Above example configures connection to broker at localhost. It defines one direct exchange called exchangename and four queues called testqueue1, testqueue2, testqueue3 and testqueue4. Testqueue3 has extra arguments which define dead letter exchange. All queues are bound to our only exchange with routingkeys key1, key2, key3 and key4.

CHANGELOG

0.3.1 - 2012-12-02

  • Fixed setup.py and README.rst.

0.3 - 2012-12-02

  • Requires Pika >= 0.9.8
  • Supports same parameter set for connections as pika does.
  • Shortened configuration file structure. Configuration files made for older versions of pikacon doesn’t work anymore.
Release History

Release History

0.3.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pikacon-0.3.1.zip (12.3 kB) Copy SHA256 Checksum SHA256 Source Dec 2, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development 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