Comments (20)
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, 🤞 :)
from matplotlib-inline.
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" :)
from matplotlib-inline.
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 ;)
from matplotlib-inline.
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.
from matplotlib-inline.
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.
from matplotlib-inline.
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?
from matplotlib-inline.
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.
from matplotlib-inline.
Thanks for pinging me @fperez, I added you as an owner on Pypi :)
from matplotlib-inline.
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.
from matplotlib-inline.
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?
from matplotlib-inline.
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
from matplotlib-inline.
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 😅 !
from matplotlib-inline.
Thank you !
from matplotlib-inline.
Mmh - hold off. I might have messed up!
from matplotlib-inline.
🤦
from matplotlib-inline.
Thank you!
from matplotlib-inline.
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'
from matplotlib-inline.
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.
from matplotlib-inline.
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.
from matplotlib-inline.
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.
from matplotlib-inline.
Related Issues (17)
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte HOT 9
- docs for API calling HOT 1
- difference in plt.gca() behaviour between inline and notebook backends HOT 2
- [Bug]: Figure manager is gone - AttributeError: 'NoneType' object has no attribute 'canvas' HOT 6
- Switch from PNG to SVG output by default? HOT 4
- `plt.ioff()` not preventing automatic figure generation in jupyter
- Figures not automatically rendered in some cases
- AttributeError: module 'matplotlib' has no attribute 'pyplot' HOT 2
- Importing `backend_inline` triggers selection of `QtAgg` backend and tie-in of GUI event loop in IPython
- Add noop `show` method to manager
- `svg` and `png` outputs are different sizes
- Optional dependency on matplotlib? HOT 10
- Retina+jpeg option? HOT 3
- Question about pypi/matplotlib-inline pointing to a fork of this project. HOT 3
- figure formatters not in this package HOT 3
- Add from `. import backend_inline` in `__init__.py` ? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from matplotlib-inline.