Skip to main content

AMQP 1.0 Client Library for Python

Project description

uAMQP for Python

An AMQP 1.0 client library for Python.

Installation

Wheels are provided for most major operating systems, so you can install directly with pip:

$ pip install uamqp

If you are running a Linux distro that does not support ManyLinux1, you can install from source:

$ apt-get update
$ apt-get install -y build-essential libssl-dev uuid-dev cmake libcurl4-openssl-dev pkg-config python3-dev python3-pip
$ pip3 install uamqp --no-binary

Python 2.7 support

Coming soon…

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 built_ext --inplace

Tests

The tests can be run from within the virtual environment. The extension must be built first using the instructions above.

(env)$ pytest

Provide Feedback

If you encounter any bugs or have suggestions, please file an issue in the Issues section of the project.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Release History

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

Uploaded Source

Built Distributions

uamqp-0.2.0-cp37-cp37m-win_amd64.whl (783.5 kB view details)

Uploaded CPython 3.7m Windows x86-64

uamqp-0.2.0-cp37-cp37m-win32.whl (703.5 kB view details)

Uploaded CPython 3.7m Windows x86

uamqp-0.2.0-cp37-cp37m-manylinux1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.7m

uamqp-0.2.0-cp37-cp37m-manylinux1_i686.whl (2.5 MB view details)

Uploaded CPython 3.7m

uamqp-0.2.0-cp37-cp37m-macosx_10_6_intel.whl (2.0 MB view details)

Uploaded CPython 3.7m macOS 10.6+ intel

