Move requirements for the optional drivers (amqp1, kafka)
Move the requirements for the optional drivers to test-requirements.txt and setup.cfg. The default rabbitmq driver's dependencies should be the only hard requirements for the base package. Leaving ZeroMQ deps unchanged for now as it will be removed in Stein Change-Id: I19dd699ccf87e43202ccefb99258fbaa9ea17b7e
This commit is contained in:
parent
629d449bbb
commit
1231c4cbf2
@ -10,3 +10,4 @@ reno>=2.5.0 # Apache-2.0
|
|||||||
fixtures>=3.0.0 # Apache-2.0/BSD
|
fixtures>=3.0.0 # Apache-2.0/BSD
|
||||||
kafka-python>=1.3.1 # Apache-2.0
|
kafka-python>=1.3.1 # Apache-2.0
|
||||||
pyngus>=2.2.0 # Apache-2.0
|
pyngus>=2.2.0 # Apache-2.0
|
||||||
|
tenacity>=3.2.1 # Apache-2.0
|
||||||
|
@ -211,25 +211,37 @@ as the API is a very low-level interface to the AMQP protocol.
|
|||||||
Instead, the driver uses the pure python `Pyngus`_ client API, which
|
Instead, the driver uses the pure python `Pyngus`_ client API, which
|
||||||
is layered on top of the protocol engine.
|
is layered on top of the protocol engine.
|
||||||
|
|
||||||
|
In order to run the driver the Proton Python bindings, Proton
|
||||||
|
library, Proton header files, and Pyngus must be installed.
|
||||||
|
|
||||||
.. _Proton: http://qpid.apache.org/proton/index.html
|
.. _Proton: http://qpid.apache.org/proton/index.html
|
||||||
.. _Pyngus: https://github.com/kgiusti/pyngus
|
.. _Pyngus: https://github.com/kgiusti/pyngus
|
||||||
|
|
||||||
In order to run the driver the Proton Python bindings, Proton
|
Source packages for the `Pyngus client API`_ are available via PyPI.
|
||||||
library, Proton header files, and Pyngus must be installed. Pre-built
|
|
||||||
packages for both Pyngus and the Proton protocol engine are available
|
.. _Pyngus client API: https://pypi.python.org/pypi/pyngus
|
||||||
for various Linux distributions (see `packages`_ below). It is
|
|
||||||
recommended to use the pre-built packages if they are available for
|
Pyngus depends on the Proton Python bindings. Source packages for the
|
||||||
your platform.
|
`Proton Python bindings`_ are also available via PyPI.
|
||||||
|
|
||||||
|
.. _Proton Python bindings: https://pypi.python.org/pypi/python-qpid-proton
|
||||||
|
|
||||||
|
Since the AMQP 1.0 driver is an optional extension to Oslo.Messaging
|
||||||
|
these packages are not installed by default. Use the 'amqp1' extras
|
||||||
|
tag when installing Oslo.Messaging in order to pull in these extra
|
||||||
|
packages:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
pip install oslo.messaging[amqp1]
|
||||||
|
|
||||||
The Proton package includes a C extension that links to the Proton
|
The Proton package includes a C extension that links to the Proton
|
||||||
library. If this library is not installed, then the Proton install
|
library. The C extension is built locally when the Proton source
|
||||||
script will attempt to download the necessary Proton C source files from
|
packages are install from PyPI. In order to build the Proton C source
|
||||||
the Apache repository and build the library locally.
|
locally, there are a number of tools and libraries that need to be
|
||||||
|
present on the system:
|
||||||
|
|
||||||
In order to build the Proton C source locally, there are a number of
|
* The tools and library necessary for Python C development
|
||||||
tools and libraries that need to be present:
|
|
||||||
|
|
||||||
* The tools and library necessary for Python development
|
|
||||||
* The `SWIG`_ wrapper generator
|
* The `SWIG`_ wrapper generator
|
||||||
* The `OpenSSL`_ development libraries and headers
|
* The `OpenSSL`_ development libraries and headers
|
||||||
* The `Cyrus SASL`_ development libraries and headers
|
* The `Cyrus SASL`_ development libraries and headers
|
||||||
@ -238,9 +250,14 @@ tools and libraries that need to be present:
|
|||||||
.. _OpenSSL: https://www.openssl.org
|
.. _OpenSSL: https://www.openssl.org
|
||||||
.. _Cyrus SASL: https://cyrusimap.org
|
.. _Cyrus SASL: https://cyrusimap.org
|
||||||
|
|
||||||
**Note well**: Currently the Proton Pypi package only supports building
|
**Note well**: Currently the Proton PyPI package only supports building
|
||||||
the C extension on Linux systems.
|
the C extension on Linux systems.
|
||||||
|
|
||||||
|
Pre-built packages for both Pyngus and Proton engine are available for
|
||||||
|
various Linux distributions (see `packages`_ below). It is recommended
|
||||||
|
to use the pre-built packages if they are available for your platform.
|
||||||
|
|
||||||
|
|
||||||
Router Intermediary
|
Router Intermediary
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
prelude: >
|
||||||
|
Projects using any of the optional drivers can use extras to
|
||||||
|
pull in dependencies for that driver.
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
Projects using the AMQP 1.0 driver may now depend on
|
||||||
|
oslo.messaging[amqp1]. Projects using the Kafka driver may now
|
||||||
|
depend on oslo.messaging[kafka]
|
||||||
|
|
||||||
|
|
||||||
|
|
14
setup.cfg
14
setup.cfg
@ -18,6 +18,20 @@ classifier =
|
|||||||
Programming Language :: Python :: 3
|
Programming Language :: Python :: 3
|
||||||
Programming Language :: Python :: 3.5
|
Programming Language :: Python :: 3.5
|
||||||
|
|
||||||
|
[extras]
|
||||||
|
# package dependencies for optional (non-rabbitmq) messaging drivers.
|
||||||
|
# projects can test-depend on oslo.messaging[<drivers>]
|
||||||
|
# e.g.: oslo.messaging[kafka,amqp1]
|
||||||
|
zmq =
|
||||||
|
pyzmq>=14.3.1 # LGPL+BSD
|
||||||
|
tenacity>=4.4.0 # Apache-2.0
|
||||||
|
redis>=2.10.0 # MIT
|
||||||
|
amqp1 =
|
||||||
|
pyngus>=2.2.0 # Apache-2.0
|
||||||
|
kafka =
|
||||||
|
kafka-python>=1.3.1 # Apache-2.0
|
||||||
|
tenacity>=4.4.0 # Apache-2.0
|
||||||
|
|
||||||
[files]
|
[files]
|
||||||
packages =
|
packages =
|
||||||
oslo_messaging
|
oslo_messaging
|
||||||
|
@ -27,11 +27,6 @@ kafka-python>=1.3.1 # Apache-2.0
|
|||||||
# deps = {[testenv]deps} coverage
|
# deps = {[testenv]deps} coverage
|
||||||
coverage!=4.4,>=4.0 # Apache-2.0
|
coverage!=4.4,>=4.0 # Apache-2.0
|
||||||
|
|
||||||
# this is required for the docs build jobs
|
|
||||||
sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
|
|
||||||
openstackdocstheme>=1.18.1 # Apache-2.0
|
|
||||||
reno>=2.5.0 # Apache-2.0
|
|
||||||
|
|
||||||
# AMQP 1.0 support depends on the Qpid Proton AMQP 1.0
|
# AMQP 1.0 support depends on the Qpid Proton AMQP 1.0
|
||||||
# development libraries.
|
# development libraries.
|
||||||
pyngus>=2.2.0 # Apache-2.0
|
pyngus>=2.2.0 # Apache-2.0
|
||||||
|
Loading…
Reference in New Issue
Block a user