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.3 (2019-10-07)

  • Fixed bug in dropping received messages at the moment when the connection just started working.

  • Fixed bug where underlying io type wasn’t set to WebSocket when http_proxy was applied (PR#92, Thanks to skoop22).

  • Fixed bug in noneffective timeout when sending messages.

  • Added desired-capabilities for ReceiveClient(Async) and MessageReceiver(Async) as part of the AMQP protocol.

  • Added delivery-tag to Message (azure-sdk-for-python issue #7336).

  • Added method work to MessageReceiver and work_async to MessageReceiverAsync responsible for updating link status.

1.2.2 (2019-07-02)

  • Made bug fix in asyncio.get_event_loop backwards-compatible for now by just printing a warning rather than raising an error. In the next major version bump we can disable entirely.

1.2.1 (2019-06-20)

  • Updated the implementation of update_token() in JWTTokenAuth and JWTTokenAsync (issue #80).

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

Uploaded Source

Built Distributions

uamqp-1.2.3-cp37-cp37m-win_amd64.whl (886.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

uamqp-1.2.3-cp37-cp37m-win32.whl (786.4 kB view details)

Uploaded CPython 3.7m Windows x86

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

Uploaded CPython 3.7m

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

Uploaded CPython 3.7m

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

Uploaded CPython 3.7m macOS 10.6+ intel

uamqp-1.2.3-cp36-cp36m-win_amd64.whl (885.9 kB view details)

Uploaded CPython 3.6m Windows x86-64

uamqp-1.2.3-cp36-cp36m-win32.whl (786.6 kB view details)

Uploaded CPython 3.6m Windows x86

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

Uploaded CPython 3.6m

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

Uploaded CPython 3.6m

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

Uploaded CPython 3.6m macOS 10.6+ intel

uamqp-1.2.3-cp35-cp35m-win_amd64.whl (847.0 kB view details)

Uploaded CPython 3.5m Windows x86-64

uamqp-1.2.3-cp35-cp35m-win32.whl (759.6 kB view details)

Uploaded CPython 3.5m Windows x86

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

Uploaded CPython 3.5m

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

Uploaded CPython 3.5m

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

Uploaded CPython 3.5m macOS 10.6+ intel

uamqp-1.2.3-cp34-cp34m-manylinux1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.4m

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

Uploaded CPython 3.4m

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

Uploaded CPython 2.7mu

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

Uploaded CPython 2.7mu

uamqp-1.2.3-cp27-cp27m-win_amd64.whl (847.1 kB view details)

Uploaded CPython 2.7m Windows x86-64

uamqp-1.2.3-cp27-cp27m-win32.whl (771.5 kB view details)

Uploaded CPython 2.7m Windows x86

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

Uploaded CPython 2.7m

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

Uploaded CPython 2.7m

uamqp-1.2.3-cp27-cp27m-macosx_10_6_intel.whl (996.4 kB view details)

Uploaded CPython 2.7m macOS 10.6+ intel

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3.tar.gz
Algorithm Hash digest
SHA256 9d15cb12d61a6481f7de412c2d53a99f87650e0d1e5394b047aeee5514964fb8
MD5 3c70a7dd7aeffe22ac379f7fec2aad0c
BLAKE2b-256 c15d82c2b27c003aae45aa079c6f7ad4b59e0c7ce53652fad39fd90cb35994f1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e01a0a70542edf3454fe7d7bb851b2c8301ae359a45ffcba3ba7c4f617a005ce
MD5 cf2aa7922e14940bb6722af3607dd937
BLAKE2b-256 67c2c70bf29eed58da94ffae99b41d998ae1895257a3ba051d36f571e6eb6c88

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 daa90f45c6d76103733715dd994cf3a5061ae763b86e8b9d397dfe91b5168696
MD5 57ba4845e47e31f3afe78bbd58df016d
BLAKE2b-256 f5b57036e8bda9c5431807b67626923effee86c26c7e6e6e1732aaa9e0aa562f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 32f1aa5873d479c7c6b815496974e53762e510101e40a675a751cf62bb994de1
MD5 7ecff4f99031d36277d2b258eaf5704b
BLAKE2b-256 4bbead47c3ed3e7e5945744679e6725abb4aa1b147ad2caaa6b48360b97d0e87

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 0ca5ef2979e051bce6c1f06f3c7e3f6344bc8dd6b9dc14cdbc6d1636134817ac
MD5 6000365d7308d401bc73850230d4ca4b
BLAKE2b-256 d7e355714cb1fa41b9b203ce43fde73187b33ff98443b810c67bdaa02dfe707f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.3-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/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for uamqp-1.2.3-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 cc480c8b6a457bf5b2681d22cb64caec5385ba1c98f9028bb3644f6addfe5685
MD5 b4e0aa84b9e760d636ce7623ccc8ed48
BLAKE2b-256 23d49af6041941a53a4f2650082a1e95b2f997c8a4eeceda9d382098f4c2d455

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 a9d0544b75b55f00218508180236e5afcb04197e12d17164b99fe8983e76412f
MD5 195d1c91e7e740e33c95a4a93a1a1c8c
BLAKE2b-256 117b702834ff3bdb4eb4f07393bf7ae26bba3da54e68abfb90e64aaf5df7fc46

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 77405b5e4f613fc66a8adf7c4acd79d0d68e442df4fd4b82dde5be546c6c1036
MD5 75811a1f68b7c1f7ac9ff9ecba1a8c38
BLAKE2b-256 4aee03640994fed2e52f3227fcbc62ea69bae170f9f1eb671e1f1bfed470a79f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c89b001e40939608e4b1a2fa64a789f23c6bae5c0f984d1cd223e23603755c9b
MD5 65283c0d2425758e5b783a35a1a2945c
BLAKE2b-256 05137b5ac4662c28e9c483e52d39f07aa7dda62ca9ca0242a342e2e415b6d2ba

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 34fdcfd43ff4801e2b8cd3d5a3cd1711083db57a50adcd39518941fbbfd35fec
MD5 95348a9c51bb0e1caaff73eb3250beb9
BLAKE2b-256 a09e99e7a3e8beb3a9e4ca0e66608315494b1f55b8a20dcbaea5800400c36bdb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.3-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/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for uamqp-1.2.3-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 287df953adc70f64643b85fcbfa672c1e1620fa49cf6c6caa0d5353a4fe1caf8
MD5 4a85a66cc42e252fc6e05578bb648032
BLAKE2b-256 6fa107d478c8dd797aba152242f00cf5f39583fcd529f26e76e2b12fbab9f527

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 31e522517b036d7f1dd505db2555539055855a662fd0b5c5d823a5e0380b9830
MD5 dfcabbead99abda86d185d498387647e
BLAKE2b-256 87ea1c9359fca5d45a5011d7bf46d6982b0bd702ad4ea9f4f17888572e774f2b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 4f601b6022b9026a8573126c5d829cdb4d0b2de462d3d32cf63aa1d89ac4ae31
MD5 a4b37faf6f517fc6bc2c56f471472c3f
BLAKE2b-256 8e74fa8cd30c3c063bcaf066820fc1faef00254803f15d33bacd9b7b09e1c33e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7edccc19f4e3bb4c880bad1a3f217f50ac264f23cc8c6f29d3e316c04ef14169
MD5 16f01fd3f1d484ddbaa85813c6c8e2b0
BLAKE2b-256 0b5eac50e4113a7263fc5fded452d4cb1856c45cbf3690908ef95501a0098912

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 58a764491bcfe36a53895df8d32b0ee2d463475e8485572faba5522e4c2d895c
MD5 c82e41579880723b17777b982c376b83
BLAKE2b-256 9acfd1ba7a95ffbfb1ddb8ff081a13868d1479646c02801c04faddb92a42e0fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.3-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/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for uamqp-1.2.3-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 55728ceb170e0e6c4f3701c01d62a274d0a5acd33a572438a036c4d88a2dcddb
MD5 e381a8238f60b7fe54f806298247bbdc
BLAKE2b-256 c7807ed3b6ab8420b35a5b0720edd7dc1897b0c241d703f11194c4e6c7fa7973

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.3-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

File hashes

Hashes for uamqp-1.2.3-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 35da1c2060b65e6e0cf56371764508dee2142135ccc43d3534b9ea779aecb976
MD5 b5ceccc269133137672a5558516e09a4
BLAKE2b-256 30591f126a8ab1fb7fb6c40091128aad81a4e633c970ae6e033fdc6887181d7a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 4f906b0dd9092a0458a154c073886c9723717a4956cf8e502acd7f6542fbbdab
MD5 0c23f09d43cefce6f10ee49f7499f6ad
BLAKE2b-256 63252df2145a8da5f381a260d533837e29cc2ed57aca7890219d23393572daaf

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8d57f02ec3a85d1ce41cc43666d6616c6a4f6a572846f51d6a0eb51abd294470
MD5 91d6fe4258dce353bbb490609093f274
BLAKE2b-256 8eeb0d3d1613e8207ea91525cc5835fc85db8925b34e1bbc8e0f0f16a75aff32

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b5c97b3eef004dbd16c2138193a4481c5ed63d0c136ded87aed14a8ca5027973
MD5 c10120b4f787b9cebcba81ad92bb66fb
BLAKE2b-256 00a104173d9cea675780ed1c751d3075a1c577f433f319e051c7d6a549c2dc30

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 546a58ebf65e7284aa2bcf8db331bd5ccb869ec9b8d2ef09fa3e225ed74c3603
MD5 06c05f91244f7885725ae9fb4250468f
BLAKE2b-256 a281dd09e6167857d09d492a549bdb24b54f32af69aeb63e321fa915e2b52ec5

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 a52be6014f5b7f8ede5314af128d270eeb875c6d8082de0539affc9a24c5987d
MD5 53e340dada0391d2d322ddbad509d252
BLAKE2b-256 70d8b221be31170eae216803008020ecf32992f01b8c80874d7400bc65324bb3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7028d54570c66c4819e7396faef0f8077408868280ff51b5990f18690519d686
MD5 0aa31d1c7623512a8d199ced93f6e842
BLAKE2b-256 674a5548e0b1c2b397351440f13d5e7aa633116b4d75e39a4182ed72cb64b787

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9765f9f29171fb243bc3b31f356f49389c467cdd4702fa7f9b565f1f0e126e3e
MD5 ff1470e2295be988bb2b0f7dfbcd1d15
BLAKE2b-256 44d8fbe10f30dcc66f9b82162c6820ec2c991a253410ec679ee785d44c08a539

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for uamqp-1.2.3-cp27-cp27m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 1c3e6110384c314ff48e51763259d5ede777d2b20977378917399d4594ffe30e
MD5 0269e74e26e88b3180156dc04b7818c4
BLAKE2b-256 4fb56db9b73308ec19cf8a9022b27a43dac5a459d65bb22d1e92b834d50418d5

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