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.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.0b3.tar.gz (2.6 MB view details)

Uploaded Source

Built Distributions

uamqp-0.1.0b3-cp36-cp36m-win_amd64.whl (714.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

uamqp-0.1.0b3-cp36-cp36m-win32.whl (640.3 kB view details)

Uploaded CPython 3.6m Windows x86

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

Uploaded CPython 3.6m

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

Uploaded CPython 3.6m

uamqp-0.1.0b3-cp36-cp36m-macosx_10_6_intel.whl (1.9 MB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

uamqp-0.1.0b3-cp35-cp35m-win_amd64.whl (709.8 kB view details)

Uploaded CPython 3.5m Windows x86-64

uamqp-0.1.0b3-cp35-cp35m-win32.whl (634.7 kB view details)

Uploaded CPython 3.5m Windows x86

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

Uploaded CPython 3.5m

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

Uploaded CPython 3.5m

uamqp-0.1.0b3-cp35-cp35m-macosx_10_6_intel.whl (1.9 MB view details)

Uploaded CPython 3.5m macOS 10.6+ intel

uamqp-0.1.0b3-cp34-cp34m-win_amd64.whl (726.1 kB view details)

Uploaded CPython 3.4m Windows x86-64

uamqp-0.1.0b3-cp34-cp34m-win32.whl (646.0 kB view details)

Uploaded CPython 3.4m Windows x86

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

Uploaded CPython 3.4m

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

Uploaded CPython 3.4m

uamqp-0.1.0b3-cp34-cp34m-macosx_10_6_intel.whl (1.9 MB view details)

Uploaded CPython 3.4m macOS 10.6+ intel

File details

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

File metadata

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

File hashes

Hashes for uamqp-0.1.0b3.tar.gz
Algorithm Hash digest
SHA256 a790aac94a474ac0a97f8e1b45b0cb607e6af0d749422e79ac0c0eed9b23354d
MD5 f8905fcd8f0d6ae19ea96b19c99211e6
BLAKE2b-256 365064442bd6e2af949ddf7cd8fede6011bfce5e635f69ab2838ccfe3a026120

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 298c357afb839809888e45d445b70156101387a2a9869d05fed34040f433c797
MD5 84808121e27c08d773b1b224ea7ed843
BLAKE2b-256 fe862cf1a1eb0db5653927b0b59d342d8d8b4f6cdf1a5e5f17e2d24bf1f84f1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 dbd62af7eb489cb25b321e1e25101c6ce36412b7c44597baa48ac04d9193dc9e
MD5 9a0ca33888a6805c217b91e936e2d023
BLAKE2b-256 e39bd32ca81ef196a1367908bdaf2d977d45124045714cda7c2d07a097736588

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 16cdd10d57684241d088a4ae4fd113150242f8bbaede847536638f088ec0488b
MD5 e519f222998783ad4b793f11ea335385
BLAKE2b-256 bbe4e251c772cfdef9a11cbfc0f809a2105ac3f686b087a8a253d79b5f301d85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 529cdcd1ac2a93492693ebe99f4afec38e1037358d6999a158237f5ad82ac2c3
MD5 d8f49a3df1065fc6b3b7df055a1b93a7
BLAKE2b-256 c3bf4bb08132c1dfb73c2d47860027d0db474093119c2ddac54cd905791793e4

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b3-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 784625f3747cc7cdb7e3f905b41e6da384f038cf39dd7acb1da6ff6ea284615a
MD5 ce6cdb576e49a7e55735c899b64ed357
BLAKE2b-256 dd215eae74d6b4d6b3eb31596a0045716711db8b9cf40764fbe7d285b75b1c28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 48ef7fa92beb21cb1169144861cc2a5533868caa610e0acc4b6c70b89b96f40f
MD5 930ce48ba0a0602ebc37569e51a4e22f
BLAKE2b-256 a5e98457e21b8fe64a2804845cc7c2181888b82905396453ac03996fcb8710e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 2a1e3a011c526435888c6c17d3daaa6c57c385c433a41148bf0b8d3833c31348
MD5 9aebc26c4307405a701dec0631bfc2db
BLAKE2b-256 088c292008706b545575698d09e8f0a76ea4812b5d5578e9605b7cc8cb35481f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6bc3a79a0e437819e597f0bdbd9591ca6c7034d9bf839c3b5a4ea4340b84333a
MD5 241ac0c0a729fba0f35117633118cdc1
BLAKE2b-256 692f9cc3ef5c73bfefcb17deed063000203b97a56ab1560dc584ca5dd858bd4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 8780f201826c26a194bd77a6b7ecd48f2f54e3d2120554d15237c8876bf18f58
MD5 2abf582eaa253140bb08584089809a65
BLAKE2b-256 0ca5e1f6d1630a0f2369748f4d90887b40d8bddd3bb031909db1a85be58b7dc1

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b3-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 f47083970be5e5feed091acff440a07dff3e75a665eb589dbb1537f3d6fbecdd
MD5 9401594e767aa270416b266804a72fce
BLAKE2b-256 269684b15798e074fb42daaaaf0f55dc512abc4f2930ac229a73b940c44d2346

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 07820359246034cc2c207c2c630e8a7eea0a536649ae64e88582f4f8e0295c5c
MD5 5303d8470ab06879606638d5a4ed5fa2
BLAKE2b-256 325873580ada6cc5561738626b70a6c70848f4965467e13503141c8c2b2e1d7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 757076b76de41fa225f9a7d0eb300c4a1202f655f99ebc107afc9227d820000e
MD5 71be711b5b8a8cb38368f4333b35da42
BLAKE2b-256 ec8089d86152968c8b06f08d2636607427624d12b3ade1bc32a24684325d3dd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c3bb7b1148e35e3333c7744887cf9c03f1d5cda7e983faaa56891fdb5688f832
MD5 c25e2db3ea0215b9a97ee1ff54c56426
BLAKE2b-256 82935d71f34b80a95d52d5e3df0d46f93530d358aa9693bce63cdae8d22cb24a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b2d89a6196db9eee7949b3af8cf07128d1eadc355331cd8116958922b060b3a1
MD5 5b5ed9ff4ce83bedaddfd4cd76de9fc4
BLAKE2b-256 a06bb6afe918919ae30bab275481e4a221f4fdfcb33a2100978440802dc1d3d8

See more details on using hashes here.

File details

Details for the file uamqp-0.1.0b3-cp34-cp34m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for uamqp-0.1.0b3-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 6a1c5003499bda11a82aa15f71343b0e61145c74fab70c0fbfdfba88401a064b
MD5 9d3a624e9c0caca1775770e34f91caa1
BLAKE2b-256 3aeb7f70eb7195958be8c846034920d7e22db063e0d218f6afff234302f803d7

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