Commit Graph

107 Commits

Author SHA1 Message Date
Paul Rysiavets 07c8852be5
Feature: urllib3 instead of curl (#2134)
* feature(urllib3): add urllib3 client

* test(urllib3): test urllib3 client

* test(urllib3): update http test for urllib3

* test(urllib3): use urllib3 client instead of curl

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* style(urllib3): remove unused imports

* style(urllib3): fix pre-commit errors

* ci(urllib3): remove pycurl dependency

* docs(urllib3): add docs

* style(urllib3): fix failing gh-workflow py3.8

* style(urllib3): add mention of ProxyManager

* style(urllib3): fix pre-commit issues

* style(pycurl): remove curl-related code

* feat(urllib3): add missing request features (header, auth, ssl, proxy, redirects)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix(urllib3): improve styling

* test(urllib3): add new tests

* fix(urllib3): fix request auth

* fix(aws): validate certificate on request

* style(): add missing exports

* feat(aws): add ssl certificate verification from boto

* feat(urllib): try to use certifi.where() if request.ca_certs are not provided

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* ci(pydocstyle): add missing docstring in public class

* test(urllib3): improve test case

* ci(pydocstyle): fix multi-line docstring summary should start at the first line

* feat(urllib3): remove assert_hostname

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* test(boto): add test for get_cert_path returning .pem file path

* test(urllib3): add test for _get_pool_key_parts method

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
Co-authored-by: Tomer Nosrati <tomer.nosrati@gmail.com>
2024-10-14 17:01:25 +06:00
Haim Daniel 2f58823312
Add support for Google Pub/Sub as transport broker (#2147)
* Add support for Google Pub/Sub as transport broker

 * Add tests
 * Add docs

* flake8

* flake8

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix future import

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add missing test requirements

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add monitoring dependency

* Fix test for python3.8

* Mock better google's monitoring api

* Flake8

* Add refdoc

* Add extra url to workaround pypy grpcio

* Add extra index url in tox for grpcio/pypy support

* Revert "Add extra url to workaround pypy grpcio"

This reverts commit dfde4d523c.

* pin grpcio version to match extra_index wheel

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Reduce poll calls if qos denies msg rx

---------

Co-authored-by: Haim Daniel <haimdaniel@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tomer Nosrati <tomer.nosrati@gmail.com>
2024-10-13 16:49:55 +03:00
Omer Katz 5a88a28f31
Add native delayed delivery API to kombu (#2128)
* Adjust flake8 configuration to match Celery's configuration.

* Add native delayed delivery API.

* Add documentation.

* Fix linter errors.

* Fix pydocstyle errors.

* Fix apicheck linter.

* Address code review.
2024-10-12 21:17:55 +03:00
Aviram Hassan aeebd065a6
SQS: add support for passing MessageAttributes (#2059)
* SQS: add support for passing MessageAttributes

* tests,docs

* fix tests

* format ,docs

---------

Co-authored-by: Tomer Nosrati <tomer.nosrati@gmail.com>
2024-07-21 22:52:50 +03:00
CountRedClaw 33e8e5a781
Kafka support (#1506)
* Add kafka support

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix checks

* Fix checks

* Update kombu/transport/confluentkafka.py

Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>

* Add customization ability

* Add docs

* Fix pypi integration tests

* Fix pydocstyle

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup

* Disable PyPy tests

* Fix tests

* Add docs

Co-authored-by: ilbo0518 <ilia.borsuk@netcracker.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
2022-04-21 23:40:41 +06:00
dobosevych 260823304f
json.py cleaning from outdated libs (#1533)
* json.py cleaning from outdated libs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* 1. Removed cjson and simplejson from documentation, as those libraries aren't supported anymore
2. Removed _json_extra_kwargs from json.py

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-16 16:57:37 +06:00
gal cohen bf35d206e7
alter doc (#1304)
Co-authored-by: galcohen <gal.cohen@autodesk.com>
2021-03-02 15:35:37 +02:00
gal cohen 2e9856023c
SQS back-off policy (#1301)
* sqs retry policy

* add test

* method definition

* add validation

* rename policy

* add kombu doc

* improve docstring

* add test and doc

* test fix

* test fixes

* add doc

* Update docs/reference/kombu.transport.SQS.rst

Co-authored-by: Omer Katz <omer.drow@gmail.com>

* Update docs/reference/kombu.transport.SQS.rst

Co-authored-by: Omer Katz <omer.drow@gmail.com>

* Update kombu/transport/SQS.py

Co-authored-by: Omer Katz <omer.drow@gmail.com>

* Update kombu/transport/SQS.py

Co-authored-by: Omer Katz <omer.drow@gmail.com>

* Update kombu/transport/SQS.py

Co-authored-by: Omer Katz <omer.drow@gmail.com>

* review improvements

* improvements

* add improvements

* rename

Co-authored-by: galcohen <gal.cohen@autodesk.com>
Co-authored-by: Omer Katz <omer.drow@gmail.com>
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>
2021-03-02 12:22:47 +02:00
Matus Valo d787492076 Remove kombu.transport.sqlalchemy.models from API reference Table of Content 2020-11-03 23:39:20 +01:00
Matus Valo 7b989d64b7
Reformat and improve kombu transport reference docs (#1264) 2020-11-03 22:41:22 +01:00
Matus Valo 5620904c75 Split reference guide into sections 2020-10-08 20:10:00 +02:00
Matus Valo 7b2578b19b rename section kombu -> kombu.serialization in reference docs 2020-10-02 22:57:12 +02:00
Matus Valo 01719be0b8 Removed kombu.five from reference toctree 2020-09-27 21:33:51 +02:00
Matus Valo f475285894 Added Redis SentinelChannel to reference docs 2020-09-23 23:01:04 +02:00
Omer Katz d49db76d90 Fix documentation issues. 2020-08-23 19:05:33 +03:00
Jason Held 41dbbe3063 Control pattern matching (#997)
* Added pattern/matcher to Mailbox

* pattern/match for kombu 4

* Ensure kombu.matcher is covered by our documentation.

* Adds test_matcher & pidbox unit tests.

* Added tests to ensure exception is raised when matcher is not registered.

* Adds to test for destination passed in to process.
2019-02-27 20:23:12 +06:00
Omer Katz fa0cb19d27 Update reference. 2019-01-09 17:28:36 +02:00
Omer Katz b37e035c39 Fixed sphinx warnings. 2019-01-09 16:51:28 +02:00
Irmen de Jong aa8ea28f50 Making the pyro transport available, fix it for recent Pyro4 versions, add broker daemon (#895)
* Make the pyro transport available and fix it for recent Pyro4 version.
Implemented the missing Pyro Kombu broker to actually be able to use the Pyro transport

* code style
2018-11-25 20:40:54 +06:00
Clemens Wolff 32633554ac Add transports based on Azure PaaS (#891)
* Add transports based on Azure PaaS

This pull request adds two new transport implementations:

- `azurestoragequeues` is implemented on top of Azure Storage
  Queues [1]. This offers a simple but scalable and low-cost PaaS
  transport for Celery users in Azure. The transport is intended to be
  used in conjunction with the Azure Block Blob Storage backend [2].

- `azureservicebus` is implemented on top of Azure Service Bus [3] and
  offers PaaS support for more demanding Celery workloads in Azure. The
  transport is intended to be used in conjunction with the Azure
  CosmosDB backend [4].

This pull request was created together with @ankurokok, @dkisselev,
@evandropaula, @martinpeck and @michaelperel.

[1] https://azure.microsoft.com/en-us/services/storage/queues/
[2] https://github.com/celery/celery/pull/4685
[3] https://azure.microsoft.com/en-us/services/service-bus/
[4] https://github.com/celery/celery/pull/4720

* Exclude Azure transports from code coverage

There is test coverage for the transports but the tests require Azure
credentials to run (passed via environment variables) so codecov doesn't
exercise them.

* Remove env vars to configure transport

* Remove abbreviations
2018-08-30 23:34:52 +06:00
Jon Dufresne cb516bbf74 Update all pypi.python.org URLs to pypi.org (#885)
For details on the new PyPI, see the blog post:

https://pythoninsider.blogspot.ca/2018/04/new-pypi-launched-legacy-pypi-shutting.html
2018-06-10 16:40:04 +06:00
Thomas Achtemichuk 75695205f6 Rename `async` keyword to `asynchronous` (#839)
* Rename `async` keyword to `asynchronous`

* Fixes #742
* Resolves "DeprecationWarning: 'async' and 'await' will become reserved
  keywords in Python 3.7"

* Address PR feedback

* Update appveyor config

* Rename docs and tests
2018-03-19 19:28:43 +02:00
Mads Jensen 584451e093 Update links in documentation to either https or to new locations (#786) 2017-08-20 14:31:10 +03:00
Amin Ghadersohi be79b3d4cd Re-Adding support for sqlalchemy as it is needed by Apache project Airflow (#687)
* Re-Adding support for sqlalchemy as it is needed by Apache project Airflow

* Re-Adding support for sqlalchemy as it is needed by Apache project Airflow
2017-05-17 14:17:47 +06:00
Ask Solem 84d1eb9501 Exchange.publish now supports str/bytes argument 2016-10-27 17:01:00 -07:00
Ask Solem 5d91ef3dbe Doc fixes 2016-10-27 16:15:40 -07:00
Ask Solem 95e4c9ab21 Adds kombu.utils.time to API Reference 2016-10-14 17:01:45 -07:00
Ask Solem 03790d3afc Removes kombu.syn, moves detect_environment to utils.compat 2016-10-05 16:14:42 -07:00
Stephen Milner 7fa3172ead Add Etcd Transport (#619)
This transport is highly influenced by the Consul Transport.
Messages are kept in keys within Etcd through the python-etcd library.
2016-08-26 15:06:54 +06:00
Ask Solem 85c191a48a Reorganizes kombu.utils.__init__ package 2016-07-16 13:34:08 -07:00
Ask Solem 87a5568bc8 Use Google-style docstrings 2016-07-16 11:51:23 -07:00
Ask Solem e4189c0c95 Removes deprecated amqplib transport (replaced by py-amqp) 2016-06-28 15:52:49 -07:00
Ask Solem 5f817ff1f9 Removes ZeroMQ transport for lack of resources to support it. 2016-06-28 15:48:09 -07:00
Ask Solem 5f3ae92708 Removes Beanstalk transport for lack of resources to support it 2016-06-28 15:45:30 -07:00
Ask Solem d06248ebaa Removes CouchDB transport for lack of resources to maintain it. 2016-06-28 15:41:54 -07:00
Ask Solem 65f982ccf3 Removes Django ORM as a broker support 2016-06-27 19:31:01 -07:00
Ask Solem 1cd4e07f9e Removes SQLAlchemy as a broker support 2016-06-27 19:26:44 -07:00
Wido den Hollander 551d92014d Add Consul K/V store Transport
Using the Key/Value store of Consul.io this commit adds a new
Transport.

It is a simple Transport which Messages as Keys in the K/V store
of Consul using the HTTP API.

The HTTP API is consumed using the python-consul client which exposes
the API in a Python way.
2016-06-15 17:41:32 -07:00
Ask Solem a25b77756c [dist] Use apicheck from sphinx_celery 2016-04-08 15:06:19 -07:00
Ask Solem a8203aee1f [requirements][docs] Now depends on Sphinx 1.4 2016-04-07 11:46:09 -07:00
Ask Solem 4f4c2c9a04 acknowledgment (US) not acknowledgEment 2016-03-22 13:51:35 -07:00
Ask Solem a8569f3a82 flakes 2016-03-21 15:47:07 -07:00
Ask Solem 45ac835e97 Redis: Adds queue_order_strategy transport option (Closes #518).
Order in which we consume from queues.
Can be either string alias, or a cycle strategy class

- ``round_robin``
    :class:`~kombu.utils.scheduling.round_robin_cycle``

    Make sure each queue has an equal opportunity to be consumed from.

- ``sorted``
    :class:`~kombu.utils.scheduling.sorted_cycle`.

    Consume from queues in alphabetical order.
    If the first queue in the sorted list always contains messages,
    then the rest of the queues will never be consumed from.

- ``priority``
    :class:`~kombu.utils.scheduling.priority_cycle`.

    Consume from queues in original order, so that if the first
    queue always contains messages, the rest of the queues
    in the list will never be consumed from.

    The default is to consume from queues in round robin.
2015-11-24 13:37:48 -08:00
Ask Solem 413ace9274 Renames Python2/Python3 -> Python 2/Python 3 2015-11-06 12:04:39 -08:00
Brian Bouterse c569d35c30 Merge branch 'master' into qpid-transport 2014-06-11 09:21:03 -04:00
Ask Solem 19c83a1b52 Merge branch '3.0'
Conflicts:
	README.rst
	kombu/__init__.py
	kombu/async/hub.py
	kombu/utils/url.py
2014-06-02 17:20:32 +01:00
Ask Solem 202e5b56e8 Fixes typo in reference index 2014-06-02 17:18:32 +01:00
Brian Bouterse 95c729b3f2 Merge branch 'master' into qpid-transport
Conflicts:
	README.rst
	docs/userguide/connections.rst
2014-05-28 10:05:56 -04:00
Ask Solem f80e0c349f Removes kombu.utils.compat.get_errno 2014-05-21 12:57:24 +01:00
Brian Bouterse 6385b210bd Adding pip install docs to the top of the transport 2014-03-18 17:00:37 -04:00