When I tried to do
yoyo init -d sqlite:///mydb.sqlite3 migrations
yoyo apply -b -v
using Python 3.8.10 I received the following traceback
Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 185, in _run_module_as_main mod_name, mod_spec, code = _get_module_details(mod_name, _Error) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 144, in _get_module_details return _get_module_details(pkg_main_name, error) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 111, in _get_module_details import(pkg_name) File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/init.py", line 27, in from yoyo.connections import get_backend File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/connections.py", line 23, in from yoyo.backends import get_backend_class File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/backends/init.py", line 1, in from yoyo.backends.base import DatabaseBackend File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/backends/base.py", line 33, in from yoyo import internalmigrations File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/internalmigrations/init.py", line 9, in from . import v2 File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/internalmigrations/v2.py", line 7, in from yoyo.migrations import get_migration_hash File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/migrations.py", line 41, in from yoyo.utils import plural File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/utils.py", line 133, in bind_parameters: t.Optional[abc.Mapping[str, t.Any]] TypeError: 'ABCMeta' object is not subscriptable Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 185, in _run_module_as_main mod_name, mod_spec, code = _get_module_details(mod_name, _Error) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 144, in _get_module_details return _get_module_details(pkg_main_name, error) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", line 111, in _get_module_details import(pkg_name) File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/init.py", line 27, in from yoyo.connections import get_backend File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/connections.py", line 23, in from yoyo.backends import get_backend_class File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/backends/init.py", line 1, in from yoyo.backends.base import DatabaseBackend File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/backends/base.py", line 33, in from yoyo import internalmigrations File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/internalmigrations/init.py", line 9, in from . import v2 File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/internalmigrations/v2.py", line 7, in from yoyo.migrations import get_migration_hash File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/migrations.py", line 41, in from yoyo.utils import plural File "/Users/dmytro.teretskyi/Documents/Projects/iqtestsoft/venv_3.8/lib/python3.8/site-packages/yoyo/utils.py", line 133, in bind_parameters: t.Optional[abc.Mapping[str, t.Any]] TypeError: 'ABCMeta' object is not subscriptable
The latest version (9.x) dropped support for Python 3.8, which is why you're seeing this message. You can still use the 8.2 release if you need py38 support - but note that py38 is now EOL , so I'm not supporting this branch.