Skip to main content

AMQP 1.0 Client Library for Python

Project description

uAMQP for Python

https://img.shields.io/pypi/v/uamqp.svg https://img.shields.io/pypi/pyversions/uamqp.svg https://dev.azure.com/azure-sdk/public/_apis/build/status/python/azure-uamqp-python%20-%20client?branchName=master

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

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

Documentation

Reference documentation can be found here: docs.microsoft.com/python/api/uamqp/uamqp.

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 build_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

1.2.0 (2019-04-16)

  • Fixed bug in batched messages missing application_properties (azure-event-hubs-python issue #97).

  • Fixed bug in datetime object parsing (issue #63).

  • Fixed bug in unexposed send/receive settle modes.

  • Fixed bug where retried messages were not added back to the send queue.

  • Fixed bug in using asyncio.get_event_loop.

  • Added type objects for AMQP Byte and uBytes types.

  • Added async locking around pending messages queue (PR#54, Thanks to zach-b)

  • Added WebSocket(AMQP over WebSocket) support (azure-sdk-for-python issue #5318).

  • Added new token class JWTTokenAuth and JWTTokenAsync to support OAuth.

1.1.0 (2018-11-12)

  • Support for Python 2.7 (>_<)/

    • Where ever a TimeoutError is raised in Python 3.x, this will be replaced with a new ~uamqp.errors.ClientTimeout exception in Python 2.7.

    • A Python 2 str object will be treated as bytes in Python 3 and a Python 2 unicode object will be treated like a Python 3 str.

    • Added uamqp.compat module for handling Py 2 vs 3 imports and types (PR#46, Thanks to maxkrivich).

  • AMQP encoding of an integer type will now automatically failover into a Long type or a double type if the value is too large.

  • Improved support for promptly detecting invalid ATTACH handles and raising the appropriate error.

  • Added types for AMQPDescribed, AMQPInt and AMQPuInt for explicit handling of int and unsigned int encoding.

  • Added new error errors.AMQPClientShutdown as a wrapper for KeyboardInterrupt to better handle interrupt handling.

  • Added better handling of keyboard interrupts during C callbacks to better facilitate clean client shutdown.

  • Added additional handling of keyboard interrupt at the C level to clean up annoying warnings.

  • Added classmethod Message.decode_from_bytes to create a message from AMQP wire-encoded data.

  • Added Message.encode_message method to retrieve the AMQP wire-encoded byte representation of the current message.

  • Fixed behaviour of Message.get_message_encoded_size() to return accurate size.

  • Added new optional callback argument to client.mgmt_request to allow for custom handling of different status codes.

  • Added new client methods auth_complete() and client_ready() to allow for more fine-tuned monitoring or the client opening stages.

  • Client message handler is now a public attribute client.message_handler (SendClient._message_sender and ReceiveClient._message_receiver are now deprecated).

  • Added automatic encoding of datetime.datetime objects into AMQP timestamp.

  • Better support for Source filters with optional descriptor argument in Source.set_filter() and new Source.get_filter() method.

  • Fixed Session settings not being passed to CBS session.

  • Added support for a callback on receipt on a Link ATTACH frame. Can be supplied to a client through the on_attach keyword argument.

  • Removed unsued message.SequenceBody class.

  • Exposed BatchMessage.size_offset property for batch size customization.

1.0.3 (2018-09-14)

  • Reduced CPU load during idle receive.

  • Updated Azure uAMQP C and Azure C Shared Utility dependencies.

1.0.2 (2018-09-05)

  • Fixed additional bugs in setting MessageProperties as string or bytes.

  • Removed auth locking to prevent locking issues on keyboard interrupt.

1.0.1 (2018-08-29)

  • Added some more checks in place to prevent lock hanging on a keybaord interrupt.

  • Fixed bug in setting MessageProperties.subject as string or bytes.

  • uamqp.send_message now returns a list of uamqp.constants.MessageState to indicate the success of each message sent.

1.0.0 (2018-08-20)

  • API settled.

  • Behaviour change When a SendClient or SendClientAsync is shutdown, any remaining pending messages (that is messages in the states WaitingToBeSent and WaitingForSendAck) will no longer be cleared, but can be retrieved from a new attribute SendClient.pending_messages in order to be re-processed as needed.

  • Behaviour change The function SendClient.queue_message now allows for queueing multiple messages at once by simply passing in additional message instances:

    • send_client.queue_message(my_message)

    • send_client.queue_message(message_1, message_2, message_3)

    • send_client.queue_message(*my_message_list)

  • An authentication object will now raise a ValueError if one attempts to use it for more than one connection.

  • Renamed internal _async module to non-private async_ops to allow for docs generation.

  • Reformatted logging for better performance.

  • Added additional logging.

0.2.1 (2018-08-06)

  • Fixed potential crashing in bindings for amqpvalue.

  • Fixed bindings fault in cbs PUT token complete callback.

  • Updated uAMQP-C.

  • Added additional auth and connection locking for thread/async safety.

  • Increased INFO level logging.

  • Removed platform deinitialization until it can be improved.

  • Added handling for a connection reaching a client-caused error state.

0.2.0 (2018-07-25)

  • Breaking change MessageSender.send_async has been renamed to MessageSender.send, and MessageSenderAsync.send_async is now a coroutine.

  • Breaking change Removed detach_received callback argument from MessageSender, MessageReceiver, MessageSenderAsync, and MessageReceiverAsync in favour of new error_policy argument.

  • Added ErrorPolicy class to determine how the client should respond to both generic AMQP errors and custom or vendor-specific errors. A default policy will be used, but a custom policy can be added to any client by using a new error_policy argument. Value must be either an instance or subclass of ErrorPolicy.

    • The error_policy argument has also been added to MessageSender, MessageReceiver, Connection, and their async counterparts to allow for handling of link DETACH and connection CLOSE events.

    • The error policy passed to a SendClient determines the number of message send retry attempts. This replaces the previous constants.MESSAGE_SEND_RETRIES value which is now deprecated.

    • Added new ErrorAction object to determine how a client should respond to an error. It has three properties: retry (a boolean to determine whether the error is retryable), backoff (an integer to determine how long the client should wait before retrying, default is 0) and increment_retries (a boolean to determine whether the error should count against the maximum retry attempts, default is True). Currently backoff and increment_retries are only considered for message send failures.

    • Added VendorConnectionClose and VendorLinkDetach exceptions for non-standard (unrecognized) connection/link errors.

  • Added support for HTTP proxy configuration.

  • Added support for running async clients synchronously.

  • Added keep-alive support for connection - this is a background thread for a synchronous client, and a background async function for an async client. The keep-alive feature is disabled by default, to enable, set the keep_alive_interval argument on the client to an integer representing the number of seconds between connection pings.

  • Added support for catching a Connection CLOSE event.

  • Added support for Connection.sleep and ConnectionAsync.sleep_async to pause the connection.

  • Added support for surfacing message disposition delivery-state (with error information).

  • Added constants.ErrorCodes enum to map standard AMQP error conditions. This replaces the previous constants.ERROR_CONNECTION_REDIRECT and constants.ERROR_LINK_REDIRECT which are now both deprecated.

  • Added new super error AMQPError from which all exceptions inherit.

  • Added new MessageHandlerError exception, a subclass of AMQPConnectionError, for Senders/Receivers that enter an indeterminate error state.

  • MessageException is now a subclass of MessageResponse.

  • Added ClientMessageError exception, a subclass of MessageException for send errors raised client-side.

  • Catching Link DETACH event will now work regardless of whether service returns delivery-state.

  • Fixed bug where received messages attempting to settle on a detached link crashed the client.

  • Fixed bug in amqp C DescribedValue.

  • Fixed bug where client crashed on deallocating failed management operation.

0.1.1 (2018-07-14)

  • Removed circular dependency in Python 3.4 with types.py/utils.py

  • When a header properties is not set, returns None rather than raising ValueError.

  • Fixed bug in receiving messages with application properties.

0.1.0 (2018-07-05)

  • Fixed bug in error handling for CBS auth to invalid hostname.

  • Changed C error logging to debug level.

  • Bumped uAMQP C version to 1.2.7

  • Fixed memory leaks and deallocation bugs with Properties and Annotations.

0.1.0rc2 (2018-07-02)

  • Breaking change Submodule async has been renamed to the internal _async. All asynchronous classes in the submodule can now be accessed from uamqp or uamqp.authentication directly.

  • Breaking change Anything returned by a callback supplied to receive messages will now be ignored.

  • Breaking change Changed message state enum values:

    • Complete -> SendComplete

    • Failed -> SendFailed

    • WaitingForAck -> WaitingForSendAck

  • Added new message state enum values:

    • ReceivedUnsettled

    • ReceivedSettled

  • Breaking change Changes to message settlement exceptions:

    • Combined the AbandonMessage and DeferMessage exceptions as MessageModified to be in keeping with the AMQP specification.

    • Renamed AcceptMessage to MessageAccepted.

    • Renamed RejectMessage to MessageRejected which now takes condition and description arguments rather than message.

  • Added errors.LinkDetach exception as new subclass of AMQPConnectionError as a wrapped for data in a Link DETACH dispostition.

  • Added errors.LinkRedirect as a specific subclass of LinkDetach to decode the specific redirect fields of a Link Redirect response.

  • Added errors.MessageAlreadySettled exception for operations performed on a received message that has already returned a receipt dispostition.

  • Added errors.MessageReleased exception.

  • Added errors.ErrorResponse exception.

  • A received Message can now be explicitly settled through a set of new functions on the message:

    • Message.accept()

    • Message.reject(condition:str, description:str)

    • Message.release()

    • Message.modify(failed:bool, deliverable:bool, annotations:dict)

  • Added explicit auto_complete argument to ReceiveClient and ReceiveClientAsync. If auto_complete is set to False then all messages must be explicitly “accepted” or “rejected” by the user otherwise they will timeout and be released. The default is True, which is the exiting behaviour for each receive mechanism:

    • Received messages processed by callback (ReceiveClient.receive_messages()) will be automatically “accepted” if no explicit response has been set on completion of the callback.

    • Received messages processed by batch (ReceiveClient.receive_message_batch()) will by automatically “accepted” before being returned to the user.

    • Received messages processed by iterator (ReceiveClient.receive_message_iter()) will by automatically “accepted” if no explicit response has been set once the generator is incremented.

  • Added new methods to clients and connections to allow to redirect to an alternative endpoint when a LinkRedirect exception is raised. The client redirect helper cannot be used for clients that use a shared connection - the clients must be closed before the connection can be redirected. New credentials must be supplied for the new endpoint. The new methods are:

    • uamqp.Connection.redirect(redirect_info, auth)

    • uamqp.async.ConnectionAsync.redirect_async(redirect_info, auth)

    • uamqp.SendClient.redirect(redirect_info, auth)

    • uamqp.ReceiveClient.redirect(redirect_info, auth)

    • uamqp.async.SendClientAsync.redirect_async(redirect_info, auth)

    • uamqp.async.ReceiveClientAsync.redirect_async(redirect_info, auth)

  • Added on_detach_received argument to Sender and Receiver classes to pass in callback to run on Link DETACH.

  • Removed automatic char encoding for strings of length 1, and added types.AMQPChar for explicit encoding.

  • Bumped uAMQP C version to 1.2.5

  • Bumped Azure C Shared Utility to 1.1.5

  • Fixed memory leaks in MessageProperties, MessageHeader and message annotations.

0.1.0rc1 (2018-05-29)

  • Fixed import error in async receiver.

  • Exposed sender/receiver destroy function.

  • Moved receiver.open on_message_received argument to constructor.

  • Removed sasl module and moved internal classes into authentication module.

  • Added encoding parameter everywhere where strings are encoded.

  • Started documentation.

  • Updated uAMQP-C to 1.2.4 and C Shared Utility to 1.1.4 (includes fix for issue #12).

  • Fixed return type of MgmtOperation.execute - now returns ~uamqp.message.Message.

  • Made AMQP connection/session/sender/receiver types in a client overridable.

  • Added debug trace to management operations.

  • Fixed error in management callback on failed operation.

  • Default AMQP encoding of bytes is now a String type and a bytearray is a Binary type.

  • Added AMQP Array type and fixed Long type range validation.

  • Added header argument to Message and BatchMessage for setting a MessageHeader.

  • Fixed MessageHeader attribute setters.

0.1.0b5 (2018-04-27)

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

  • Added verify option to authentication classes to allow setting custom certificate path (for Linux and OSX).

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-1.2.0.tar.gz (3.1 MB view details)

Uploaded Source

Built Distributions

uamqp-1.2.0-cp37-cp37m-win_amd64.whl (881.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

uamqp-1.2.0-cp37-cp37m-win32.whl (781.7 kB view details)

Uploaded CPython 3.7m Windows x86

uamqp-1.2.0-cp37-cp37m-manylinux1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.7m

uamqp-1.2.0-cp37-cp37m-manylinux1_i686.whl (2.8 MB view details)

Uploaded CPython 3.7m

uamqp-1.2.0-cp37-cp37m-macosx_10_6_intel.whl (1.0 MB view details)

Uploaded CPython 3.7m macOS 10.6+ intel

uamqp-1.2.0-cp36-cp36m-win_amd64.whl (880.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

uamqp-1.2.0-cp36-cp36m-win32.whl (781.9 kB view details)

Uploaded CPython 3.6m Windows x86

uamqp-1.2.0-cp36-cp36m-manylinux1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.6m

uamqp-1.2.0-cp36-cp36m-manylinux1_i686.whl (2.8 MB view details)

Uploaded CPython 3.6m

uamqp-1.2.0-cp36-cp36m-macosx_10_6_intel.whl (1.0 MB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

uamqp-1.2.0-cp35-cp35m-win_amd64.whl (841.0 kB view details)

Uploaded CPython 3.5m Windows x86-64

uamqp-1.2.0-cp35-cp35m-win32.whl (754.3 kB view details)

Uploaded CPython 3.5m Windows x86

uamqp-1.2.0-cp35-cp35m-manylinux1_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.5m

uamqp-1.2.0-cp35-cp35m-manylinux1_i686.whl (2.8 MB view details)

Uploaded CPython 3.5m

uamqp-1.2.0-cp35-cp35m-macosx_10_6_intel.whl (1.0 MB view details)

Uploaded CPython 3.5m macOS 10.6+ intel

uamqp-1.2.0-cp34-cp34m-manylinux1_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.4m

uamqp-1.2.0-cp34-cp34m-manylinux1_i686.whl (2.8 MB view details)

Uploaded CPython 3.4m

uamqp-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl (2.9 MB view details)

Uploaded CPython 2.7mu

uamqp-1.2.0-cp27-cp27mu-manylinux1_i686.whl (2.7 MB view details)

Uploaded CPython 2.7mu

uamqp-1.2.0-cp27-cp27m-win_amd64.whl (840.8 kB view details)

Uploaded CPython 2.7m Windows x86-64

uamqp-1.2.0-cp27-cp27m-win32.whl (766.0 kB view details)

Uploaded CPython 2.7m Windows x86

uamqp-1.2.0-cp27-cp27m-manylinux1_x86_64.whl (2.9 MB view details)

Uploaded CPython 2.7m

uamqp-1.2.0-cp27-cp27m-manylinux1_i686.whl (2.7 MB view details)

Uploaded CPython 2.7m

uamqp-1.2.0-cp27-cp27m-macosx_10_6_intel.whl (990.5 kB view details)

Uploaded CPython 2.7m macOS 10.6+ intel

File details

Details for the file uamqp-1.2.0.tar.gz.

File metadata

  • Download URL: uamqp-1.2.0.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0.tar.gz
Algorithm Hash digest
SHA256 11a206f2783e67d4761f442b6196e9ae99b6fff3a022840431b22794c9e7e8a8
MD5 c7fa8b234c2c8c3c5cdd8de0d2a73b2f
BLAKE2b-256 f01e331ce899c2de226e06da17e1daf0856cecd852d03069b1c990a60f003f7a

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 881.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d97bdbb986688a4e5fccc65357d4be708583c598c8e1afdb4c1dcbaa97930c24
MD5 091fd6595a2281604a5615daba242114
BLAKE2b-256 6480be5c6c5bfc3baf8559313ae6c2072472a508dbc0f73f4b3b223c84b6df76

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 781.7 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 de3720be303d0880d712ddc71d0b10fb2721973a044e36767ec9900aca1a943c
MD5 71566df37c108880aab48a1d1c98b817
BLAKE2b-256 6df30c0739aa3e48a33092847f29d4b9abd777ae97a6e24ebc14bdeb199e7697

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b1b5dcd4cd1f17204125ed68afe5ffeb4e9480a2ad97af3c4709789939fd9b3a
MD5 487ed07770b68876fb2ae0c5c7661fa3
BLAKE2b-256 5a62c07346574439524b8ed6a062a48b7b53088757c0f8e01d5f0e4a05a6f184

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 5171b3ece39d0512bb4c4eb2963321ba2975aafa701bf09d7e57d02fb86ded64
MD5 5c71d11d2737cd317e37062ecf6d52e2
BLAKE2b-256 87bb7b1d28b9f8f837d2ee4f89f447d6f70bb2a572951a978571242b7dfb2fe9

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp37-cp37m-macosx_10_6_intel.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.7m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 60921ff08bdfd11d56f9ee6059e6bd90d536216d6c08d844f8737b6ea6d83f39
MD5 497db631c2b646cd1a1aeb479b0a3663
BLAKE2b-256 54bdb0da828d363707de5b7bc578b067b48969bdf4287b0492c0e389bb941800

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 880.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 3f5575e94811f1fbaedc2381d81531a4675208d823ece0fcf83cef692082565a
MD5 07377e988f20b721a6269adc0c050a70
BLAKE2b-256 f80f772f3e1cbd15da3225ae1b9c35989b1a75f15e749982f51f457914cce1fa

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 781.9 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 d091ee6023d667f29e450410d741695064b798b85afaa0bc063f4b6ecdf1fa48
MD5 628752e15e875ec1f349a767db57b6b1
BLAKE2b-256 3433aebc69dd1f3901c66df1d6674756a8b50bf915d19c2cdc674c784fd1456a

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f2a0673160bd4667a4820d83dc952e78028c30a4edbe14994326c11069b3db9e
MD5 8487d14f3295faff18ffa1792cdcaae7
BLAKE2b-256 4de9e4a10bd651c624c483bf210a483aa794b53ef54695102da4f48a402b46ee

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 e66be9ae23a58d941b528095b4c0a9d83692768152fa073b4193231c6ec05f09
MD5 61d841872d0e0797c85b61c1f9c10edf
BLAKE2b-256 fc261e24a1bdf061611816d0a7c4daec117a595ff79aba47f17a6a08eee07b3a

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.6m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 238fe3f3d6b4576179765851b7108502e7e50ded57f50cece48d7908ff128cb9
MD5 2a1864d984c2a618620c270dca7ae952
BLAKE2b-256 d67474ab190ca8d89f2f04c1ca4b5b1123253780bf6b9269023ea7eed260b0d4

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 841.0 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 c165979ef80228451822ab80fa182ce1f6470c65aa0e434caa88fc8cf3dca2fa
MD5 eb92b7204d92c63c933498023c90c2b4
BLAKE2b-256 e68609ff998bc8be2d1412438b893820bbc5d77f3d14aa43e15853ad414b6a79

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp35-cp35m-win32.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 754.3 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 0a65b6ba73f20f78f1ef58cdf223c3e6b498bd4989d1842c5570208031deca43
MD5 1a92eb3a1a78d0864bd5dd8557a1bce9
BLAKE2b-256 a9f8908a3c77acd6f0da90336ddf4a64f1d483a009bbc15ad8e1cd076d304307

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b2e948ac22fefbbff76e13c7885bcf15f3ada6c787951ae15278fe7f31687e29
MD5 75649d4093b5dc6d09fde202fda6472d
BLAKE2b-256 411b68eecfe3cdfe2ae76c04df5d513209cc8fc4b58308f13a0fc645fd7d5616

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 6dddc3b64691fedd95e5edff66f56dace66e7aa7903aaf3f000915d4aa9f494c
MD5 6798063f8232fa26ffc318f75667a02f
BLAKE2b-256 2b3b8d74eb425058a8565e0dcba695855ad988d9a9c7841a72a4941131a39360

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp35-cp35m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.5m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 1b24cbef9748089bf7b011e176b98d0c7851583ec93d298b0b7144f3f5beb1ac
MD5 e9171fa1f18b8d6a768c5b887769423d
BLAKE2b-256 e2216e2eb7418320f3f70935d746076bbd0e5417bf0e61b25462b1bf1c186370

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 404c9e57f59e3cbb32b2c892889a7642bd4b8a8d7222fcf2b6969c285162f0a6
MD5 2d368b57cceaaed7e069b4ec38959b64
BLAKE2b-256 e8dc1ff0cb6fed5b683bc1528ff73db4ddd523a665b99db0768e274756c63a63

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp34-cp34m-manylinux1_i686.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp34-cp34m-manylinux1_i686.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 d9929df1fce99099eef8edc75456c804fa439d04e0ae28b38860c9713c4b03a8
MD5 566b9c0e15113aabb4095d48766b7eb3
BLAKE2b-256 a49f829f6863a37e038374751c5c0e76cfb50cdcb361b01e261c87685f0c17cc

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0cc4730e01b0fac010cecf94ce694d8c8624a03e2104fb389b5a9f64638ba63a
MD5 a0a9091db312911701a85cbb251f33dd
BLAKE2b-256 3d5b54477f1054fea30a8bed42e71e3a6604143cedd84357dc4cbc29454ca6c2

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp27-cp27mu-manylinux1_i686.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp27-cp27mu-manylinux1_i686.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 2a175502c4eefad98945dfb139aa76d50f5f9b9093700437d8a67eb6cad5993f
MD5 336cfc466f2715dafe341e83f3277214
BLAKE2b-256 e57096dd39af9542d80d4125b0c34b109da468279cb10f6b28709df6c3e8b12f

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp27-cp27m-win_amd64.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 840.8 kB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 35e3c041d083afd7ab8c52219b1a21f6cb36583b4a0a74e3608754bfbe3faa83
MD5 ba569582feb21f147e20d16cbdd49d40
BLAKE2b-256 f1884678a807d7601262cd00e0b241957b4c28c01306b11a5cf4032cdcbcc528

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp27-cp27m-win32.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp27-cp27m-win32.whl
  • Upload date:
  • Size: 766.0 kB
  • Tags: CPython 2.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 feb0206965d781999522d513307231bcfbc0df702ccdb12c51ad5be4247e328f
MD5 ff073443cd50ff762788774140056027
BLAKE2b-256 755c8e182f36ec8dff29f00bc443f38b0fda58e57e3ceac742bb7739b785ac0a

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4d0d6db103379f25eac098efa5718a823dda4990b98ca7bb76cb7b1ca96ad425
MD5 261c3121978a56c9fbbda0c211fc56d0
BLAKE2b-256 e734f5149e492211b844bb1521b5e545111f3d14ab73a52071d052db064fb608

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp27-cp27m-manylinux1_i686.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp27-cp27m-manylinux1_i686.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 88e7e9c9be7c5b0b25c7096e087185542179dbc2a1b4996512438e473d8390da
MD5 5c0f937597c0ce8a8d3d9dba012d9c6c
BLAKE2b-256 87db73d842de55dbb9993cc3bf6e42d43d513c97db386c0a51cd4a1f42b472c9

See more details on using hashes here.

File details

Details for the file uamqp-1.2.0-cp27-cp27m-macosx_10_6_intel.whl.

File metadata

  • Download URL: uamqp-1.2.0-cp27-cp27m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 990.5 kB
  • Tags: CPython 2.7m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for uamqp-1.2.0-cp27-cp27m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 bf70d64d6d542c3825daf20d8f98dec06bcd7b0b7b845c52232ec8a624d47121
MD5 128a9ce802e0fbf16e80e729642cdf0c
BLAKE2b-256 ec5c1c7abc8748a343c2949f981200262dfd82f2b3e569ba8d395f852c6e7f2f

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