Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Updating readme and init in preperation for 0.3.0 release
  • Loading branch information
awestendorf committed Jun 21, 2011
1 parent 9034e36 commit c5ec6a6
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 6 deletions.
34 changes: 29 additions & 5 deletions README.rst
Expand Up @@ -2,7 +2,7 @@
Haigha - AMQP libevent Python client
=====================================

:Version: 0.2.3
:Version: 0.3.0
:Download: http://pypi.python.org/pypi/haigha
:Source: https://github.com/agoragames/haigha
:Keywords: python, amqp, rabbitmq, event, libevent
Expand All @@ -15,13 +15,12 @@
Overview
========

Haigha provides a simple to use client library for interacting with AMQP brokers. It currently supports the 0.9.1 protocol and is integration tested against the latest RabbitMQ 2.4.1. Haigha is a descendant of ``py-amqplib`` and owes much to its developers.
Haigha provides a simple to use client library for interacting with AMQP brokers. It currently supports the 0.9.1 protocol and is integration tested against the latest RabbitMQ 2.4.1 (see `errata <http://dev.rabbitmq.com/wiki/Amqp091Errata>`_). Haigha is a descendant of ``py-amqplib`` and owes much to its developers.

The goals of haigha are performance, simplicity, and adherence to the form and function of the AMQP protocol. It adds a few useful features, such as the ``ChannelPool`` class and ``Channel.publish_synchronous``, to ease use of powerful features in real-world applications.

By default, Haigha operates in a completely asynchronous mode, relying on callbacks to notify application code of responses from the broker. Where applicable, ``nowait`` defaults to ``True``. The application code is welcome to call a series of methods, and Haigha will manage the stack and synchronous handshakes in the event loop.

This is a preview release, lacking full unit test coverage and documentation, and possibly including some errata. It is in production use however, and processes dozen of GBs per day of traffic.

Example
=======
Expand Down Expand Up @@ -56,15 +55,40 @@ See the ``scripts`` directory for several examples, in particular the ``stress_t
Future
======

Planned updates include substantially more documentation, and full unit test coverage. Please report bugs to https://github.com/agoragames/haigha.
The 0.3.0 series will focus on the following areas:

* Full unit test coverage
* Implementation of error response codes according to spec
* Add callback chains where they're missing
* Documentation, including doctstrings, API docs, and tutorials
* Bug fixes

By the 0.4.0 series the library should be feature-complete and well documented. We'll then switch our focus to libevent itself, with the goal of supporting `gevent <http://www.gevent.org/>`_, `libev <http://software.schmorp.de/pkg/libev.html>`_ and `pypy <http://pypy.org/>`_.

Haigha has been tested exclusively with Python 2.6 and 2.7, but we intend for it to work with the 3.x series as well. Please `report <http://pypi.python.org/pypi/haigha>`_ any issues you may have.

Installation
============

To install using ``pip``,::
Haigha is available on `pypi <http://pypi.python.org/pypi/haigha>`_ and can be installed using ``pip`` ::

pip install haigha

If installing from source, dependencies can be satisfied from the ``requirements.txt`` file ::

pip install -r requirements.txt


Testing
=======

Unit tests can be run with either the included script, or with `nose <http://pypi.python.org/pypi/nose>`_ ::

./haigha$ scripts/test
./haigha$ nosetests

There are two other testing scripts of note. ``rabbit_table_test`` is a simple integration test that confirms compliance with RabbitMQ `errata <http://dev.rabbitmq.com/wiki/Amqp091Errata>`_. The ``stress_test`` script is a valuable tool that offers load-testing capability similar to `Apache Bench <http://httpd.apache.org/docs/2.0/programs/ab.html>`_ or `Siege <http://www.joedog.org/index/siege-home>`_. It is used both to confirm the robustness of haigha, as well as benchmark hardware or a broker configuration.

Bug tracker
===========

Expand Down
2 changes: 1 addition & 1 deletion haigha/__init__.py
Expand Up @@ -4,4 +4,4 @@
https://github.com/agoragames/haigha/blob/master/LICENSE.txt
'''

VERSION = "0.2.3"
VERSION = "0.3.0"

0 comments on commit c5ec6a6

Please sign in to comment.