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

Port to Python 3 #78

Closed
mr-bo-jangles opened this issue Nov 26, 2016 · 25 comments
Closed

Port to Python 3 #78

mr-bo-jangles opened this issue Nov 26, 2016 · 25 comments
Labels
Accepted Accepted issue on our roadmap Bug Generic bug: can be used together with more specific labels Needed: patch A pull request is required Priority: high High priority
Milestone

Comments

@mr-bo-jangles
Copy link

No description provided.

@JoeLametta JoeLametta added this to the 101010 milestone Nov 28, 2016
@JoeLametta
Copy link
Collaborator

JoeLametta commented Nov 28, 2016

We thought about this but it's quite complicated, maybe in the future (for the moment being it's just an idea).

@RecursiveForest
Copy link
Contributor

This is something we definitely want in my opinion, but it's pretty far away.

As an aside, "reactions" on GH are ridiculous.

@chrysn
Copy link
Contributor

chrysn commented Dec 7, 2016

When this is implemented, I think that the (currently rather complex) concurrent Tasks can be simplified into asyncio Tasks. (I'm subscribing to this issue to be pinged when it becomes active).

@JoeLametta
Copy link
Collaborator

When this is implemented, I think that the (currently rather complex) concurrent Tasks can be simplified into asyncio Tasks. (I'm subscribing to this issue to be pinged when it becomes active).

Yeah, there was a brief exchange about it here.

@ArchangeGabriel
Copy link

JFYI, python2 is going to be definitively deprecated in around 3 years. So, even if it’s not tomorrow, this is indeed something that should be considered.

@Gibbz
Copy link

Gibbz commented Aug 4, 2017

yes would like to see python3 support

@JoeLametta JoeLametta modified the milestones: 2.0, 101010 Aug 12, 2017
@JoeLametta JoeLametta added Status: in progress Issue/pull request which is currently being worked on and removed idea labels Aug 12, 2017
@Freso
Copy link
Member

Freso commented Mar 26, 2018

https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/2XDT6S62SEN4KGWQCOUYKXLBYVTKJ5VI/ was linked in the IRC channel and is about Fedora starting to drop packages that depend on Python 2 prior to Python 2 becoming unsupported upstream on Jan. 1st, 2020 (less than 2 years from now). If we want whipper to be shipped with Fedora, we may want to consider increasing the priority of porting the code to Py3.

@JoeLametta
Copy link
Collaborator

If we want whipper to be shipped with Fedora, we may want to consider increasing the priority of porting the code to Py3.

You mean it would be wiser to reschedule this issue for milestone 1.0?

@MerlijnWajer
Copy link
Collaborator

Please, let's not do that. Let's just get 1.0 out first.

@Freso
Copy link
Member

Freso commented Apr 8, 2018

You mean it would be wiser to reschedule this issue for milestone 1.0?

More like it should be one of the top priorities once 1.0 is out.

@mruszczyk
Copy link
Contributor

RHEL is deprecating Python 2 support with RHEL 7.5 and thus Centos 7.5. My understanding is Python 2 will remain available until RHEL/Centos 8 but Python 3 has been swapped to the primary python.
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/7.5_release_notes/chap-red_hat_enterprise_linux-7.5_release_notes-deprecated_functionality

I'm not sure it matter much if at all because I'm not packaging in EPEL7 due to the very outdated libcdio-paranoia version but I just figured I'd throw the info in here.

@JoeLametta JoeLametta added Bug Generic bug: can be used together with more specific labels Accepted Accepted issue on our roadmap Priority: high High priority Needed: patch A pull request is required and removed enhancement labels Nov 12, 2018
@GHPS
Copy link

GHPS commented Jan 22, 2019

For quite some time I've been waiting for this port to Python 3 to happen. Since my system has no Legacy Python installed, whipper would be the only project that would rely on Python 2. So the progress here is good news...

Unfortunately I can't find any information on how usable the Python 3 version already is. Is it still experimental or ready for everyday use?

@JoeLametta
Copy link
Collaborator

Unfortunately I can't find any information on how usable the Python 3 version already is. Is it still experimental or ready for everyday use?

Currently the python 3 version doesn't exist (I'm trying to incrementally update the code to make it compatible with both python 2 and python 3 - if easily doable). Unfortunately, as it is right now, whipper can't be used with python 3.

@GHPS
Copy link

GHPS commented Feb 3, 2019

Thanks for the update - keep up the good work!

@JoeLametta
Copy link
Collaborator

Just wanted to clarify that the aim of the port is to support only Python 3.

@GHPS
Copy link

GHPS commented Feb 13, 2019

So with the first Python 3 version the support for Legacy Python will be dropped?

@JoeLametta
Copy link
Collaborator

So with the first Python 3 version the support for Legacy Python will be dropped?

That's correct.

Freso added a commit that referenced this issue Mar 1, 2019
In preparation for dropping Python 2.7 support[1], this specifies
versions that *are* compatible with Python 2.7, so anyone installing via
pip (if we end up publishing to PyPI) will get the proper version.

See https://packaging.python.org/guides/dropping-older-python-versions/

[1] #78

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
@JoeLametta JoeLametta modified the milestones: 2.0, 1.0 Apr 2, 2019
@JoeLametta JoeLametta changed the title Port to Python 3? Port to Python 3 Apr 2, 2019
@tjaalton
Copy link

tjaalton commented Aug 7, 2019

this is blocking whipper entering Debian & Ubuntu, py2 support is being removed from unstable, and no new packages that provide py2 modules (pycdio) or packages that depend on py2 (whipper) can enter the archive anymore

@tjaalton
Copy link

tjaalton commented Aug 7, 2019

that probably sounded like a rant, sorry.. just stating the facts, I'll package it in a ppa for now :)

@mruszczyk
Copy link
Contributor

mruszczyk commented Aug 8, 2019

Just tossing a note in here. Fedora is retiring Python2 once Fedora 31 is branched from Rawhide and any dependent packages (including whipper) will be removed 2 weeks before the Fedora 32 mass rebuild.

https://fedoraproject.org/wiki/Changes/RetirePython2

I don't know if the Mass Rebuild date has been set, at least I cannot find one. Guessing off the dates from the Fedora 30 schedule, Fedora 31 is supposed to branch off rawhide next week, there's max 5 months before the package is removed before the Fedora 32 Mass Rebuild.
https://fedoraproject.org/wiki/Releases/31/Schedule

A bug has filed against the package if anyone would like to comment on the timeline for this to the Fedora powers that be. https://bugzilla.redhat.com/show_bug.cgi?id=1739019

@ArchangeGabriel
Copy link

Python 2 is EOL on December 31st, so yes most distros will drop it before this date. On Arch we are not decided yet, it will depend on whether there is anything big left unported, but the list is shrinking days after days.

@Freso
Copy link
Member

Freso commented Aug 8, 2019

Right now the focus is to get 0.8.0 made ready for release and pushed out, which will include python_requires support. Python 3 will be one of the top prioritiesy after 0.8.0—which is currently only blocked by a couple of regressions compared to 0.7.x. If you want to help move whipper towards Python 3, consider giving a hand here:
https://github.com/whipper-team/whipper/milestone/4

(Edit: And yes, we know Python 2 is getting EOL’d soon. However, while we are a handful of devs working on whipper on and off, none of us are paid to work full time on it, so progress happens as we find time for it—or when outside people decide to contribute. Posting more updates here about this or that distribution dropping whipper due to still requiring Python 2 will not make the port happen any faster. Actual contributions (not necessarily PRs) might though.)

@Freso Freso modified the milestones: 1.0, 0.9.0 Aug 10, 2019
@jwflory
Copy link

jwflory commented Sep 29, 2019

I don't know if the Mass Rebuild date has been set, at least I cannot find one. Guessing off the dates from the Fedora 30 schedule, Fedora 31 is supposed to branch off rawhide next week, there's max 5 months before the package is removed before the Fedora 32 Mass Rebuild.
https://fedoraproject.org/wiki/Releases/31/Schedule

The Fedora 32 schedule is now published. The Python 2 EOL is included for 1 January 2020. The F32 Mass Rebuild is scheduled from 22 Jan to 11 Feb 2020.

I am inclined to say that Py2 packages could be dropped between the Py2 EOL and the Mass Rebuild.

A bug has filed against the package if anyone would like to comment on the timeline for this to the Fedora powers that be. https://bugzilla.redhat.com/show_bug.cgi?id=1739019

It's unlikely an exception will be approved. 😞 I didn't realize this blocked dropping the python2-requests package in Fedora. Perhaps as a short-term method, distributing via COPR is an option, but it would be better to avoid dropping the package if at all possible. Setting up COPR with Py2 dependencies to work with Fedora would be a non-trivial amount of work because you also have to package requests for Python 2.

But I get this project is a volunteer-driven initiative too. If I can offer any advice or opinions from the Fedora/Linux packaging ecosystem POV, I'm happy to be a resource.

@ArchangeGabriel
Copy link

@jwflory There is an ongoing PR for porting at #411. There is one test failure remaining (#411 (comment)) and several warnings/errors though.

@jwflory
Copy link

jwflory commented Sep 29, 2019

@ArchangeGabriel Thanks for pointing it out, I should have looked. 🙂 I left some feedback there.

@JoeLametta JoeLametta pinned this issue Oct 26, 2019
@JoeLametta JoeLametta unpinned this issue Nov 26, 2019
@JoeLametta JoeLametta removed the Status: in progress Issue/pull request which is currently being worked on label Dec 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Accepted issue on our roadmap Bug Generic bug: can be used together with more specific labels Needed: patch A pull request is required Priority: high High priority
Projects
None yet
Development

No branches or pull requests