Check python version prerequisite
It would be good to have a check of python current installed version and potentially raise a warning when version is below current code prerequisite.
I have for instance a error message thrown when launching woob (latest version) from my box:
admin@7321c8e50a30:~/dev/weboob$ woob
usage: woob [--version] <command> [<args>]
Use one of this commands:
Traceback (most recent call last):
File "/home/admin/.local/bin/woob", line 33, in <module>
sys.exit(load_entry_point('woob', 'console_scripts', 'woob')())
File "/home/admin/dev/weboob/woob/applications/main/main.py", line 87, in run
return cls.print_list(app_list)
File "/home/admin/dev/weboob/woob/applications/main/main.py", line 70, in print_list
app_class = cls.load_app(app)
File "/home/admin/dev/weboob/woob/applications/main/main.py", line 53, in load_app
app_module = importlib.import_module("woob.applications.%s" % app)
File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/admin/dev/weboob/woob/applications/bands/__init__.py", line 18, in <module>
from .bands import Appbands
File "/home/admin/dev/weboob/woob/applications/bands/bands.py", line 19, in <module>
from woob.capabilities.base import empty
File "/home/admin/dev/weboob/woob/capabilities/__init__.py", line 1, in <module>
from .base import UserError, NotLoaded, NotAvailable, BaseObject, Capability
File "/home/admin/dev/weboob/woob/capabilities/base.py", line 18
from __future__ import annotations
^
SyntaxError: future feature annotations is not defined
I had to spend little time to figure out that this error message is because I use python 3.6 and that future feature annotations has been introduced in python 3.7.
It would be helpful for non technical users to have this notice.
Similarely it might be something to document: looking quickly in the documentation I didn't find formal prerequisite regarding python version.