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

Meta-ticket: Remove Python 2 support for Sage 9.2; upgrades enabled by the removal #29141

Closed
mkoeppe opened this issue Feb 2, 2020 · 27 comments

Comments

@mkoeppe
Copy link
Member

mkoeppe commented Feb 2, 2020

From https://groups.google.com/forum/#!topic/sage-devel/vYlbnAwKATM "drop python2 compatibility in 9.1" (thread Jan 5-22, 2020).

Removal of Python 2 support in Sage 9.2 has been announced at https://wiki.sagemath.org/Python3-Switch and https://wiki.sagemath.org/ReleaseTours/sage-9.1

Removal tickets:

Upgrade tickets:

Please check that upgraded packages are compatible with Python >= 3.6 (and note this on the upgrade ticket) because we may wish to support Python 3.6 venv (#29033).

Other:

  • compatibility with python 3.8... needs details
    • "at this point the major issues are python 3.8 and ipython 7, and I don't see how one could support several versions of them without forking hundreds of doctests. Both updates require multi-thousand-lines patches, due to changes in dict sorting and hashes."
  • remove src/sage/cpython/_py2_random.py

Reference: Tickets that kept Python 2 compatibility but introduced a performance penalty for Python 2:

See also:

CC: @fchapoton @embray @jdemeyer @slel @antonio-rojas @kiwifb @timokau @jhpalmieri @tscrim @isuruf @nbruin @orlitzky @vbraun @dimpase @videlec @kliem

Component: python3

Keywords: sd109

Reviewer: Dima Pasechnik

Issue created by migration from https://trac.sagemath.org/ticket/29141

@mkoeppe mkoeppe added this to the sage-9.2 milestone Feb 2, 2020
@antonio-rojas
Copy link
Contributor

comment:1

python 3.8 update is tracked in #27754, there is a list of issues that need fixing. rpy3 support is merged already in 9.1.beta2 (#28988), as well as networkx 2.4, which is also py3-only (#28450). IMO #28190 is no longer worth the effort at this point, provided that python2 support is to be dropped at 9.2 in the worst case.

@mkoeppe
Copy link
Member Author

mkoeppe commented Feb 2, 2020

comment:2

Please feel free to update the ticket description.

@antonio-rojas

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Member Author

mkoeppe commented Apr 8, 2020

comment:8

I have just updated https://wiki.sagemath.org/Python3-Switch to say that the upcoming 9.1 will still support Python 2

@jhpalmieri

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe changed the title Meta-ticket: Upgrades and other changes that require dropping py2 support or separate package versions for py2/py3 Meta-ticket: Remove Python 2 support for Sage 9.2; upgrades enabled by the removal May 9, 2020
@mkoeppe

This comment has been minimized.

@kiwifb
Copy link
Member

kiwifb commented May 23, 2020

comment:12

I am working on #29042 and I noticed that neither #28000 or #29669 remove # py2 and # py3 for doctesting. Is there a ticket for that which should then be in the summary, or is it something that is planned to be removed on the longer term?

@mkoeppe

This comment has been minimized.

@jhpalmieri

This comment has been minimized.

@jhpalmieri
Copy link
Member

comment:15

@kiwifb: I don't know of any ticket for removing py2 and py3 tags.

@kiwifb
Copy link
Member

kiwifb commented May 26, 2020

comment:16

Another thing that I spotted scanning stuff in #29633. We have a lot python feature backport packages in our tree. We may want to get rid of them as we get rid of python 2.7 and anything older than python 3.7 in fact. Look at enum34 if you don't get what I mean.

@slel
Copy link
Member

slel commented May 26, 2020

comment:17

Another thing that I spotted scanning stuff in #29633.
We have a lot of Python feature backport packages in our tree.
We may want to get rid of them as we get rid of Python 2.7
and anything older than Python 3.7 in fact. Look at enum34
if you don't get what I mean.

Consider keeping support Python 3.6, whose official support is till 2021-12-23. See #29033.

Python 3.5 support ends in 2020-09, so fine to drop it. See life cycle of Python versions:

@mkoeppe
Copy link
Member Author

mkoeppe commented May 28, 2020

Changed keywords from none to sd109

@jhpalmieri
Copy link
Member

comment:19

Replying to @kiwifb:

Another thing that I spotted scanning stuff in #29633. We have a lot python feature backport packages in our tree. We may want to get rid of them as we get rid of python 2.7 and anything older than python 3.7 in fact. Look at enum34 if you don't get what I mean.

I'm working on this. I'll open up a ticket and post a link here some time soon.

@jhpalmieri
Copy link
Member

comment:20

Replying to @jhpalmieri:

I'm working on this. I'll open up a ticket and post a link here some time soon.

See #29754.

@jhpalmieri

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mkoeppe

This comment has been minimized.

@mwageringel

This comment has been minimized.

@mkoeppe
Copy link
Member Author

mkoeppe commented Aug 18, 2020

comment:26

We can close this ticket as completed.

@mkoeppe mkoeppe removed this from the sage-9.2 milestone Aug 18, 2020
@dimpase
Copy link
Member

dimpase commented Aug 21, 2020

Reviewer: Dima Pasechnik

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants