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.0b5 (2018-04-27)

  • Added Certifi as a depedency to make OpenSSL certs dynamic.

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

Uploaded Source

Built Distributions

uamqp-0.1.0b5-cp36-cp36m-win_amd64.whl (717.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

uamqp-0.1.0b5-cp36-cp36m-win32.whl (642.4 kB view details)

Uploaded CPython 3.6m Windows x86

uamqp-0.1.0b5-cp36-cp36m-manylinux1_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.6m

uamqp-0.1.0b5-cp36-cp36m-manylinux1_i686.whl (2.4 MB view details)

Uploaded CPython 3.6m

uamqp-0.1.0b5-cp36-cp36m-macosx_10_6_intel.whl (2.1 MB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

uamqp-0.1.0b5-cp35-cp35m-win_amd64.whl (712.5 kB view details)

Uploaded CPython 3.5m Windows x86-64

uamqp-0.1.0b5-cp35-cp35m-win32.whl (637.0 kB view details)

Uploaded CPython 3.5m Windows x86

uamqp-0.1.0b5-cp35-cp35m-manylinux1_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.5m

uamqp-0.1.0b5-cp35-cp35m-manylinux1_i686.whl (2.4 MB view details)

Uploaded CPython 3.5m

uamqp-0.1.0b5-cp35-cp35m-macosx_10_6_intel.whl (2.0 MB view details)

Uploaded CPython 3.5m macOS 10.6+ intel

uamqp-0.1.0b5-cp34-cp34m-win_amd64.whl (728.7 kB view details)

Uploaded CPython 3.4m Windows x86-64

uamqp-0.1.0b5-cp34-cp34m-win32.whl (648.3 kB view details)

Uploaded CPython 3.4m Windows x86

uamqp-0.1.0b5-cp34-cp34m-manylinux1_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.4m

uamqp-0.1.0b5-cp34-cp34m-manylinux1_i686.whl (2.4 MB view details)

Uploaded CPython 3.4m

uamqp-0.1.0b5-cp34-cp34m-macosx_10_6_intel.whl (2.1 MB view details)

Uploaded CPython 3.4m macOS 10.6+ intel

File details

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

File metadata

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

File hashes

Hashes for uamqp-0.1.0b5.tar.gz
Algorithm Hash digest
SHA256 225648c2fddec41f25c7c12a7072ba356d497b5299af448bd1730a7840e2e6ac
MD5 ab7e9cff781c6b21cc99a5440dd5a947
BLAKE2b-256 6854f13a4b0f2a0e416b1ad444ac304254b22a6d620922e65d29df53aa96f5ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 64bfdcb6e755c4f5d077c18493960d7996a8a14d7e4a36c95e6531ba4df7bf55
MD5 d6673c10b40f27c5ae5d98a808c868ea
BLAKE2b-256 db953d25f97a54fc97219ebc4236e95acc67591d70f8e9a2329e79fb537e8fcb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 0e66c2a10b09a31cbb3df82bee3daeea8cfcee174b36bcf05c1041616699530d
MD5 0da5b03427adf70e80b6f58896428dca
BLAKE2b-256 33c4b6216c6f09fc26b243ba19d1c3ba9d8284f14c3bd3cf1c12b13917fcc53b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4254665e715bbb4cfe5ba6cc13e8ddacc13645a6a737fb8638faa22489d5e25f
MD5 dfef2d30a2a1cebf9ccd8b207c99c88a
BLAKE2b-256 45fb1d1d42fe146eed5eb5614821548041d9ade5cb8dc6e5bf554e845d57b025

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 0856cb6c1aed546579c0dd13132492aba041a400a20029b3e28ff3e76945f7fd
MD5 609ab307d36432c93d05300adf47124e
BLAKE2b-256 47ff971062cb2f84d6430918be70f3ff6c5370d7c9f4d246a77bbcdc7dda681a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 3c4153df954e73de8950673b40c2f5f636205ac733b696f5b2eceb213d429579
MD5 9f9e3aeee13337097887f949f4544c86
BLAKE2b-256 0dc519f9a38c07ffb5213bf5cedd3b120d92438be6bc967e7f94c9731b958e86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 a06bc704469929166c1d079d31c50059ce536e0f726e08a771f113f67f6c56a4
MD5 c45e77dc0f1179a79325427b61532eeb
BLAKE2b-256 dadf3eb1ae264376541692f0e0b0612fe38c0d3becba92de80f598f18dd411b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 a935bf3a30060f402869ecb649dec2741d0fc5b03f822e7a7f70351bb9bc0f8e
MD5 9ea5011c87ada2f615317dd64ff5fc67
BLAKE2b-256 11523b47b99a657762c55f52b1c6defae3753fae20f58a6cb2078c45b13775b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 daf7e287806ee84a5c06eace7618b7acd9b907b2b7459f29a53f74cadb175277
MD5 b986bfc389ad55c3bba625462ebb136e
BLAKE2b-256 a5101940f3e462fe83d59b57469ca74fb4bb73a0b4c5fbad10207f8dd8d791e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 704cb593d5f7146fdd2cb4cf7330066229428d169885c200231a5fc069a57e7c
MD5 bb70f2b2d976a34d284bd6ed8623f99f
BLAKE2b-256 8c077d79c4662cf3e213152a9d233861619be62ba124e8d0db0fe1d8d6581183

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 a376f0e701c3da4d34dbb713ce795064921b1b25a7ab751adb95bd543d3d8da1
MD5 491040ea2561741b3f630e8b4f6d8ddc
BLAKE2b-256 fba66bec385b03e1968d20329f7493c28eb94a6e79b0c9cf79667cd0007f8368

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 12932d40eb627f477a3b8436d2b9f4e7dd0d163f99d5906036768cc891870e39
MD5 c4049b55f2541cb79b8bd44718470cc1
BLAKE2b-256 87f88a0e9b63f7c7fddce0797e436f89eecce58b0436a5a75ebf84fd44467a95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 d00448c626d14f87897ac7a8c070785a7aa9c2a4e47d536c46d8325ed3a95a11
MD5 4b19cebb79acc82fe73709cde1e82e1a
BLAKE2b-256 97df1aba0ef5fbf3a6289e461716b7f0dd7b84a4ae7621ec005d09b6ffb55e01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5d3f4f9badf3316d7c645fd96805c3042e7fac3c90f60132887db5c23809398f
MD5 d0ac974caceca52567bbf5e96482a3e3
BLAKE2b-256 8144457cb557de372a3387776d0485efa9bf2479c56397c66c1d57580af5e68f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ec41de72ab143cddaceb7d1d19e3f308de60af709c3c4558b7b5bc85e38814d9
MD5 f64465274d8f3b3d3a8b88be68ff8a72
BLAKE2b-256 5f69092f200f6bbb08c0aacbe6316e82dd594b3256a85bcfec8ac5cd0c0f9d9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b5-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 00270675f1063ab71b87ca9c30d0d572c1a2789b012c26f5a266c11ba9ff431d
MD5 f8fe97d65cae961c2697f1566b4edc01
BLAKE2b-256 c83abfc8f39e477a0d392786be5991fbb024beca579e297dedc76980473a3d66

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