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.5 (2019-12-10)

  • Fixed garbage collection of C objects to prevent crashing on uncontrolled shutdown.

  • Fixed missing event loop references passed into asyncio functions.

  • Fixed bug in noneffective flow control when large messages are received.

  • Demote link redirect logging from warning to info.

1.2.4 (2019-12-02)

  • Fixed bug in calculating send timeout.

  • Removed ThreadPoolExecutor in ConnectionAsync.

  • Added support for Python 3.8

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

Uploaded Source

Built Distributions

uamqp-1.2.5-cp38-cp38-win_amd64.whl (914.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

uamqp-1.2.5-cp38-cp38-win32.whl (806.6 kB view details)

Uploaded CPython 3.8 Windows x86

uamqp-1.2.5-cp38-cp38-manylinux1_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.8

uamqp-1.2.5-cp38-cp38-macosx_10_9_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

uamqp-1.2.5-cp37-cp37m-win_amd64.whl (894.5 kB view details)

Uploaded CPython 3.7m Windows x86-64

uamqp-1.2.5-cp37-cp37m-win32.whl (794.6 kB view details)

Uploaded CPython 3.7m Windows x86

uamqp-1.2.5-cp37-cp37m-manylinux1_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.7m

uamqp-1.2.5-cp37-cp37m-macosx_10_6_intel.whl (1.6 MB view details)

Uploaded CPython 3.7m macOS 10.6+ intel

uamqp-1.2.5-cp36-cp36m-win_amd64.whl (893.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

uamqp-1.2.5-cp36-cp36m-win32.whl (794.8 kB view details)

Uploaded CPython 3.6m Windows x86

uamqp-1.2.5-cp36-cp36m-manylinux1_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.6m

uamqp-1.2.5-cp36-cp36m-macosx_10_6_intel.whl (1.1 MB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

uamqp-1.2.5-cp35-cp35m-win_amd64.whl (855.2 kB view details)

Uploaded CPython 3.5m Windows x86-64

uamqp-1.2.5-cp35-cp35m-win32.whl (767.0 kB view details)

Uploaded CPython 3.5m Windows x86

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

Uploaded CPython 3.5m

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

Uploaded CPython 3.5m macOS 10.6+ intel

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

Uploaded CPython 2.7mu

uamqp-1.2.5-cp27-cp27m-win_amd64.whl (856.0 kB view details)

Uploaded CPython 2.7m Windows x86-64

uamqp-1.2.5-cp27-cp27m-win32.whl (780.2 kB view details)

Uploaded CPython 2.7m Windows x86

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

Uploaded CPython 2.7m

uamqp-1.2.5-cp27-cp27m-macosx_10_6_intel.whl (1.5 MB view details)

Uploaded CPython 2.7m macOS 10.6+ intel

File details

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

File metadata

  • Download URL: uamqp-1.2.5.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5.tar.gz
Algorithm Hash digest
SHA256 02d78242fcd0a58489aaf275964a6cf7581d7a2334ee240d2d547f8aca8607c6
MD5 12d8874a05be2762595633945e35f48e
BLAKE2b-256 72fa7de45d8249e7a115d68607036beb1219d0c3fb04623f764d65e00e31a6f1

See more details on using hashes here.

File details

Details for the file uamqp-1.2.5-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: uamqp-1.2.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 914.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a379bcbae41896064f00a87604516f02ce271f1c6903063c3d60bba3000b8027
MD5 f47b940b879eba13232abb382866006f
BLAKE2b-256 3cf6f1fc528bc3c63a7187786aa2b5622f45de57824cc576312036b597488b28

See more details on using hashes here.

File details

Details for the file uamqp-1.2.5-cp38-cp38-win32.whl.

File metadata

  • Download URL: uamqp-1.2.5-cp38-cp38-win32.whl
  • Upload date:
  • Size: 806.6 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 e479e171a234daff580f2547f6e7d393f1a8fd81e9f304d31b2f965affea27ff
MD5 54694696dbf090718f71fd337a76e81a
BLAKE2b-256 353e70a808b570cc85ee0cf3823daeec2a4a32ea4da6f618376a1ff6677359eb

See more details on using hashes here.

File details

Details for the file uamqp-1.2.5-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: uamqp-1.2.5-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2e1db52a433d6df4403aff16a55108f8dd395d0177df54224e8c98d2c3eb46c1
MD5 1e5519713ba7d761b2feafda4e6af0eb
BLAKE2b-256 f954f854374ad08fedd2127407d42e69257123bff5fbacadee999a72f0df7651

See more details on using hashes here.

File details

Details for the file uamqp-1.2.5-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: uamqp-1.2.5-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b0a36b8557884b18fc1e419e5c2bbe49662ffdeec4493cf075891b1487dd1f5a
MD5 08c551c0e4c23573cf201021218ae63a
BLAKE2b-256 38420284f1a50e8610e908a6e81fcd5a74730eeb004528c4bafeb0d3a4a40b31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 894.5 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3d06a678b254530851376b41858dc4806fa5181f9539ac1999cc0d1365c7eb3a
MD5 4e4a47bb872d25b65181a763c399c794
BLAKE2b-256 51bb9626382d55f71b01894a6aba6c65eefd59a55ebb1e923a124ae88cfb6cc9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 794.6 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 a406430c1631f0b6b700692aaeaf7a4bac02103d209ba4767330630fd8d2cd9a
MD5 81f42bfa280af88e3b4e91da8e5d3330
BLAKE2b-256 26d1d8a614a2c0f6f437096a9ddb4f97b7da74da4e1d3eeca82d1b971e16a417

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6db228e3873ae1ca3b79edd85c065f55e54d4510dcd779581d1943f8a6b61757
MD5 37735cffaa8640e0af7fbe17373f3bb3
BLAKE2b-256 851c2315414fc02b53ee39b669b3852d10c5bf9660561d57ef9f84194983db2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.7m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 9e634250c54d8b26ff6ee8fde914a17b545d6f4b60d4c10dc9f04ee912f1b6b8
MD5 24902f5c88c397444161084759b59d85
BLAKE2b-256 3770b575b421ace9f979325e954aca43fca5adc741aab8c2ef49a1c7adaef6aa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 893.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 90e4a9605fd599b461c817d8c962c6838b928702cf4f10687921bd2472744cf6
MD5 c7179e7c05c98e98df01526cee5f202f
BLAKE2b-256 e26e72c6be87a5b13c098f2b80abde8e22b19143eefb782e85acbf44068ec420

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 794.8 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 6ed6c6a3f1777f780294376ca81242db363af84978ba653d23d25231d679050e
MD5 3f8c3c383fbca877a097a28b52392c1d
BLAKE2b-256 51140ebb06dbca57512730117c0624f1fe82d5769395618608cb57f67e47e52d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 59715dbf066be1a5266872fe5dc8d988fbd172b163ab1f36b5a9e57800103b2b
MD5 8865206cdb8d5040b26ee4160bde7376
BLAKE2b-256 41ce9cd144afc1d4df9e18fe3801d9e71deb84f10f933b1befaf7cab44d786a8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.6m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 88f251a7e0a104c416630b5e5f415e14bf586264d11e4ea2a5b16e3c5f7897f4
MD5 1f3e12603d29f55ae62556fa421ed91b
BLAKE2b-256 88d7e771b48cfdda8f73ef6dc3ed56c8097a0bc6eaf783f12a6c0da9d7d46391

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 855.2 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 826407cccf6677eeabecfac73603f96bdd1941668272e2a394b5289fe855f138
MD5 9b1527b5cb5f4ea685a3145696d79e41
BLAKE2b-256 a76e4bd690bc5dbf7d8b51090cd756e351f7e3a9f95eaa2abf302fd4b5afef8d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 767.0 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 ea55f30ce3d7a39d27d2e030e8e1251a7a861ffc6900ce3ce3d7d1a342f68dfb
MD5 414173c9226299d1dec97471babbbe79
BLAKE2b-256 25452cdb042bb0e78f32d30eefeaa1f9db6dc94d2ff9beb0ababb48601f9e118

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d05ef7aa46c78f0f29a6c6f6f7bc5ee80d7a61e43f6d59c2e61ed68b1b58ee7d
MD5 7075e7257d2e2eb293964a941d99e3af
BLAKE2b-256 b0439d213d6e84ad6c5d02c54e6b74ff971ff3ff66288d34aadfa755b9d52ab8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-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/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 704a863abd8fdcb28f2771731ddef6e6c4f08b1c0ea7a563cc385db2d8cc9e5b
MD5 938a5ed6f43afd3a30076c8f4b924399
BLAKE2b-256 72d108f36acbd71464bd77537c6b2b25059cab97a82d3ed44794c37aeb523a1f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1f42de8303f92440bb96de9eaffd58461bed3ffe065a17f7b781d62783d2b5bc
MD5 5e1a5566579e74ad2b5320ab42766553
BLAKE2b-256 d835acea4e4aa9494b01e274b61cd0a02a25990b82727397627d199f9bde73a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 856.0 kB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 a587180e2fed793d7abebba7fb3801887b5fd63d52af1754228a6948426c42db
MD5 e76f8f0c5dd68e4c6c9af3a9a5255c04
BLAKE2b-256 a346cd6202cdcbf8ad489cc96ffef85205906eb74d3580b7b07a33a684635545

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp27-cp27m-win32.whl
  • Upload date:
  • Size: 780.2 kB
  • Tags: CPython 2.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 bcdc79f9227c1097ce0f3f09c3b01aef6fc8e4bd23f9f8b741a6f72026d1591a
MD5 98cc31747f655ec7a979bc089e2c20f0
BLAKE2b-256 5b0191cf09a79c549212234e79f58df86b3916beb361345ab96e6fb41843dfda

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6d53bf6cd6d3d218ada1dd670ba27c69af00d7600086d85e23bb2e0b0507d7b2
MD5 7788ca5b03a9338b2c35dc4c6ccb57d3
BLAKE2b-256 c7fbb1bd9f432680f00cc48eb82bdce18820e53630f19db7f615306900218213

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uamqp-1.2.5-cp27-cp27m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 2.7m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5

File hashes

Hashes for uamqp-1.2.5-cp27-cp27m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 1c6504bcf809d9b4401f5794e9a28a2e09986d62fc294fd4a1a99562bbabb063
MD5 410f3eb02973adbf81849e271136ca4e
BLAKE2b-256 c50698e3d9d21fa7c1460b051a51f3afe4cff9fac48302844eebea892a7715ae

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