async-amqp


Nameasync-amqp JSON
Version 0.5.5 PyPI version JSON
download
home_pagehttps://github.com/python-trio/async_amqp
SummaryAMQP implementation using anyio
upload_time2023-12-21 14:19:44
maintainer
docs_urlNone
authorMatthias Urlichs
requires_python
licenseBSD
keywords asyncio amqp rabbitmq aio trio
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            .. image:: https://img.shields.io/badge/chat-join%20now-blue.svg
   :target: https://gitter.im/python-trio/general
   :alt: Join chatroom

.. image:: https://img.shields.io/badge/docs-read%20now-blue.svg
   :target: https://async_amqp.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status

.. image:: https://travis-ci.org/python-trio/async_amqp.svg?branch=master
   :target: https://travis-ci.org/python-trio/async_amqp
   :alt: Automated test status

.. image:: https://codecov.io/gh/python-trio/async_amqp/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/python-trio/async_amqp
   :alt: 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.

.. _AMQP 0.9.1 protocol: https://www.rabbitmq.com/amqp-0-9-1-quickref.html
.. _Trio: https://github.com/python-trio/trio
.. _anyio: https://github.com/agronholm/anyio
.. _issue: https://github.com/python-trio/async_amqp/issues/new
.. _pull request: https://github.com/python-trio/async_amqp/compare/

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/python-trio/async_amqp",
    "name": "async-amqp",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "asyncio,amqp,rabbitmq,aio,trio",
    "author": "Matthias Urlichs",
    "author_email": "matthias@urlichs.de",
    "download_url": "https://files.pythonhosted.org/packages/74/40/ee5526ac7ddd879f2d85850342e8e3b3cb32b4310460e4338b8f5e700823/async_amqp-0.5.5.tar.gz",
    "platform": "all",
    "description": ".. image:: https://img.shields.io/badge/chat-join%20now-blue.svg\n   :target: https://gitter.im/python-trio/general\n   :alt: Join chatroom\n\n.. image:: https://img.shields.io/badge/docs-read%20now-blue.svg\n   :target: https://async_amqp.readthedocs.io/en/latest/?badge=latest\n   :alt: Documentation Status\n\n.. image:: https://travis-ci.org/python-trio/async_amqp.svg?branch=master\n   :target: https://travis-ci.org/python-trio/async_amqp\n   :alt: Automated test status\n\n.. image:: https://codecov.io/gh/python-trio/async_amqp/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/python-trio/async_amqp\n   :alt: Test coverage\n\nasync_amqp\n==========\n\nThe ``async_amqp`` library is a pure-Python implementation of the `AMQP 0.9.1 protocol`_.\n\nBuilt on top of anyio_, it provides an API based on coroutines, making it easy to write highly concurrent applications.\n\nBug reports, patches and suggestions welcome! Just open an issue_ or send a `pull request`_.\n\nStatus\n------\n\nThe code works. Porting code that uses aioamqp (or even plain\npython-amqp) should be reasonably straightforward.\n\nAll tests from aioamqp have been ported and succeed.\n\n`async_amqp` was renamed from `asyncamqp`, but that was taken on pypi. `asyncamqp`\nwas renamed from `trio_amqp` but anyio support was deemed to be a good\nidea. `trio_amqp` in turn was forked from `aioamqp`.\n\n\ntests\n-----\n\nTo run the tests, you'll need to install the Python test dependencies::\n\n    pip install -r ci/requirements_dev.txt\n\nTests require an instance of RabbitMQ. You can start a new instance using docker::\n\n     docker run -d --log-driver=syslog -e RABBITMQ_NODENAME=my-rabbit --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management\n\nRabbitMQ requires a \"guest\" user (password \"guest\") with admin privileges.\n\nYou can run the tests with ``make test`` (requires ``pytest``).\n\n\ntests using docker-compose\n^^^^^^^^^^^^^^^^^^^^^^^^^^\nStart RabbitMQ using ``docker-compose up -d rabbitmq``. When RabbitMQ has started, start the tests using ``docker-compose up --build aioamqp-test``\n\n\nFuture work\n-----------\n\n* Add coverage reporting. Increase coverage (duh).\n\n* Try restarting a failed AMQP connection instead of cancelling everything.\n\n.. _AMQP 0.9.1 protocol: https://www.rabbitmq.com/amqp-0-9-1-quickref.html\n.. _Trio: https://github.com/python-trio/trio\n.. _anyio: https://github.com/agronholm/anyio\n.. _issue: https://github.com/python-trio/async_amqp/issues/new\n.. _pull request: https://github.com/python-trio/async_amqp/compare/\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "AMQP implementation using anyio",
    "version": "0.5.5",
    "project_urls": {
        "Homepage": "https://github.com/python-trio/async_amqp"
    },
    "split_keywords": [
        "asyncio",
        "amqp",
        "rabbitmq",
        "aio",
        "trio"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "233781c27a4b73dc2808fad2839573506a74bd23b687adbd1d3965fc0a841734",
                "md5": "2824c3a530e3ee6e592f5f75e96d0ba0",
                "sha256": "19cb55f27cd2104b343563f697c5a2e5ff56f9d4a4f6ad7a9a5151426b526126"
            },
            "downloads": -1,
            "filename": "async_amqp-0.5.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2824c3a530e3ee6e592f5f75e96d0ba0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 21248,
            "upload_time": "2023-12-21T14:19:43",
            "upload_time_iso_8601": "2023-12-21T14:19:43.392047Z",
            "url": "https://files.pythonhosted.org/packages/23/37/81c27a4b73dc2808fad2839573506a74bd23b687adbd1d3965fc0a841734/async_amqp-0.5.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7440ee5526ac7ddd879f2d85850342e8e3b3cb32b4310460e4338b8f5e700823",
                "md5": "4cf2ea123a3d12829aed50e55cafab14",
                "sha256": "d47840fcec3b5994fe570151c2bd2096d25714bec99fc949c814a088be6f713d"
            },
            "downloads": -1,
            "filename": "async_amqp-0.5.5.tar.gz",
            "has_sig": false,
            "md5_digest": "4cf2ea123a3d12829aed50e55cafab14",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 54724,
            "upload_time": "2023-12-21T14:19:44",
            "upload_time_iso_8601": "2023-12-21T14:19:44.748683Z",
            "url": "https://files.pythonhosted.org/packages/74/40/ee5526ac7ddd879f2d85850342e8e3b3cb32b4310460e4338b8f5e700823/async_amqp-0.5.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-21 14:19:44",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "python-trio",
    "github_project": "async_amqp",
    "github_not_found": true,
    "lcname": "async-amqp"
}
        
Elapsed time: 0.16128s