uamqp-0.2.0-cp36-cp36m-win_amd64.whl (783.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

uamqp-0.2.0-cp36-cp36m-win32.whl (709.9 kB view details)

Uploaded CPython 3.6m Windows x86

uamqp-0.2.0-cp36-cp36m-manylinux1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.6m

uamqp-0.2.0-cp36-cp36m-manylinux1_i686.whl (2.5 MB view details)

Uploaded CPython 3.6m

uamqp-0.2.0-cp36-cp36m-macosx_10_6_intel.whl (2.0 MB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

uamqp-0.2.0-cp35-cp35m-win_amd64.whl (781.0 kB view details)

Uploaded CPython 3.5m Windows x86-64

uamqp-0.2.0-cp35-cp35m-win32.whl (703.0 kB view details)

Uploaded CPython 3.5m Windows x86

uamqp-0.2.0-cp35-cp35m-manylinux1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.5m

uamqp-0.2.0-cp35-cp35m-manylinux1_i686.whl (2.5 MB view details)

Uploaded CPython 3.5m

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

Uploaded CPython 3.5m macOS 10.6+ intel

uamqp-0.2.0-cp34-cp34m-win_amd64.whl (780.0 kB view details)

Uploaded CPython 3.4m Windows x86-64

uamqp-0.2.0-cp34-cp34m-win32.whl (700.0 kB view details)

Uploaded CPython 3.4m Windows x86

uamqp-0.2.0-cp34-cp34m-manylinux1_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.4m

uamqp-0.2.0-cp34-cp34m-manylinux1_i686.whl (2.5 MB view details)

Uploaded CPython 3.4m

uamqp-0.2.0-cp34-cp34m-macosx_10_6_intel.whl (2.0 MB view details)

Uploaded CPython 3.4m macOS 10.6+ intel

File details

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

File metadata

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

File hashes

Hashes for uamqp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7c2a575e11ad4b988ea75dd24c3aaace1b2c2e1edeb255146dc7e277857a65f0
MD5 3df260dc59838538a5388f6583cab05f
BLAKE2b-256 2b96681ae9a4dc15ab7350fea4620c12a9f97d1ae13e13d1f114ae65f2b11bd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f74941deab6c5829e0f65f170455b9b929a6770567d7da129acbc8fb0a936560
MD5 cde24cdd317a65478ae4d869b07f8c17
BLAKE2b-256 dba50edd64e264e694919ad9bc7dbe56dcb4bc29e98f536ca6586f17a7eb8024

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 d195cca8cf9cd7e93a45f3f18e30d236513c8cabda2b360741a2eecc0db97595
MD5 f584813c3681eca4352688b3a2cc5c04
BLAKE2b-256 6d6a64f18cad6bcb7e1919d68c54115f33864aaeaf9218417f9ce9477c62bdff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 59b4cdc6ac548e7a2ee119c17fc69f33c0b75b8a7ffa59eebd459ccf8ba99fa8
MD5 a8cba0abf1f6ed80791153ccf51fb0ac
BLAKE2b-256 9fa7637af208d968f4bcbac6819a62b67a31a395a4dba404e360fd8437174916

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 dd280d1d7a006088a4d5a2c5fc95aefce4b95a43820aeae69fc9c586dc999f58
MD5 a4b240072b7c3ea97ce4261d5239b849
BLAKE2b-256 97cf149338025f746f1f0fb599c0009933b7dbad07f1ab5731b875db4a65527a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 76f4169786637bfeef88652659c951657def1cfa6b9f9f1f0a0a0c1a8f043797
MD5 7d4ff15af4b74ba5960b9c3125212617
BLAKE2b-256 fe8245ac1b5da7a7fe7e1e5d3a492a0ad662120b2d24ad0126414444f4ec0afb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 e13f0a4d6a4652d1132ce18a3fc7c787fbc1d2ee8e19f01d80d733043b5aa17b
MD5 16c0a0b8b0ded3249e955f553f391b2f
BLAKE2b-256 fc081f0658d8b551e96071d785493973dff16f8bdac5778a18c7e63a684d22f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 a48032fd1cbeaf8a97f66979b088cd02895dac5c2887af85892178fd3e156e93
MD5 66a73506f050e3772e4043c0e2310218
BLAKE2b-256 1d58547ceea3c85ff183c647fb17b6f86e70ed3d62ea1c4ec51fad4afe82a109

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1bfa3c43eecd1ba420f44a05c76cdb031edb0786c423b60c61ce129d52591282
MD5 961a3a2be6152aaf607ab3b3a52764cd
BLAKE2b-256 c3fce6e156b9b0d30a2cd3efb888a14bfb5b26bced7fe8a003cbd4352e111d07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7c08db64399e03d78f8b89df4086c3423f61df1fdd2b66e7a1cb8ee2c17f6014
MD5 8b864c45a64b92a523a07e0e5113ccad
BLAKE2b-256 8d0b5d05f2635d9bc5f82f99f86ce7c9a1a09b482f319f5107db2df8eb843a41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 2b209f3d4998f08a38ab8230e5311d928a11292672ca43fc389086df7134040b
MD5 8f40e0095b86239841031fe4a95c6087
BLAKE2b-256 1d6634c46c47eb0348fa9618783d0a543a587efe7b8e6f8da26be607ca9b46ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 2ab45d29890125e6b116b8b4200929f66e8c6fe3360582aa05546842d8d1329c
MD5 e158cd53cb3ccd8bde48e00b58edfc9f
BLAKE2b-256 8ad0a8dd213f089ba75b9db73c68683e0821b06216f21d91ff2eb9d86afb8df1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 2ee879689f2357cd26cb1e507816de4ad90af101bee2a18d0a39fa50f399074c
MD5 2c1e789d97db0f23b59d55c69bff3f41
BLAKE2b-256 5a6ebc2764c6305585c754af57bbf73a4e5aacf927107ac4867c78fa9fc687f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 75d2c799ea9d7e69f2a0c9389e40a5183ec1e98f425b6ed3d37f0503b03cbb61
MD5 ea1fc9340e640697974139f2c0e4681f
BLAKE2b-256 5211eeceea9489bed19be5318a483ec3fd7b71ff762c82ad706bd1e2ef0842de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9442b44d8e46e3fed41367618f8e6a8f8600525243dcacb272d8f024d8a3137b
MD5 5ce363c081a987bced671b4ee1f40d61
BLAKE2b-256 a1409c14a58a64515388c2fbcc22a4f048f928efb5caed6b22c1ee21f14d9149

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 42380f3cde4ebfdede0f57e4874333a3c5bdc672e1f0b958ebbc658c1becd210
MD5 bc095c830b78a30e955ebe6ac650e295
BLAKE2b-256 11498a91d410c02cc189b0550a859a326a54f16e39dd5d919dd46f754fd3b38a

See more details on using hashes here.

File details

Details for the file uamqp-0.2.0-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for uamqp-0.2.0-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 40fa5436db3b43ec28a96a0c77dc2148093e0107360cd6fdee6b3f7fcff7e74d
MD5 ef255ff9832351a8267ba112a95910ee
BLAKE2b-256 501e4373baa78763d6264fa442a61aa8126379d81fdf4f4b6c0caae438642f8a

See more details on using hashes here.

File details

Details for the file uamqp-0.2.0-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for uamqp-0.2.0-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 9cfc6defe1621ecfe56fc280ed5cef05ae296081ca546125410150a099856020
MD5 70514c0794463165dd065684436511aa
BLAKE2b-256 9545a6283aa331092dd7ed0a7a656b84cc4db270fb4b5b2da961ea205125f4d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b63d66956da54b7466d26e4eb1a4802e9413092c01280044226f155a313d51b0
MD5 abfce8aca4e16e978ea111108bb81d08
BLAKE2b-256 1a45a8ce2584bdff32eb917fcf6d0a545bf49bf95c7fc502366749027e4b0301

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for uamqp-0.2.0-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9756c595126c55dd55f34abc3fdf5d04d7f713c4647cacbb6c199cee436b4780
MD5 d55456536c5dae713be94a0b6e45c4c4
BLAKE2b-256 b6ac7dcbe23853303a4d9bd0594aef8cc3b55075fd7ef2354b0a0e5b6a0ac8db

See more details on using hashes here.

File details

Details for the file uamqp-0.2.0-cp34-cp34m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for uamqp-0.2.0-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 97cf993a33ac44cd0e459d2ed75fddd3b923ee3f3640e57bfdd89860f2276b4d
MD5 7c8f82eb619c1608d8465e829e99df67
BLAKE2b-256 defa1217a569c2545e50cdf4156c899641970eb6ff0d6e37693d4edf0321f983

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