On Thu, Apr 20, 2017 at 4:58 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
If we do drop Python2 support, I'd prefer to do it fully and not intentionally leave in six and all of the code that's conditional on Python version. Leaving in the shim code makes the codebase harder to understand, so we should take the opportunity to remove it once we have the chance to make it more approachable and maintainable. In addition, I don't feel comfortable letting people install yt on a version of python that we're intentionally not testing. There should just eventually be a yt version that isn't installable on python2. We will of course need to communicate with out community about that, and announce the transition well ahead of time. Thankfully we are in good company on these announcements, and many other packages (notably IPython) have begun to make their own transitions to python3-only codebases.

Up until now we've tried to avoid having too many breaking changes, and it just so happens that we're thinking about how to handle two of them. The first is the stuff that we want to go into yt 4.0 (non-spatial domains and the demeshening) and the second is dropping Python3. I guess we're most efficient in spending breaking change chits with our userbase if we group these two changes together. Ideally we'd do that, but several people on the call yesterday objected to that but at the same time seemed amenable to the compromise that we drop python3 support soon after releasing a version of yt that includes the demeshening and non-spatial domains. So that means dropping python3 support needs to happen after yt 4.0.

I think Matt would prefer not to to a yt 5.0 release soon after yt 4.0. However, as Mike points out, dropping python3 support is a breaking change for some people, so we probably need to indicate that in the version number. Taken together, I think that means we need to do both a yt 4.0 and yt 5.0 release.

So that means we need to decide now how long we want the delay between releasing yt 4.0 and dropping python3 support in yt 5.0 is going to be. Are we going to release yt 4.1 with new features but still supporting python2? Or are we going to move straight to yt 5.0, possibly supporting yt 4.0 with bugfixes for an extended period. Our messaging here I think depends on what the timeline should be.

If we want to drop python2 support in 2018, I think there should be a yt 4.1.

Sorry, typo, I meant to write I *don't* think there should be a 4.1
 
If we want to drop it in 2019 or 2020, then we have plenty of time to accumulate other ideas for breaking changes that we want to include in yt 5.0 and we might end up doing yt 4.1 and 4.2 releases.

Personally, I'm leaning towards dropping Python2 support sooner, in 2018. Would anyone prefer a later switch?

On Thu, Apr 20, 2017 at 4:31 PM, Nathan Goldbaum <nathan12343@gmail.com> wrote:
I guess it doesn't matter much whether we call it 4.1 or 5.0. We could commit ahead of time that the only major breaking change in 5.0 would be dropping python2 support.

On Thu, Apr 20, 2017 at 4:29 PM, John Zuhone <jzuhone@gmail.com> wrote:
We had a conversation about this point yesterday, in fact I was the one that brought this point up. 

Though in my mind I agree with you at first that it makes more sense to do this at 4.0, there are two reasons why we should wait until 4.1:

1. gives users more time to prepare
2. gives python 2 people a chance to use the new features (especially demeshening) at least for one 4.x version

On Apr 20, 2017, at 5:27 PM, Michael Zingale <michael.zingale@stonybrook.edu> wrote:

my thought on this is that removing python 2 support should occur on a major release, not a point release.  It seems odd that yt 4.0 supports both 2 and 3, but 4.1 drops python 2 support.  Might be confusing for users.

On Thu, Apr 20, 2017 at 4:27 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi folks,

On the call yesterday, the topic of dropping support for Py2 came up.  This site provides some context:


At present, we're planning to have a 3.4 release sometime in the early summer, and then aiming for a yt 4.0 sometime about six months later.  yt 4.0 will have the demeshening.

A proposal was floated to have yt 4.0 be the last release that explicitly supports python 2, and then to "softly" drop support for python 2 during the cycle for yt 4.1, which would be about six months later, we anticipate.  This would mean not testing on py2 anymore and potentially removing some of the shims and six calls to dual-support.

Some more discussion is in the meeting notes:


I don't know if this is something we should actively discuss yet, but I wanted to put it out there.  I personally support this proposal.

-Matt

_______________________________________________
yt-dev mailing list
yt-dev@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org




--
Michael Zingale
Associate Professor

Dept. of Physics & Astronomy • Stony Brook University • Stony Brook, NY 11794-3800
phone:  631-632-8225

_______________________________________________
yt-dev mailing list
yt-dev@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org


_______________________________________________
yt-dev mailing list
yt-dev@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org