Skip to main content

AMQP 1.0 Client Library for Python

Project description

uAMQP for Python

An AMQP 1.0 client library for Python.

Installation

Wheels are provided for most major operating systems, so you can install directly with pip:

$ pip install uamqp

Note that if you’re running Linux, you will need to install the CA Certificate bundle as well:

$ apt-get install ca-certificates

If you are running a Linux distro that does not support ManyLinux1, you can install from source:

$ apt-get update
$ apt-get install -y build-essential libssl-dev uuid-dev cmake libcurl4-openssl-dev pkg-config python3-dev python3-pip
$ pip3 install uamqp --no-binary

Python 2.7 support

Coming soon…

Developer Setup

In order to run the code directly, the Cython extension will need to be build first.

Pre-requisites

  • Windows: Setup a build environment.

  • Linux: Install dependencies as descriped above in the installation instructions.

  • MacOS: Install cmake using Homebrew:

$ brew install cmake

Building the extension

This project has two C library dependencies. They are vendored in this repository in these versions:

To build, start by creating a virtual environment and installing the required Python packages:

$ python -m venv env
$ env/Scripts/activate
(env)$ pip install -r dev_requirements.txt

Next, run the build command:

$ python setup.py built_ext --inplace

Tests

The tests can be run from within the virtual environment. The extension must be built first using the instructions above.

(env)$ pytest

Provide Feedback

If you encounter any bugs or have suggestions, please file an issue in the Issues section of the project.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Release History

0.1.0b4 (2018-04-19)

  • Fixed memory leak in async receive.

  • Removed close_on_done argument from client receive functions.

  • Added receive iterator to synchronous client.

  • Made async iter receive compatible with Python 3.5.

0.1.0b3 (2018-04-14)

  • Fixed SSL errors in manylinux wheels.

  • Fixed message annoations attribute.

  • Fixed bugs in batched messages and sending batched messages.

  • Fixed conflicting receiver link ID.

  • Fixed hanging receiver by removing queue max size in sync clients.

  • Added support for sending messages with None and empty bodies.

0.1.0b2 (2018-04-06)

  • Added message send retry.

  • Added timeouts and better error handling for management requests.

  • Improved connection and auth error handling and error messages.

  • Fixed message annotations type.

  • SendClient.send_all_messages() now returns a list of message send statuses.

  • Fixed OpenSSL platform being initialized multiple times.

  • Fixed auto-refresh of SAS tokens.

  • Altered receive_batch behaviour to return messages as soon as they’re available.

  • Parameter batch_size in receive_batch renamed to max_batch_size.

  • Fixed message application_properties decode error.

  • Removed MacOS dependency on OpenSSL and libuuid.

0.1.0b1 (2018-03-24)

  • Added management request support.

  • Fixed message-less C operation ValueError.

  • Store message metadata in Python rather than C.

  • Refactored Send and Receive clients to create a generic parent AMQPClient.

  • Fixed None receive timestamp bug.

  • Removed async iterator queue due to instabilities - all callbacks are now synchronous.

0.1.0a3 (2018-03-19)

  • Added support for asynchronous message receive by iterator or batch.

  • Removed synchronous receive iterator, and replaced with synchronous batch receive.

  • Added sync and async context managers for Send and Receive Clients.

  • Fixed token instability and added put token retry policy.

  • Exposed Link ATTACH properties.

  • A connection now has a single $cbs session that can be reused between clients.

  • Added C debug trace logging to the Python logger (‘uamqp.c_uamqp’)

0.1.0a2 (2018-03-12)

  • Exposed OPEN performative properties for connection telemetry.

  • Exposed setters for message.message_annotations and message.application_properties.

  • Made adjustments to connection open and close to facilitate sharing a connection object between send/receive clients.

  • Support for username/password embedded in connection URI.

  • Clients can now optionally leave connection/session/link open for re-use.

  • Updated build process and installation instructions.

  • Various bug fixes to increase stability.

0.1.0a1 (2018-03-04)

  • Initial release

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

uamqp-0.1.0b4.tar.gz (2.6 MB view details)

Uploaded Source

Built Distributions

uamqp-0.1.0b4-cp36-cp36m-win_amd64.whl (714.7 kB view details)

Uploaded CPython 3.6m Windows x86-64

uamqp-0.1.0b4-cp36-cp36m-win32.whl (640.4 kB view details)

Uploaded CPython 3.6m Windows x86

uamqp-0.1.0b4-cp36-cp36m-manylinux1_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.6m

uamqp-0.1.0b4-cp36-cp36m-manylinux1_i686.whl (2.2 MB view details)

Uploaded CPython 3.6m

uamqp-0.1.0b4-cp35-cp35m-win_amd64.whl (710.0 kB view details)

Uploaded CPython 3.5m Windows x86-64

uamqp-0.1.0b4-cp35-cp35m-win32.whl (635.0 kB view details)

Uploaded CPython 3.5m Windows x86

uamqp-0.1.0b4-cp35-cp35m-manylinux1_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.5m

