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

Python 3 pledge #551

Open
mpharrigan opened this issue Jul 8, 2016 · 20 comments
Open

Python 3 pledge #551

mpharrigan opened this issue Jul 8, 2016 · 20 comments

Comments

@mpharrigan
Copy link
Contributor

Wanted to bring omnia's attention to the following "pledge"

http://python3statement.github.io/

I think it was brought forward by the IPython people. Specifically, they want scientific python packages to pledge to stop supporting python 2 (for free) after 2020 (python 2.7's eol)

  1. I think this is a reasonable timeframe, and we might want to consider adding omnia to the list of pledged organizations. It would provide nice exposure
  2. I've started discussions for msmbuilder and mdtraj to sign the pledge. I know several packages depend on mdtraj, so this isn't a decision to be made lightly. Please join the discussion there if you have opinions
  3. I don't think anything in omnia depends on msmbuilder. I'll likely try to convince people to drop support before 2020 for msmbuilder. Please join the discussion there if you have opinions
@jchodera
Copy link
Member

jchodera commented Jul 9, 2016

I'm actually +1 on the visibility bump from joining this.

Following the Python guidelines and terminating py2 support by 2020 sounds like a no-brainer. Before that---are there critical tools that are stopping support early that would make it difficult to go all the way to 2020?

@mpharrigan
Copy link
Contributor Author

Before that---are there critical tools that are stopping support early that would make it difficult to go all the way to 2020?

IPython / jupyter is dropping support for python 2 soonish. I don't know how that effects us. Other than that, we could probably handle this on a package-by-package basis

@jchodera
Copy link
Member

jchodera commented Jul 9, 2016

IPython / jupyter is dropping support for python 2 soonish.

Soon-ish looks like "mid-2019"---6 months early---according to the diagram.

@jchodera
Copy link
Member

jchodera commented Jul 9, 2016

Other than that, we could probably handle this on a package-by-package basis

Could we just pick a target date omnia-wide and see if we can stick to it? Since there are interdependencies among packages, it might cause a lot more trouble to handle this on a package-by-package basis.

@mpharrigan
Copy link
Contributor Author

IPython / jupyter is dropping support for python 2 soonish.

Soon-ish looks like "mid-2019"---6 months early---according to the diagram.

This is the last release that supports python 2. In < 6 months, the current version of ipython won't support python 3. So yes, they will continue to support an old version basically until 2020. At the same time, they're being pretty aggressive with their timeline for new releases

@jchodera
Copy link
Member

jchodera commented Jul 9, 2016

In < 6 months, the current version of ipython won't support python 3.

Won't support python 3?

@jchodera
Copy link
Member

jchodera commented Jul 9, 2016

Ah, I see:
image

How about this plan:

  • Make sure we are py3-compatible by 2017.
  • Drop py2 support in mid-2019 when IPython 5.x LTS py2 support ends.

@mpharrigan
Copy link
Contributor Author

That sounds good to me. Curious to hear what the rest of omnia thinks

Make sure we are py3-compatible by 2017

Do we have an idea of how close to this we are? I've been operating under the sense that nearly everything is compatible with py3. We should gently prod omnia package maintainers to make this a priority.

@jchodera
Copy link
Member

jchodera commented Jul 9, 2016

We should gently prod omnia package maintainers to make this a priority.

I think we need to start this process ASAP. Is there a way we can have our build framework complain when packages don't provide py3 versions, or somehow check this automatically and send out reminders periodically?

@mpharrigan
Copy link
Contributor Author

Based on using github search for "skip" and examining the skip entries, these packages currently don't get built for py3

  • assaytools
  • schema
  • subprocess32 (this is a backport for py2, so it doesn't count)
  • pymol
  • deepchem
  • graphviz
  • lomap
  • ensembler
  • pytram
  • yank

@mpharrigan
Copy link
Contributor Author

Is there a way we can have our build framework complain when packages don't provide py3 versions

We could open a PR that tries to build the omnia metapackage for python 3. Any dependencies it can't resolve will show up

@mpharrigan
Copy link
Contributor Author

This issue is relevant #103

@jchodera
Copy link
Member

jchodera commented Jul 9, 2016

Based on using github search for "skip" and examining the skip entries, these packages currently don't get built for py3

Thanks for this list! I think the end of 2016 is a realistic goal for most of this list. (No idea about pymol; ensembler might be EOLd and replaced with a new codebase for ensembler2.)

I think we want to both push for adding extra data to each recipe about package maintainers and then find some way to bug them periodically about the impending py3 support deadline (31 Dec 2016).

@jchodera
Copy link
Member

jchodera commented Jul 9, 2016

We could open a PR that tries to build the omnia metapackage for python 3. Any dependencies it can't resolve will show up

Great idea!

@Lnaden
Copy link
Contributor

Lnaden commented Dec 5, 2016

As a reminder to all Omnia developers: The Dec 31, 2016 deadline for supporting Python 3 is approaching. How do we want to handle packages which are not up to python 3 compatibility yet? Near as I can tell there has not been any warning/info provided to developers about this since the middle of the year, and pushing for them to have py3 compatibility by year's end may not be reasonable at this point.

@peastman
Copy link
Contributor

peastman commented Dec 5, 2016

Which projects still don't support Python 3?

I went through the ones Matt listed earlier. Of those, schema, pymol, and yank no longer list [py3k] in their skip sections. Deepchem still lists it, but that can be removed since it now supports Python 3. That leaves assaytools, graphviz, lomap, ensembler, and pytram. What's the status of Python 3 support for those?

@marscher
Copy link
Contributor

marscher commented Dec 6, 2016

pytram is superceded by pyemma and its recipe can be removed in principle.

@franknoe
Copy link
Contributor

franknoe commented Dec 6, 2016 via email

@jchodera
Copy link
Member

jchodera commented Dec 6, 2016

From our end:

@Lnaden
Copy link
Contributor

Lnaden commented Dec 6, 2016

Schema has been on Python 3 for a while now since we updated to 0.6.2.

mpharrigan added a commit to mpharrigan/conda-recipes that referenced this issue Dec 8, 2016
This was referenced Dec 8, 2016
mpharrigan added a commit to mpharrigan/conda-recipes that referenced this issue Dec 9, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants