diff --git a/CHANGES.rst b/CHANGES.rst index d0015766..44daf34f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -16,6 +16,10 @@ Fix initialization without running loop 693.doc Update docs and examples to not use deprecated practices like passing loop explicitly +699.removal +Add deprecation warning when loop argument to AIOKafkaConsumer and AIOKafkaProducer is passed. +It's scheduled for removal in 0.8.0 as a preparation step towards upcoming Python 3.10 + 0.7.0 (2020-10-28) ================== diff --git a/aiokafka/consumer/consumer.py b/aiokafka/consumer/consumer.py index be7a78cc..559d8271 100644 --- a/aiokafka/consumer/consumer.py +++ b/aiokafka/consumer/consumer.py @@ -255,6 +255,10 @@ def __init__(self, *topics, loop=None, sasl_oauth_token_provider=None): if loop is None: loop = get_running_loop() + else: + warnings.warn("The loop argument is deprecated since 0.7.1, " + "and scheduled for removal in 0.8.0", + DeprecationWarning, stacklevel=2) if max_poll_records is not None and ( not isinstance(max_poll_records, int) or max_poll_records < 1): diff --git a/aiokafka/producer/producer.py b/aiokafka/producer/producer.py index b763de0c..25841bd1 100644 --- a/aiokafka/producer/producer.py +++ b/aiokafka/producer/producer.py @@ -192,6 +192,10 @@ def __init__(self, *, loop=None, bootstrap_servers='localhost', sasl_oauth_token_provider=None): if loop is None: loop = get_running_loop() + else: + warnings.warn("The loop argument is deprecated since 0.7.1, " + "and scheduled for removal in 0.8.0", + DeprecationWarning, stacklevel=2) if loop.get_debug(): self._source_traceback = traceback.extract_stack(sys._getframe(1)) self._loop = loop diff --git a/tests/test_consumer.py b/tests/test_consumer.py index f3ede36e..79f7ba21 100644 --- a/tests/test_consumer.py +++ b/tests/test_consumer.py @@ -119,8 +119,9 @@ async def test_simple_consumer(self): @run_in_thread def test_create_consumer_no_running_loop(self): loop = asyncio.new_event_loop() - consumer = AIOKafkaConsumer( - self.topic, bootstrap_servers=self.hosts, loop=loop) + with pytest.deprecated_call(): + consumer = AIOKafkaConsumer( + self.topic, bootstrap_servers=self.hosts, loop=loop) loop.run_until_complete(consumer.start()) try: loop.run_until_complete( diff --git a/tests/test_producer.py b/tests/test_producer.py index 3a77744f..f57dbd46 100644 --- a/tests/test_producer.py +++ b/tests/test_producer.py @@ -136,7 +136,8 @@ async def test_producer_send(self): @run_in_thread def test_create_producer_no_running_loop(self): loop = asyncio.new_event_loop() - producer = AIOKafkaProducer(bootstrap_servers=self.hosts, loop=loop) + with pytest.deprecated_call(): + producer = AIOKafkaProducer(bootstrap_servers=self.hosts, loop=loop) loop.run_until_complete(producer.start()) try: future = loop.run_until_complete(