Yakifo/amqtt

Incompatibility with Python 3.10: Event() no longer supports loop parameter

tazle opened this issue · 5 comments

tazle commented

After solving the initialization issue as noted in #95, I bumped into the following incompatibility with 3.10:

Traceback (most recent call last):
  File "//shovel.py", line 23, in main
    from_client = await connect(from_url)
  File "//shovel.py", line 9, in connect
    client = MQTTClient()
  File "/usr/local/lib/python3.10/site-packages/amqtt/client.py", line 119, in __init__
    self._connected_state = asyncio.Event(loop=self._loop)
  File "/usr/local/lib/python3.10/asyncio/locks.py", line 167, in __init__
    super().__init__(loop=loop)
  File "/usr/local/lib/python3.10/asyncio/mixins.py", line 17, in __init__
    raise TypeError(
TypeError: As of 3.10, the *loop* parameter was removed from Event() since it is no longer necessary

I'll drop to 3.9 rather than figuring out how and where to fix this right now.

Version 0.10 has no support for Python 3.10 only for 3.7-3.9 (as you can see from the python badge on the readme)
Version 0.11 will add Python 3.10 compatibility but this version is under development (meaning not released yet)

Let me start by saying great job on maintaining the old hbmqtt.
@edenhaus is there a road map when version 0.11 will be released?

Bump. Python 3.11 is now released and we are still waiting for 3.10 support.
Can we please ensure that both 3.10 and 3.11 are properly supported in 0.11?

If you need the Python 3.10 support ASAP, you could try using the master version from Github instead of the published package from Pypi

0.11.0-beta1 has been released which is compatible with newer python versions, please check it out.