python-dbus-next icon indicating copy to clipboard operation
python-dbus-next copied to clipboard

Create_task() is only available in python 3.7 and later

Open yurac opened this issue 2 years ago • 3 comments

Is it possible to fall back to ensure_future() instead create_task() in order to support python 3.6? The create_task() function is currently called in 1 place in file proxy_object.py Thanks!

yurac avatar Aug 03 '22 09:08 yurac

I'm not the maintainer of this project, so my opinion may not be worth much.

Having said that, Python 3.6 is no longer supported. Source: https://peps.python.org/pep-0494/

Supporting 3.6 add some complexity to the build system since the main distribution of pip no longer supports 3.6. Hence pr #118 removes 3.6 support to get CI builds working again.

garyvdm avatar Aug 04 '22 05:08 garyvdm

I'm not the maintainer of this project, so my opinion may not be worth much.

Having said that, Python 3.6 is no longer supported. Source: https://peps.python.org/pep-0494/

Supporting 3.6 add some complexity to the build system since the main distribution of pip no longer supports 3.6. Hence pr #118 removes 3.6 support to get CI builds working again.

@garyvdm I understand. I will have the following workaround for now:

# Dbus_next calls asyncio.create_task() which does not exist in python 3.6.                                             
# All else seem working. See issue #127                                                                                 
try:                                                                                                                    
    asyncio.create_task                                                                                                 
except AttributeError:                                                                                                  
    asyncio.create_task = asyncio.ensure_future                                                                         
import dbus_next as dbus                                                                                                

yurac avatar Aug 04 '22 10:08 yurac

@garyvdm I understand. I will have the following workaround for now:

# Dbus_next calls asyncio.create_task() which does not exist in python 3.6.                                             
# All else seem working. See issue #127                                                                                 
try:                                                                                                                    
    asyncio.create_task                                                                                                 
except AttributeError:                                                                                                  
    asyncio.create_task = asyncio.ensure_future                                                                         
import dbus_next as dbus                                                                                                

As I mentioned, I'm not the maintainer/owner of this project, so it's not up to me.

garyvdm avatar Aug 10 '22 05:08 garyvdm