Incompatible with Python 3.13 alpha (dependency on six.moves and other issues)
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 12.5k
- Forks
- 998
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 10
Description
$ python3
Python 3.13.0a4+ (heads/main:bb66600558, Mar 12 2024, 14:06:50) [Clang 15.0.0 (clang-1500.1.0.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> ^D
$ pip install llm
And when I use llm I am greeted with this exception.
Traceback (most recent call last):
File "/Users/senthilx/cpython/virtualenvs/python313/bin/llm", line 5, in <module>
from llm.cli import cli
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/llm/__init__.py", line 16, in <module>
from .embeddings import Collection
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/llm/embeddings.py", line 7, in <module>
from sqlite_utils import Database
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/sqlite_utils/__init__.py", line 1, in <module>
from .utils import suggest_column_types
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/sqlite_utils/utils.py", line 11, in <module>
from . import recipes
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/sqlite_utils/recipes.py", line 1, in <module>
from dateutil import parser
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/dateutil/__init__.py", line 16, in __getattr__
return importlib.import_module("." + name, __name__)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "/Users/senthilx/cpython/installs/python313/lib/python3.13/importlib/__init__.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/dateutil/parser/__init__.py", line 2, in <module>
from ._parser import parse, parser, parserinfo, ParserError
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/dateutil/parser/_parser.py", line 50, in <module>
from .. import tz
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/dateutil/__init__.py", line 16, in __getattr__
return importlib.import_module("." + name, __name__)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "/Users/senthilx/cpython/installs/python313/lib/python3.13/importlib/__init__.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/dateutil/tz/__init__.py", line 2, in <module>
from .tz import *
File "/Users/senthilx/cpython/virtualenvs/python313/lib/python3.13/site-packages/dateutil/tz/tz.py", line 21, in <module>
from six.moves import _thread
ModuleNotFoundError: No module named 'six.moves'
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported pip install llm and import failure on Python 3.13, then trace the chain through llm/embeddings.py, sqlite_utils, dateutil, and the six.moves import shown in the traceback. Review the dependency declarations and verify that installing and invoking llm no longer raises this exception on Python 3.13.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100