<commit_before># Pika, an AMQP 0-9-1 client library for Python

## Introduction

Pika is a pure-Python implementation of the AMQP 0-9-1 protocol that tries
to stay fairly independent of the underlying network support library.

 * Since threads aren't appropriate to every situation, it doesn't
   require threads. It takes care not to forbid them, either. The same
   goes for greenlets, callbacks, continuations and generators.

 * People may be using direct sockets, `asyncore`, Twisted, plain old
   `select()`, or any of the wide variety of ways of getting network
   events to and from a python application. Pika tries to stay
   compatible with all of these, and to make adapting it to a new
   environment as simple as possible.

## Documenation

Pika's documentation is now at http://tonyg.github.com/pika

## Pika provides the following adapters

 * SelectConnection   - fast asynchronous adapter
 * AsyncoreConnection - based off the standard Python library asyncore
 * TornadoConnection  - adapter for use with the Tornado IO Loop http://tornadoweb.org
 * BlockingConnection - enables blocking, synchronous operation on top of library for simple uses

Support for Twisted and other IO frameworks are on the horizon.

Major Changes since 0.5.2:

 * Pika has been restructured and made to be fully asynchronous at its core and now supports AMQP 0-9-1 only (RabbitMQ 2.0+)
 * There are many method definition changes, class name changes and module changes
 * Asynchronous AMQP commands now take a callback parameter for notification of completion
 * AMQP commands that are specified as synchronous buffer other calls on the same channel, sending them when the synchronous commands send their response frame
 * SelectConnection is now the recommended connection adapter and shows better performance than the AsyncoreConnection. SelectConnection implements select, poll, epoll and kqueue for event handling
 * TornadoConnection adds a connection adapter for the Tornado IOLoop
 * Client channel flow control has been removed
 * Support for additional AMQP data types have been added
 * More extensive unit and functional tests added
 * Extensive use of logging at the DEBUG level allows for tracing of all internal activity in Pika and all frames sent to and from RabbitMQ
 * Emphasis on code readability and well commented code through-out<commit_msg>make the sentence a little clearer<commit_after># Pika, an AMQP 0-9-1 client library for Python

## Introduction

Pika is a pure-Python implementation of the AMQP 0-9-1 protocol that tries
to stay fairly independent of the underlying network support library.

 * Since threads aren't appropriate to every situation, it doesn't
   require threads. It takes care not to forbid them, either. The same
   goes for greenlets, callbacks, continuations and generators.

 * People may be using direct sockets, `asyncore`, Twisted, plain old
   `select()`, or any of the wide variety of ways of getting network
   events to and from a python application. Pika tries to stay
   compatible with all of these, and to make adapting it to a new
   environment as simple as possible.

## Documenation

Pika's documentation is now at http://tonyg.github.com/pika

## Pika provides the following adapters

 * SelectConnection   - fast asynchronous adapter
 * AsyncoreConnection - based off the standard Python library asyncore
 * TornadoConnection  - adapter for use with the Tornado IO Loop http://tornadoweb.org
 * BlockingConnection - enables blocking, synchronous operation on top of library for simple uses

Support for Twisted and other IO frameworks are on the horizon.

Major Changes since 0.5.2:

 * Pika has been restructured and made to be fully asynchronous at its core and now supports AMQP 0-9-1 only (RabbitMQ 2.0+)
 * There are many method definition changes, class name changes and module changes
 * Asynchronous AMQP commands now take a callback parameter for notification of completion
 * AMQP commands that are specified as synchronous now buffer other calls on the same channel, sending them when the synchronous commands send their response frame
 * SelectConnection is now the recommended connection adapter and shows better performance than the AsyncoreConnection. SelectConnection implements select, poll, epoll and kqueue for event handling
 * TornadoConnection adds a connection adapter for the Tornado IOLoop
 * Client channel flow control has been removed
 * Support for additional AMQP data types have been added
 * More extensive unit and functional tests added
 * Extensive use of logging at the DEBUG level allows for tracing of all internal activity in Pika and all frames sent to and from RabbitMQ
 * Emphasis on code readability and well commented code through-out
{'fraction_non_alphanumeric': 0.037122969837587005, 'fraction_numerical': 0.005905927019616114, 'mean_word_length': 4.419428571428571, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7068948', 'n_tokens_mistral': 1162, 'n_tokens_neox': 1086, 'n_words': 667}