uamqp-0.1.0b4-cp35-cp35m-manylinux1_i686.whl (2.1 MB view details)

Uploaded CPython 3.5m

uamqp-0.1.0b4-cp34-cp34m-win_amd64.whl (726.4 kB view details)

Uploaded CPython 3.4m Windows x86-64

uamqp-0.1.0b4-cp34-cp34m-win32.whl (646.2 kB view details)

Uploaded CPython 3.4m Windows x86

uamqp-0.1.0b4-cp34-cp34m-manylinux1_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.4m

uamqp-0.1.0b4-cp34-cp34m-manylinux1_i686.whl (2.1 MB view details)

Uploaded CPython 3.4m

File details

Details for the file uamqp-0.1.0b4.tar.gz.

File metadata

  • Download URL: uamqp-0.1.0b4.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for uamqp-0.1.0b4.tar.gz
Algorithm Hash digest
SHA256 846bbcadd1f5fc13b7b5c7981229da08b88fa57feba54351d0eb25313e236b14
MD5 0c13b045edfa721aff23fd735e281bff
BLAKE2b-256 d96c91e7297593a23f9fa9063edd248fcf55884c8a216a7edab0f48d552722c0

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 58f5271156fd259ed8822b847fbf27b3845bea580eab30c983d0cb4cd5a00308
MD5 0b1cfb4b97ad3e656623b5e26b7f2a02
BLAKE2b-256 47b0badad3ca8defdf863e083cb5b439cfe8ae1a15e3a89a292adda8ef944d0e

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 7dd777f7217339b1f50eda369f4dd8d01eb32f657ba5f31c793a9d790ae82bf8
MD5 a4b62c37a9deed3b62724a29b85cef92
BLAKE2b-256 f712b161178304ba883b05ccc26037827cedcb12470e3a2df2b965cd3a2151e8

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 274ae141b9bb6285a91ad6e6fa2342714e15bd3892d9e81196a519fe1437e40f
MD5 dcd46c6e019d614dee1a8b6bea2a7cb9
BLAKE2b-256 23d63d389290a6d4cafd308c927ae730bac88c9252222d69aec750177dc82b6e

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 cf7024713fd7c18d44945e6c23e36ed8d5634ec6ca4af40739415797c6cafc33
MD5 b161964f53288d40cb9a457599792b10
BLAKE2b-256 bdbaa0ad55cf5a576061e049d5a093da2d9180013f79c43a1d0aa1cf8000e2c0

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 e3b26a16fc0c3e38f51628056652c9f04c52d8213c314ffe7683982688e07078
MD5 d46b5e74c1c0496305320abf8529e572
BLAKE2b-256 4320bfe92d71a954d5428973ca649e8ddea578f3520c4359a5df051851c37989

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 537a852c4fbb71b75f57d047de794c5786011b96ecb6a782b29484b9fb498804
MD5 78e59162fdfd19d58ba0801c96e55c0d
BLAKE2b-256 9f475ee081c0c3db5b0bc7c1c7ec1001ff091fcebf40870daffad46e39ebd87b

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c0b45da4c7ed45aff79ed34b20d1afd772be07ea8272aee85ed008735b77dc32
MD5 e15cf8f847a16a9f622a54d8c0a9146f
BLAKE2b-256 eaf3836ad197f5f0da9274ca776bd01628217a812fbe29055c25865557bb3c6a

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 883f243ab214f0392b02b5dd454e6928cd0fecee14c76720772345e1ead19b9f
MD5 c9b75acb1af97d5fa84d39907f369f65
BLAKE2b-256 26d661fcb25384c0f5153e61b84e51723c12c5c6bcd6e0a683846795a2220d1c

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 0f14298c96382a7614a759f9bee56342d22e686fa384fff3e77fa9502f4c1977
MD5 3225183508070acf6ea6983db6680c66
BLAKE2b-256 c0460a73fc1dabcc875c39d1bce7aef1028a2e220a4bcd3eb0cc59210b85dfe3

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 c990413e4d2e50c86fa0ac1f58c31b0e9f688d5dd0c28969a229b7617437fb2a
MD5 69aa8cb8a36fbe8c1b6aa840b3275c2a
BLAKE2b-256 d2a2df101815d065d2b17436f8268773fdd3a1408420066ce05ef726d34c7274

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8892474687d748ce7643f8482fd0feba01f39de62b8f2aa070c0821c433d3ccf
MD5 5468657804a0e69350c5ed44806b0be2
BLAKE2b-256 172ae4cd26e6da16b8d1a35bebcfd5fdec9b984003a89adf521d8d32df289c89

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b4-cp34-cp34m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b4-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b10bd362a524b9424b26a3bb8a8be3f073e7041f57daaafb3bd344eac634bf51
MD5 0e1415b77c6339b46190676ad8c3add3
BLAKE2b-256 cf07c325ddc86e698fd135d2fb74bcdbf88423efff5e42f5b023b156f37b3773

See more details on using hashes here.

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