Skip to content

Drop Python 2 support#1018

Merged
ogrisel merged 46 commits intojoblib:masterfrom
pierreglaser:python3
Apr 22, 2020
Merged

Drop Python 2 support#1018
ogrisel merged 46 commits intojoblib:masterfrom
pierreglaser:python3

Conversation

@pierreglaser
Copy link
Copy Markdown
Contributor

We're way past 1/1/2020.

@pierreglaser pierreglaser changed the title drop Python 2 entries in the CI Drop Python 2 support Feb 27, 2020
@codecov
Copy link
Copy Markdown

codecov bot commented Feb 27, 2020

Codecov Report

Merging #1018 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #1018   +/-   ##
=======================================
  Coverage   94.12%   94.12%           
=======================================
  Files          46       46           
  Lines        6522     6522           
=======================================
  Hits         6139     6139           
  Misses        383      383           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3fd7140...3fd7140. Read the comment docs.

@pierreglaser pierreglaser changed the title Drop Python 2 support [WIP] Drop Python 2 support Feb 27, 2020
Copy link
Copy Markdown
Contributor

@ogrisel ogrisel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First pass.

@lesteve
Copy link
Copy Markdown
Member

lesteve commented Mar 24, 2020

Context: @mrocklin is looking at improving the dask/joblib integration in #1025, which is very welcome since my feeling (and I think @ogrisel's as well IIRC) was that there were a few quirks and I thought I would try to push this PR forward to make his life easier.

I had a few more passes at this PR. I am using this git grep to try to find remaining Python 2 things:

# the repetition in the last grep is to put back coloring on (there must be an easier way ...)
git grep -iP 'py(thon).*2' | grep -v externals | grep -iP 'py(thon).*2'

I have used python2_drop to indicate remaining issues to fix (maybe in separate PRs as @ogrisel hinted?). Those were the ones I was not 100% sure about in less than 1 minute
of thinking.

@lesteve
Copy link
Copy Markdown
Member

lesteve commented Mar 25, 2020

Maybe @pierreglaser if you have some time to look at my changes ? My understanding is that @ogrisel will not have much time in the nex few weeks and it may be the same for me.

I noticed more things to clean up by using this git grep command, but I would be in favour of leaving that for a separate PR (as the python2_drop TODO I left in the code):

git grep -iP 'py(thon).*3' | grep -v externals

@pierreglaser
Copy link
Copy Markdown
Contributor Author

Sure, I can make a pass this week.

@pierreglaser
Copy link
Copy Markdown
Contributor Author

pierreglaser commented Apr 2, 2020

I'm also wondering whether or not we want to release a Python 2 compatible bugfix/minor release (that would include #966) before switching to a Python 3-only joblib.

@tomMoral
Copy link
Copy Markdown
Contributor

tomMoral commented Apr 3, 2020

Thanks @pierreglaser, this looks like tedious work!!

I did a small pass.

@pierreglaser pierreglaser changed the title [WIP] Drop Python 2 support Drop Python 2 support Apr 20, 2020
Copy link
Copy Markdown
Contributor

@ogrisel ogrisel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few comments, but otherwise LGTM.

@pierreglaser
Copy link
Copy Markdown
Contributor Author

I gave a shot at restoring and deprecating various unused joblib construct we were about to simply delete. I also updated various meta-files (setup.py, CHANGES.rst, setup.cfg).

@ogrisel @tomMoral if you want to have a last look.

Copy link
Copy Markdown
Contributor

@ogrisel ogrisel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more comment (above). Also don't forget to update the setup.cfg to remove the universal wheel flag.

Copy link
Copy Markdown
Contributor

@ogrisel ogrisel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe those are causing the linting failure.

Co-Authored-By: Olivier Grisel <olivier.grisel@gmail.com>
@ogrisel
Copy link
Copy Markdown
Contributor

ogrisel commented Apr 22, 2020

Rejoice \o/

@ogrisel
Copy link
Copy Markdown
Contributor

ogrisel commented Apr 22, 2020

Thanks very much @pierreglaser .

@tomMoral
Copy link
Copy Markdown
Contributor

amazing!!! Thanks a lot @pierreglaser 😄

@mrocklin
Copy link
Copy Markdown
Contributor

mrocklin commented Apr 22, 2020 via email

@GaelVaroquaux
Copy link
Copy Markdown
Member

GaelVaroquaux commented Apr 22, 2020 via email

bmwiedemann added a commit to bmwiedemann/openSUSE that referenced this pull request Jun 24, 2020
https://build.opensuse.org/request/show/810898
by user dirkmueller + dimstar_suse
- update to 0.15.1:
  - Make joblib work on Python 3 installation that do not ship with the lzma
    package in their standard library.
  - Drop support for Python 2 and Python 3.5. All objects in
    ``joblib.my_exceptions`` and ``joblib.format_stack`` are now deprecated and
    will be removed in joblib 0.16. Note that no deprecation warning will be
    raised for these objects Python < 3.7.
    joblib/joblib#1018
  - Fix many bugs related to the temporary files and folder generated when
    automatically memory mapping large numpy arrays for efficient inter-process
    communication. In particular, this would cause `PermissionError` exceptions
    to be raised under Windows and large leaked files in `/dev/shm` under Linux
    in case of crash.
    https://github.c
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

Successfully merging this pull request may close these issues.

6 participants