Skip to main content

AMQP implementation using anyio

Project description

Join chatroom Documentation Status Automated test status Test coverage

async_amqp

The async_amqp library is a pure-Python implementation of the AMQP 0.9.1 protocol.

Built on top of anyio, it provides an API based on coroutines, making it easy to write highly concurrent applications.

Bug reports, patches and suggestions welcome! Just open an issue or send a pull request.

Status

The code works. Porting code that uses aioamqp (or even plain python-amqp) should be reasonably straightforward.

All tests from aioamqp have been ported and succeed.

async_amqp was renamed from asyncamqp, but that was taken on pypi. asyncamqp was renamed from trio_amqp but anyio support was deemed to be a good idea. trio_amqp in turn was forked from aioamqp.

tests

To run the tests, you’ll need to install the Python test dependencies:

pip install -r ci/requirements_dev.txt

Tests require an instance of RabbitMQ. You can start a new instance using docker:

docker run -d --log-driver=syslog -e RABBITMQ_NODENAME=my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management

RabbitMQ requires a “guest” user (password “guest”) with admin privileges.

You can run the tests with make test (requires pytest).

tests using docker-compose

Start RabbitMQ using docker-compose up -d rabbitmq. When RabbitMQ has started, start the tests using docker-compose up --build aioamqp-test

Future work

  • Add coverage reporting. Increase coverage (duh).

  • Try restarting a failed AMQP connection instead of cancelling everything.

Project details


Download files

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

Source Distribution

async_amqp-0.5.3.tar.gz (54.6 kB view details)

Uploaded Source

Built Distribution

async_amqp-0.5.3-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file async_amqp-0.5.3.tar.gz.

File metadata

  • Download URL: async_amqp-0.5.3.tar.gz
  • Upload date:
  • Size: 54.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.8.2 requests/2.25.1 setuptools/65.5.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.10.9

File hashes

Hashes for async_amqp-0.5.3.tar.gz
Algorithm Hash digest
SHA256 820f7cbe1d2e1eea91058c88f3dca3fe5e4f5d4c399f82e33a571a2e7de32d80
MD5 964a5594e4a0fc9bb904d13464a1c21c
BLAKE2b-256 96fb9ef000d743afeb0cbf312d234b773b2b9de48b0729497ed7e11d8ac8401c

See more details on using hashes here.

Provenance

File details

Details for the file async_amqp-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: async_amqp-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.8.2 requests/2.25.1 setuptools/65.5.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.10.9

File hashes

Hashes for async_amqp-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ee7319af81f2480d7e67e02fbdef9aceaccfa1d789b5441c6e362f947ad2fec6
MD5 0017c4950d39c8bd250e5d48fbb3f4d5
BLAKE2b-256 bd176e8ef77684a6e14f86194fa3ee294e59f613214db06253e9f83839e5bbf0

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page