Skip to main content

Set of tools to work with Qpid and a library for high-level Qpid interaction.

Project description

https://travis-ci.org/Bynder/qpid-bow.svg?branch=master https://coveralls.io/repos/github/Bynder/qpid-bow/badge.svg?branch=master Documentation Status

Qpid Bow is a higher level client framework for Python 3.6+ to communicate with AMQP/Qpid servers combined with a set of CLI tools to manage a Qpid server.

With its CLI tools Qpid Bow provides the missing tooling you always wanted to administrate or debug your Qpid-based AMQP stack. Providing you with the power to manage queues and exchanges, setup and save routing using YAML files and various other tools.

As a framework Qpid Bow can provide you with a higher level interface on top of the low level Qpid Proton library to integrate with AMQP/Qpid queues, exchanges and Remote Procedure Call (RPC) functionality:

  • Simple, callback based receiver, supporting listening for multiple queues.

  • RPC calls with automatic temporary queues and callbacks.

  • Queue based sender.

  • Included Qpid management code for queue/exchange creation.

  • Support to run under Python’s asyncio event loop with async def callbacks.

Requirements

Installation

Qpid Bow is available from PyPI:

$ pip install qpid-bow

Or add qpid-bow to your application’s requirements using requirements.txt / setup.py / Pipfile.

Testing

Qpid Bow’s unit tests need to connect to an actual Apache Qpid server for all tests to succeed. By default the tests assume a server exists on localhost.

To specify the server address to use for tests use the environment variable: AMQP_TEST_SERVERS

Available tools

Queue

  • qb queue create - Create queues.

  • qb queue delete - Delete queues.

  • qb queue purge - Purge messages from a queue.

  • qb queue reroute - Reroute messages from a queue to an exchange.

  • qb queue stats - Print queue usage statistics and active number of messages.

Message

  • qb message receive - Receive messages from a queue or an exchange.

  • qb message send - Send messages to a queue or an exchange.

Route

  • qb route dump - View & save exchange -> queue routing.

  • qb route config - Setup exchange -> queue routing from a saved file.

Connection

  • qb connection kill - Kill connections from the server.

Session

  • qb session outgoing - List outgoing sessions from the server.

Configuration & Environment variables

Several options exist to configure Qpid Bow. In order of preference:

Pass in arguments One can always override the used server URL using arguments:

  • For the CLI tools, use the --broker-url command line argument.

  • For the library pass in the keyword argument server_url.

Configure using a dict When using Qpid Bow as a library, one can pass in config using a dict to: qpid_bow.config.configure

The dict can contain the following entries:

  • amqp_url - Comma-separated list of main and failover servers to connect to.

  • username - Username to use when no username is provided in the URL.

  • password - Password to use when no password is provided in the URL.

Environment variables The easiest way to configure Qpid Bow’s tools and library is to use environment variables. These variables can be added to your shell’s profile and will automatically get picked up.

  • AMQP_SERVERS - Comma-separated list of main and failover servers to connect to.

  • AMQP_TEST_SERVERS - Same as AMQP_SERVERS, used solely for unittests.

example: AMQP_SERVERS=amqp://user:pass@192.168.1.1:5672,amqp://user:pass@192.168.1.2:5672

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

qpid-bow-1.1.1.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

qpid_bow-1.1.1-py3-none-any.whl (39.1 kB view details)

Uploaded Python 3

File details

Details for the file qpid-bow-1.1.1.tar.gz.

File metadata

  • Download URL: qpid-bow-1.1.1.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.4

File hashes

Hashes for qpid-bow-1.1.1.tar.gz
Algorithm Hash digest
SHA256 aaaab9ab9fa44c294db78134731d14259e6885940beccdfa941a26e4bf54396c
MD5 3909dfe206ec7ebaa765b7c557f42447
BLAKE2b-256 dad41732bf3d018b24c69352f0d90d099ece8be687e2350664e0a7ce5e699497

See more details on using hashes here.

File details

Details for the file qpid_bow-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: qpid_bow-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 39.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.4

File hashes

Hashes for qpid_bow-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4f5fa68baabf7b3177d9fd69a2556c2ad36c835e6dabdd0ca632fd0f7bbce9d6
MD5 6aadab5f729236e4e13f7638d78e2dfc
BLAKE2b-256 5a5360deeae5222057484694226abeae613ce06726d302e9210126d40b08a400

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