-
-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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
RLS: 0.24.0 #24060
Comments
The idea is for 0.24.0 to be the last py2-supporting release, right? #24021 fixes a corner case behavior in Timestamp comparisons, but also introduces an inconsistency between py2/py3 behavior. #21394 made the analogous change to Timedelta comparisons. The least consistent thing we could do is to keep the status quo, changing Timedelta behavior but not Timestamp behavior. The question is whether to a) merge #24021 and have mismatched py2/py3 behavior in 0.24.0, or b) revert #21394 until after 0.24.0 and wait to change both in the first py3-only release. I lean slightly towards option b. |
Basically, though I assume we'll do some backporting and do a 0.24.1 or 2 that supports py2 as well. I'm not super-familiar with this section, but your option b sounds reasonable. Although... I could live with inconsistent py2 / py3 behavior. And would we be consistent with the building That wouldn't be the only one. Question: with |
This release is indeed big, but v.0.24 is also quite special because it will effectively define the 1.0 API (in the sense of the no-deprecation policy between 0.24 and 1.0), and also because of the magnitude of the whole EA effort obviously. But - despite a lot of hard work - the current state still feels a bit half-baked:
Realistically, a release before the end of the year would mean a cut-off in ~10 days max, which seems unrealistic from my POV, even if cutting corners. Given that the following statement from @TomAugspurger above
effectively means more PY2 support at the beginning of 2019 anyway, I think one should consider not trying to force the release before year end. If there is a release before the end of the year (resp. before the most important issues are sorted out), then I especially agree with Tom that there will need to be a Alternatively (which is simultaneously more in line with https://python3statement.org/, but also more controversial), one could consider to have a last PY2-supporting 0.23.5 this year, and then do 0.24.0 as PY3-only next year...? |
@h-vetinari pandas is a volunteer project almost completely. Thus project priorities are set by community consensus and worked towards. We have regular releases in time; 0.24.0 is actually overdue by a few months. Trying to add additional things which themselves need discussion is not going to happen. Whatever exists in he 0.24.x series is the last release for Python 2, this has long been announced. This is just how it is. |
I don't follow the point of I think Py2 vs. Py3 is irrelevant for 0.24.0. The EA-releated issues you linked are I think all going in 0.24 (I didn't check them all). That's basically the blocker at this point, but I haven't reviewed the backlog recently. I haven't had time to look into unique. |
I know all that. I'm just saying that being overdue is a bad reason to rush a release, if some of the core changes have not been fully developed yet (talking mostly about EA + regressions).
I don't know what's been discussed in other channels, but what I saw on GH was that the main decision was |
Sorry this was not clear. The main (interrelated) two points are:
The backlog has been thinned substantially recently, not least by issues being pushed to "Contributions Welcome" (also for EA issues). This goes towards my point of cutting corners to get this out soon. That being said, I'm pretty new at this game, and I don't doubt that the core devs got the big picture in view and under control - but pointing out an observation can't hurt, I hope.
Fair enough, dev time is a very limited resoure. I guess I'll have to try to convince everyone of this in post-1.0 land. ;-) |
If we keep adding and adding, then the release just keeps getting delayed forever. I have drawn a line in sand. This is how you get product out the door. Once the DTA lands fully, we will be in a position to release. So this is not that far away. Sure we could do extra work and just say 0.23.5 is the last PY2 release (and of course release it). But its going to be easier to back to a stable branch, which means the 0.24.x series. There are always things to add in a release, but this one is already the biggest we have ever had. There are inevitable bugs and so better to do sooner rather than later. Thanks for your contributions. It is not possible to get every major API change here. You are exactly right in that dev time is a truly limited resource. |
@jreback
Seems I misunderstood that pandas would stop supporting PY2 per Jan 1st 2019... Maybe should adapt that warning box in the whatsnews then (" |
RE: CalendarDay progress #22867 (comment) TODO
Migration Concern Example: timedelta_range(..., freq='D'); to_offset('D') will return _Day in the future and this offset will need to increment a Timedelta, but _Day + Timedelta is an invalid operation. |
Anyone have opinions on the timestamp/timedelta py2/py3 consistency issue? |
A bunch of deprecations are listed as To Be Removed in 1.0; should 0.25.0 take the place of 1.0 for some of those? |
Can you summarize that issue? Ideally we would just follow python (whatever version is running) here I think. But I don't think I fully understand the issue.
I think all of them... Need to discuss that though, some may need be pushed. |
Timedelta was recently changed to return NotInplemented in case where it previously raised. As a result its py2 behavior matches python but differs from pandas py3 behavior. Timestamp has an open PR to make the analogous change. Once py2 is dropped, the change is definitely right. Until then, there are conflicting consistency arguments. We should either get the Timestamp PR in for 0.24.0 or revert the Timedelta PR until after 0.24.0 (Typing with thumbs; LMk if unclear) |
i think let’s revert the Timedelta one, then push them both in for 0.25/1.0 (py3 only) |
Moving this comment #24227 (comment) here:
Personally, no, I wouldn't do that (if you mean with ASAP like a few days after). I would also keep it at least 2 weeks in master before doing an RC. Now in practice it will maybe be like that anyway .. |
Personally, I'll have to get back to dask / other things after this push on datetimearray. I was hoping we could have an RC out while I do that. Are there other major issues I could pick up while we're going through this round of reviews? My plate currently has
|
yeah i think we should merge things (that tom mentioned) then sit in master for a week or 2 at the least |
To be clear, I also want to see this released as soon as possible, but we also need to be realistic (eg I don't think we will have a final release before the end of the year as you mentioned on fastparquet? even if all the blocking PRs are merged in a week that seems too quick IMO) If we have a longer RC period, and still do some further clean-up after doing the RC (and possibly do a second RC), I am fine with doing a quick RC after merging. |
I think I have the permissions to do a fastparquet release. There's a backwards / forwards compatible change that could be released today.
That's basically where I'm at. Assuming that outstanding big PRs are merged this week (just assuming, not an actual deadline), then we will turn up issues with them in the next couple weeks. My hope is that by doing an RC (or two) we'll be more likely to turn up more issues, so that we can do a higher-quality final release sooner. The main cost of doing the RC sooner is that we don't get any more scope creep, which may be a good thing :) |
That said, I don't think doing an RC any time in, say, the 20th - 27th is a good idea because of the holidays. So I'm also fine with doing one shortly after the New Years. |
that all sounds good ; RC first of the year; |
@jreback @TomAugspurger @jorisvandenbossche Speaking of which - do you already have an idea what will be the policy for breaking changes between v0.24 and v0.25? Will they be blocked completely, or will master move to 1.0.0.dev immediately, with v0.25 using backports? |
@jreback @TomAugspurger @jorisvandenbossche
Re-asking this, since - in case breaking PRs would be blocked until v.0.25 is released - I would suspend all work on breaking PRs. |
clearing the decks, pls don't tag for 0.24.0 unless an immediate merge. excluding cleanups still being done by @jbrockmendel and @TomAugspurger ideally could do rc1 say next week, @TomAugspurger ? |
I was thinking next week as well. Going through the backlog right now.
…On Fri, Jan 4, 2019 at 8:00 AM Jeff Reback ***@***.***> wrote:
clearing the decks, pls don't tag for 0.24.0 unless an immediate merge.
excluding cleanups still being done by @jbrockmendel
<https://github.com/jbrockmendel> and @TomAugspurger
<https://github.com/TomAugspurger>
ideally could do rc1 say next week, @TomAugspurger
<https://github.com/TomAugspurger> ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#24060 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABQHIt1WfzSQoOTnbRYdwYdvo6Qo1Zy5ks5u_16OgaJpZM4Y9wcW>
.
|
yep me too |
My preference is that the only API-breaking changes from 0.25 -> 1.0 is the removal of previously deprecated features. Then users can
IIRC there was loose agreement to this at the last dev meeting. |
ok the RC, yeah small things are ok. If we have big then maybe need RC2 |
Tagging now, and going through the local tests before pushing the tag. Ping me if you find a last-minute blocker. |
@TomAugspurger you mentioned you were going to write a blog post for the release, but I suppose only for the final release? |
Any idea how long it'll take? I was just about to push the tag :) Though, I can rebuild the docs that'll be pushed to the web server from a different commit. |
You've got a bit more time, since I think I need to do some work on our conda-forge recipe to ensure numpy >= 1.12 :) |
Yeah, don't wait for me. I have some other work to finish first. |
OK. tagged.
…On Fri, Jan 11, 2019 at 9:13 AM Joris Van den Bossche < ***@***.***> wrote:
Yeah, don't wait for me. I have some other work to finish first.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#24060 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABQHIsamTvr2YaLm68tQDFCX40_nraSTks5vCKo3gaJpZM4Y9wcW>
.
|
I started going through the whatsnew file to extract highlights, and already thought of:
Is there any highlight to mention for all the datetime-like refactoring? (apart from "refactor of the internal handling of custom data types") Any other new features or changes worth mentioning? |
… On Fri, Jan 11, 2019 at 9:51 AM Joris Van den Bossche < ***@***.***> wrote:
I started going through the whatsnew file to extract highlights, and
already thought of:
- Refactor of the internal handling of custom data types:
- Better integration of the ExtensionArray interface
- Period and Interval can now be stored in Series / DataFrame
columns (before only in Index)
- New .array attribute on Series and Index to access the underlying
values, and to_numpy method to convert to numpy arrays.
- Optional integer NA
- sparse changes
Is there any highlight to mention for all the datetime-like refactoring?
(apart from "refactor of the internal handling of custom data types")
Any other new features or changes worth mentioning?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#24060 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABQHIh4Abyv5aEhn2vAA7KAJziTL75Rkks5vCLL7gaJpZM4Y9wcW>
.
|
Binaries are building and HTML docs are up at http://pandas.pydata.org. Will send out an announcement later today, once the binaries are done. |
Mac and Linux wheels are on PyPI. Conda packages are trickling into conda-forge, and I sent out the announce email. https://github.com/pandas-dev/pandas-release has a few things that need fixing up. Some are RC specific, so I'm not too worried about them. I'll try to iron out all the final issues while doing the final release, and then hopefully someone else can try things out, to see what machine-specific stuff I've accidentally encoded in there. |
no windows wheel for 0.24.0rc1 ? |
I’m not sure if @cgohlke typically builds and uploads release candidates. |
I'm on it. The pypy build was failing... |
Thanks @cgohlke, windows wheels are up on PyPI now. |
We should probably do 0.24.0 this week. Any objections? Any blockers? I don't know if I'll get #24674 done. Won't have too much time this week. |
no objections - like to get what is marked currently for 0.24.0 in but if in a couple of days they r not then ok to defer |
@TomAugspurger all issues & PR's are clean for 0.24.0 |
I'll do a quick doc PR adding an experiment label to DatetimeArray and
TimedeltaArray, with a warning that `.dtype` is expected to change in the
future.
…On Wed, Jan 23, 2019 at 7:03 AM Jeff Reback ***@***.***> wrote:
@TomAugspurger <https://github.com/TomAugspurger> all issues & PR's are
clean for 0.24.0
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#24060 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABQHImKD-UhxOjifdIssgpzK7mRPh69fks5vGF2mgaJpZM4Y9wcW>
.
|
Planning to merge
- DOC: Add experimental note to DatetimeArray and TimedeltaArray
<#24882>
- DOC: No clean in sphinx_build
<#24902>
- DOC: also redirect old whatsnew url
<#24906>
- #24905
- Revert BUG-24212 fix usage of Index.take in pd.merge
<#24904>
and tag shortly afterwards. Anything else from the RC?
On Wed, Jan 23, 2019 at 7:15 AM Tom Augspurger <tom.augspurger88@gmail.com>
wrote:
… I'll do a quick doc PR adding an experiment label to DatetimeArray and
TimedeltaArray, with a warning that `.dtype` is expected to change in the
future.
On Wed, Jan 23, 2019 at 7:03 AM Jeff Reback ***@***.***>
wrote:
> @TomAugspurger <https://github.com/TomAugspurger> all issues & PR's are
> clean for 0.24.0
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#24060 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ABQHImKD-UhxOjifdIssgpzK7mRPh69fks5vGF2mgaJpZM4Y9wcW>
> .
>
|
Down to If people have quick thoughts on #24926 (removing IntervalArray from the top-level, just using |
@TomAugspurger Before tagging, can you do a last setting of the date in the whatsnew docs? (now still January XX) Or in the release commit |
All merged I think! |
Thanks, tagging. |
nice @TomAugspurger |
Wooo! Congratulations. Thank you for all the hard work. Really looking forward to the release. |
sdist and binaries are up on PyPI and conda-forge. Anaconda is building for defaults now. Thanks everyone. |
And thank you! |
Tracking issue
Open PRs
Open Issues
Let's whittle down. I just looked the lastest whatsnew and its huge. Let's get this out sooner rather than later. I know there are some blocking issues: DatetimeArray & What do do with CalendarDay.
The text was updated successfully, but these errors were encountered: