Syseleven-carrot

Latest version: v0.10.999

Safety actively analyzes 629532 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 5

0.10.1

----------------------------------

* Fixed syntax error typo in the Pika backend.

0.10.0

----------------------------------

* Added experimental Pika backend for async support. See
http://github.com/tonyg/pika

* Python 2.4 compatibility.

* Added intent revealing names for use with the delivery_mode attribute

* The amqplib internal connection now supports waiting for events on any
channel, so as to not block the event loop on a single channel. Example:

>>> from carrot.connection import BrokerConnection
>>> from carrot.messaging import Consumer, Publisher
>>> from functools import partial
>>> connection = BrokerConnection(...)
>>> consumer1 = Consumer(queue="foo", exchange="foo")
>>> consumer2 = Consumer(queue="bar", exchange="bar")
>>> def callback(channel, message_data, message):
... print(%s: %s" % (channel, message_data))
>>> consumer1.register_callback(partial(callback, "channel1"))
>>> consumer2.register_callback(partial(callback, "channel2"))

>>> pub1 = Publisher(exchange="foo")
>>> pub2 = Publisher(exchange="bar")
>>> [(i % 2 and pub1 or pub2).send({"hello": "world"})
... for i in range(100)]

>>> while True:
... connection.connection.drain_events()

But please be sure to note that this is an internal feature only,
hopefully we will have a public interface for this for v1.0.

0.8.0

---------------------------------

**BACKWARD INCOMPATIBLE CHANGES**

* Django: ``AMQP_SERVER`` has been deprecated and renamed to ``BROKER_HOST``.
``AMQP_SERVER`` is still supported but will be removed in version 1.0.

* Django: All ``AMQP_*`` settings has been renamed to ``BROKER_*``,
the old settings still work but gives a deprecation warning.
``AMQP_*`` is scheduled for removal in v1.0.

* You now have to include the class name in the
CARROT_BACKEND string. E.g. where you before had "my.module.backends", you now
need to include the class name: ``"my.module.backends.BackendClass"``.
The aliases works like before.

*BUGFIXES*

* Cancel should delete the affected _consumer

* qos()/flow() now working properly.

* Fixed the bug in UUID4 which makes it return the same id over and over.

*OTHER*

* Sphinx docs: Remove django dependency when building docs. Thanks jetfar!

* You can now build the documentatin using ``python setup.py build_sphinx``
(thanks jetfar!)

0.6.1

------------------------------------------------------------------

* Forgot to implement qos/flow in the pyamqplib backend (doh).
Big thanks to stevvooe! See issue `18`_

* Renamed ConsumerSet._open_channels -> _open_consumers

* Channel is now a weak reference so it's collected on channel exception.
See issue `17`_. Thanks to ltucker.

* Publisher.auto_declare/Consumer.auto_declare: Can now disable the default
behaviour of automatically declaring the queue, exchange and queue binding.

* Need to close the connection to receive mandatory/immediate errors
(related to issue `16`_). Thanks to ltucker.

* pyamqplib backend close didn't work properly, typo channel -> _channel

* Adds carrot.backends.pystomp to the reference documentation.

.. _`18`: http://github.com/ask/carrot/issuesissue/18
.. _`17`: http://github.com/ask/carrot/issuesissue/17
.. _`16`: http://github.com/ask/carrot/issuesissue/16

0.6.0

------------------------------------------------------------------

**BACKWARD INCOMPATIBLE CHANGES**

* AMQPConnection renamed to BrokerConnection with AMQPConnection remaining
an alias for backwards compatability. Similarly DjangoAMQPConnection is
renamed to DjangoBrokerConnection.

* AMQPConnection renamed to BrokerConnection
DjangoAMQPConnection renamed to DjangoBrokerConnection
(The previous names are still available but will be deprecated in 1.0)

* The connection is now lazy, requested only when it's needed.
To explicitly connect you have to evaluate the BrokerConnections
``connection`` attribute.

>>> connection = BrokerConnection(...) Not connected yet.
>>> connection.connection; Now it's connected

* A channel is now lazy, requested only when it's needed.

* pyamqplib.Message.amqp_message is now a private attribute

**NEW FEATURES**

* Basic support for STOMP using the stompy library.
(Available at http://bitbucket.org/benjaminws/python-stomp/overview/)

* Implements :meth:`Consumer.qos` and :meth:`Consumer.flow` for setting
quality of service and flow control.

**NEWS**

* The current Message class is now available as an attribute on the
Backend.

* Default port is now handled by the backend and all AMQP_* settings to the
DjangoBrokerConnection is now optional

* Backend is now initialized in the connection instead of Consumer/Publisher,
so backend_cls now has to be sent to AMQPConnection if you want to
explicitly set it.

* Specifying utf-8 as the content type when forcing unicode into a string.
This removes the reference to the unbound content_type variable.

0.5.1

------------------------------------------------------------------

* Handle messages without content_encoding attribute set.

* Make delivery_info available on the Message instance.

* Use anyjson to detect best installed JSON module on the system.

Page 2 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.