Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider dropping six again now that Python 3.13 alphas are coming out #1352

Closed
simonw opened this issue Mar 12, 2024 · 3 comments
Closed

Consider dropping six again now that Python 3.13 alphas are coming out #1352

simonw opened this issue Mar 12, 2024 · 3 comments

Comments

@simonw
Copy link

simonw commented Mar 12, 2024

Original title: six.moves is incompatible with the Python 3.13 alphas, so dateutil does not currently work with Python 3.13 - but then on further investigation I could not replicate the reported error.

This was reported on one of my projects here:

The reported error was:

...
  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'

Dropping six was previously discussed here, but that was over a year ago long before the Python 3.13 alphas came out:

https://pypi.org/project/six/#history has not had a release since May 2021. It's not yet clear from the six issue tracker if they plan to release a version for Python 3.13: https://github.com/benjaminp/six/issues

@simonw
Copy link
Author

simonw commented Mar 12, 2024

... this may not be a problem with dateutil after all. I wasn't able to replicate it against my own fresh installation of Python 3.13 alpha, from pyenv:

pyenv install 3.13.0a3

Then:

~/.pyenv/versions/3.13.0a3/bin/python -m venv /tmp/3.13.0a3
/tmp/3.13.0a3/bin/pip install python-dateutil

And:

/tmp/3.13.0a3/bin/python -c 'import dateutil; print(dateutil.parser.parse("10 june"))'

Outputs:

2024-06-10 00:00:00

@simonw simonw changed the title six.moves is incompatible with the Python 3.13 alphas, so dateutil does not currently work with Python 3.13 Consider dropping six again now that Python 3.13 alphas are coming out Mar 12, 2024
@hugovk
Copy link
Contributor

hugovk commented Mar 13, 2024

Tests were passing for 3.13 two months ago: #1337

@simonw
Copy link
Author

simonw commented Mar 15, 2024

I'm going to close this. It looks like dateutil remains committed to Python 2.7 support, so six needs to stay:

I do think it would be reasonable for dateutil to drop Python 2.7 support in future versions, since people on Python 2.7 who ran pip install python-dateutil would continue to get a working 2.9.0 version forever even though future releases didn't support them.

@simonw simonw closed this as completed Mar 15, 2024
@dateutil dateutil deleted a comment from jvoisin Mar 15, 2024
@dateutil dateutil locked and limited conversation to collaborators Mar 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants