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 Windows and MacOSX, so you can install directly with pip:

$ pip install uamqp

If you are using Linux, you can install from source:

$ apt-get update
$ apt-get install -y build-essential libssl-dev python3-dev uuid-dev cmake python3-pip libcurl4-openssl-dev pkg-config
$ 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.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.0b2.tar.gz (2.6 MB view details)

Uploaded Source

Built Distributions

uamqp-0.1.0b2-cp36-cp36m-win_amd64.whl (710.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

uamqp-0.1.0b2-cp36-cp36m-win32.whl (636.9 kB view details)

Uploaded CPython 3.6m Windows x86

uamqp-0.1.0b2-cp35-cp35m-win_amd64.whl (706.7 kB view details)

Uploaded CPython 3.5m Windows x86-64

uamqp-0.1.0b2-cp35-cp35m-win32.whl (631.1 kB view details)

Uploaded CPython 3.5m Windows x86

uamqp-0.1.0b2-cp34-cp34m-win_amd64.whl (722.7 kB view details)

Uploaded CPython 3.4m Windows x86-64

uamqp-0.1.0b2-cp34-cp34m-win32.whl (642.9 kB view details)

Uploaded CPython 3.4m Windows x86

File details

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

File metadata

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

File hashes

Hashes for uamqp-0.1.0b2.tar.gz
Algorithm Hash digest
SHA256 3540ec3e0a4081287cc5e4345b8025d51bdd931a1bd6e873f0645ea0e3183405
MD5 b50a28e14988d2d7d8093e1a964af99b
BLAKE2b-256 3bedf692b0c12c76cbef6bf37aa7261f19affb40aaa29ab2a7a983dbee22af03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 57f322a3bf1e8990961b0539f509038153a8d18c6ee2aa6c2efd6872c3c147a6
MD5 77af2957d7f2756880a5a908ff181fdb
BLAKE2b-256 2862929ad081dc0c8ed053908532c1a9a7c10a7d95e86e098dac9baffc7129e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b2-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 35f8358f7a5e7067cc406d0507fb09e0927f54d602626e0079bc6f16cf1e5504
MD5 963f2b0c9c406e91644e8cb07c5bea51
BLAKE2b-256 f9d1051832bfb4f2f1c00fd74200071ede6744045e87ec66487b245bb894e91c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b2-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 2709f2da9e6b5a775d790e05a044a5e28ffb723d333446f0c3b8a0bdd54db6b5
MD5 d5041f7368193899a6e83abcd3bea0d1
BLAKE2b-256 04c6ee24b826d6d661386242caa08a0cebc09d801280641f97c93864a0add111

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b2-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 63927555698afb260a8f4ba736fc485f99b4492f72955abed6ff516fe9c3cd88
MD5 2a3f85272a7b51982430bbc6faa47ddd
BLAKE2b-256 f2155229c3cd5dffcaff055a41a59ebd421f7daa860a8363caa37db6fa6ed26d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b2-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 55b21f0fcf453729c3356a2516a511a5c27769fca65309cbe31d85cba1438d2d
MD5 51f6b126f7cdbe7c06fb7a46340fc007
BLAKE2b-256 a5292f7ac3408b9c1ccb4449aed2617cedebab5561b0908e928e32bc08c7db96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.1.0b2-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 aaffae410b7ae475ef1e055a2ab4de164a1fbf93089cbb904fed35a2d4aafe6b
MD5 55414786f005d4af804e701a8aab1471
BLAKE2b-256 e7aa6ef1a623656be8c6775b5c6fdf7c333cf1b4349826a7a69a916c2bfb3844

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