Skip to content

Commit schedule for matplotlib-inline #16

Closed

Description

@kishkash555

The last release of matplotlib-inline is 0.1.3 from 9 months ago (Sept. 2021).
There have been several code changes since.
Specifically I am interested in commit a433a89 from May 12/13th which includes dropping some Matplotlib rcParams overrides that were specific to ipython notebooks.
I would like to know if any schedule is currently in place for this commit to be published.
Thanks.

Activity

  1. fperez commented on Aug 12, 2022

    @fperez
    Member

    Yup, thanks for raising this issue @kishkash555!

    @agoose77, @minrk & team - any objection to making a release soon? I'm going to be teaching with this code in a few weeks and would rather not deal with that annoying rcParams issue any more (I have a bunch of HW assignments with the hacky fix in there).

    I haven't made a release of any of our projects in ages, but I'm happy to dust off my keys for this one :) Any objections?

  2. fperez commented on Aug 15, 2022

    @fperez
    Member

    Ping @martinRenou @Carreau @SylvainCorlay - any of you have bandwidth to cut a release? If not LMK and I can dust things off to do it , though I don't think I have the auth on PyPI for this particular package.

    I also see the conda-forge feedstock is @martinRenou's; I'm going to guess that doesn't need any updates, but I'm also willing to help there if needed.

  3. martinRenou commented on Aug 16, 2022

    @martinRenou
    Collaborator

    Thanks for pinging me @fperez, I added you as an owner on Pypi :)

  4. fperez commented on Aug 16, 2022

    @fperez
    Member

    Thx @martinRenou!

    I've accepted the invite and updated my PyPI account with 2FA, now that I'm using it again...

    Anything else I should keep in mind before cutting a release? I haven't released in PyPI in ages (probably an old IPython 0.11 series or so)...

    It seems this project simply uploads a wheel and a source package...

    I don't see a pyproject.toml file, but for now I'm happy leaving things as-is with the setup.cfg we have...

    I ran a quick test and I can build the wheel and source dist just fine.

    Anything else people can think of before a release? If not LMK and I'll update the version #...

    On that topic: I plan on just calling it 0.1.4, as the changes are pretty minimal. But if folks prefer we can call it 0.2.0 too.

  5. fperez commented on Aug 16, 2022

    @fperez
    Member

    Also @martinRenou one question: once I make the PyPI release, does the conda-forge build get triggered automatically, or do I need to do anything else on that end?

  6. martinRenou commented on Aug 16, 2022

    @martinRenou
    Collaborator

    I usually just do:

    python -m build
    

    Then I check that the wheel and source dist are correct under dist/. Then I do:

    twine upload dist/*
    

    does the conda-forge build get triggered automatically, or do I need to do anything else on that end?

    I am not sure how conda-forge gets triggered honestly. But pushing a tag on the repo and pushing the Pypi release seems to trigger it.

    You can also push a PR manually to the feedstock if you want, adding yourself as a maintainer https://github.com/conda-forge/matplotlib-inline-feedstock

  7. fperez commented on Aug 16, 2022

    @fperez
    Member

    Ok, thx @martinRenou!

    Given there's no objections so far, folks like @juanitorduz need this, and I have very limited time, I'm going to do it now. Tagging 0.1.4 and pushing out, 🤞 :)

  8. juanitorduz commented on Aug 16, 2022

    @juanitorduz

    Thank you @fperez for pushing this. Much appreciated! It is definitively a big plus for users like me but it is definitively not urgent so no rush / stress 😅 !

  9. fperez commented on Aug 16, 2022

    @fperez
    Member

    Wohoo!!.

    Thx @martinRenou & @juanitorduz! It was fun to dust off my "release manager" hat, even if for a tiny bit :) I had a badly outdated pypirc file with the old .io urls so it took me a bit of head-scratching.

    Glad to have this out - I hope the conda build happens automaticall, as I pushed a 0.1.4 tag too into this repo. If it hasn't happened in a day or two we can check again.

  10. juanitorduz commented on Aug 16, 2022

    @juanitorduz

    Thank you !

  11. fperez commented on Aug 16, 2022

    @fperez
    Member

    Mmh - hold off. I might have messed up!

  12. fperez commented on Aug 16, 2022

    @fperez
    Member

    🤦

  13. fperez commented on Aug 16, 2022

    @fperez
    Member

    I checked the build, etc, but I mistakenly was working off an outdated fork, so I think I missed a few commits. Let me check before you install.

  14. fperez commented on Aug 16, 2022

    @fperez
    Member

    Ok, now for real!, also on PyPI.

    I had to yank 0.1.4 from PyPI and just made a 0.1.5.

    Oh well, classic mix-up from not doing this all the time: I was working off my own fork which I hadn't updated from upstream in ages, and ended up making 0.1.4 out of a weird mix of old upstream + local fixes.

    I tell my students to always watch their remotes when doing this kind of thing, yet here we are :)

    In any case, now it's actually done, and I can "get back to work" :)

  15. juanitorduz commented on Aug 16, 2022

    @juanitorduz

    Thanks @fperez ! I can confirm that

    matplotlib==3.5.3
    matplotlib-inline==0.1.5
    

    are working as expected (at least in a couple of tests).

    Before "going back to work" get yourself a nice coffee / drink ;)

  16. martinRenou commented on Aug 17, 2022

    @martinRenou
    Collaborator

    Thank you!

  17. sryza commented on Aug 17, 2022

    @sryza

    After this new release, over at Dagster, we're seeing failures in our tests that do plotting inside notebooks. The error we're seeing is:

    [2022-08-17T00:37:46Z] /workdir/examples/docs_snippets/.tox/py37/lib/python3.7/site-packages/matplotlib/pyplot.py in subplots(nrows, ncols, sharex, sharey, squeeze, subplot_kw, gridspec_kw, **fig_kw)
    --
      | [2022-08-17T00:37:46Z]    1451
      | [2022-08-17T00:37:46Z]    1452     """
      | [2022-08-17T00:37:46Z] -> 1453     fig = figure(**fig_kw)
      | [2022-08-17T00:37:46Z]    1454     axs = fig.subplots(nrows=nrows, ncols=ncols, sharex=sharex, sharey=sharey,
      | [2022-08-17T00:37:46Z]    1455                        squeeze=squeeze, subplot_kw=subplot_kw,
      | [2022-08-17T00:37:46Z]
      | [2022-08-17T00:37:46Z] /workdir/examples/docs_snippets/.tox/py37/lib/python3.7/site-packages/matplotlib/pyplot.py in figure(num, figsize, dpi, facecolor, edgecolor, frameon, FigureClass, clear, **kwargs)
      | [2022-08-17T00:37:46Z]     808             facecolor=facecolor, edgecolor=edgecolor, frameon=frameon,
      | [2022-08-17T00:37:46Z]     809             FigureClass=FigureClass, **kwargs)
      | [2022-08-17T00:37:46Z] --> 810         fig = manager.canvas.figure
      | [2022-08-17T00:37:46Z]     811         if fig_label:
      | [2022-08-17T00:37:46Z]     812             fig.set_label(fig_label)
      | [2022-08-17T00:37:46Z]
      | [2022-08-17T00:37:46Z] AttributeError: 'NoneType' object has no attribute 'canvas'
    
  18. fperez commented on Aug 17, 2022

    @fperez
    Member

    Mmh, sorry to hear that @sryza! Any chance you could provide us with

    a) a self-contained small example that produces the problem
    b) version info on matplotlib that you're using?

    I'm happy to investigate, but so far I can't seem to reproduce your failure with some simple attempts.

  19. sryza commented on Aug 17, 2022

    @sryza

    Here's the notebook that's triggering it: https://github.com/dagster-io/dagster/blob/master/examples/docs_snippets/docs_snippets/legacy/data_science/iris-kmeans_2.ipynb.

    This is with matplotlib 3.5.3.

    We're running it through papermill.

  20. fperez commented on Aug 18, 2022

    @fperez
    Member

    Great, thanks for the reproducible case @sryza! I've managed to boil it down to this. A notebook with just this in one cell will show the problem:

    import matplotlib.pyplot as plt
    import pandas as pd
    import seaborn as sns
    
    # if the next line is uncommented, the bug disappears!
    #import matplotlib_inline
    
    g = sns.PairGrid(pd.DataFrame(dict(a=[1])))
    plt.figure()

    Oh, and as I was looking for the PR culprit, I see that @1kastner in #19 kindly offered what I think is the right fix :)

    Let me double check and we'll provide an update quickly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions