owned this note
owned this note
Published
Linked with GitHub
# Matplotlib Weekly Meeting 2022-05-19--2022-10-06
[![hackmd-github-sync-badge](https://hackmd.io/jd_7FjxNQ4y7XgNknvmvGQ/badge)](https://hackmd.io/jd_7FjxNQ4y7XgNknvmvGQ)
**A regular sync meeting for the project's maintainers, which is open to the community.** Everyone is welcome to attend and contribute to conversations.
## May 19 2022 -- Present
###### tags: `2022 dev call`
Call co-ordinates: Thursdays @ 21:00 Berlin time (20:00 UTC during winter, 19:00 UTC during summer) https://zoom.us/j/384435716?pwd=WFpxVWxoYXArTDFzN1lWaHNoOE8xZz09
Previous notes: [Meeting Agendas](https://hackmd.io/zljR-pZrQ0O5J_j4NZ-9yw)
Archive: [matplotlib/ProjectManagement](https://github.com/matplotlib/ProjectManagement)
#### [Needs discussion at some point](https://hackmd.io/uzWviu8zSUChq3XhI2FqPg)
#### [Medium sized projects](https://hackmd.io/GgtrcXTlTfuoyHO76_LMLg)
# October 06, 2022
_attending_: @noatamir, @melissawm, @tacaswell, @IGuKs80UTJCig4yt6Zos7w, @QWhXj01mSwmTjk5kN1H_qQ, @story645, @jklymak
## Agenda
### Old Business
- [ ] [name=hannah] `needs-sorting` & `unassigned` milestones
- not currently documented
- https://matplotlib.org/devdocs/devel/coding_guide.html#milestones
- Suggestions:
- `unassigned` internal milestone for issues that have been closed
- `needs-sorting` issues that have not been assigned to a particular version yet, but we would like to see implemented
- are tests new features or bug fixes? not documented
- [ ] [name=hannah] pydata global sprints
- virtual, any time between Dec 1-3 https://pydata.org/global2022/
### New Business
- [ ] [name=tacaswell] Adopt + adapt Padas "claim bot"
- For unclear reasons (and contrary our documentation) people seem to expect that there is a way to "assign" issues. It may be worth providing a path for this rather than spending the effort to tell everyone that we do not assign issues.
- talked about this with @noatamir at CZI
- e.g. pandas take-bot [doc](https://pandas.pydata.org/docs/development/contributing.html#where-to-start), [action](https://github.com/pandas-dev/pandas/blob/main/.github/workflows/assign.yml)
- [ ] [name=tacaswell] arxiv-matplotlib https://github.com/mrocklin/arxiv-matplotlib
- https://github.com/tacaswell/arxiv-matplotlib/tree/doc_add_fancyplot <- readme with plot embedded
- we are currently used by ~17% of all papers published to arXiv
- next steps (do this via contract and/or SDG):
- extend this to hit the other pre-print servers (15hr)
- classify the results by field and stash that in the parquet file (15hr)
- maybe promote parquet file to be a database (sqlite is probably good enough)
- write some scripts / dashboard to show the results (25hr)
- write jobs to update once a month with new papers (15hr)
- extend to find other plotting tools (10hr)
- [ ] [name=tacaswell] foresite tool? https://www.runforesight.com they have been sending me emails. Might be useful metrics?
- [ ] [name=hannah] hacktober?
- [none code contributions are included too](https://hacktoberfest.com/about/#low-or-non-code)
- would maybe need a tracking repo
- if yes, maybe w/ designated person assigned to these prs?
### PRs and issues
- [ ] [name=jklymak] rst versus md:
- https://github.com/matplotlib/matplotlib/pull/24067
## Notes
### pydata global sprints
- any day of Dec 1-3
- @tacaswell can definitly do it (at least one block)
- @story645 will post to discourse looking for more voluneteers
---------------------------
# September 29, 2022
_attending_: @jklymak, @story645, @IGuKs80UTJCig4yt6Zos7w (greglucas), @QuLogic, @timhoffm, @tacaswell, @QWhXj01mSwmTjk5kN1H_qQ (eric), Kirsten,
## Agenda
### Old Business
- [x] [name=hannah] scientific python discord server https://discord.gg/vur45CbwMz
### New Business
- [x] [name=hannah] New meeting doc page - this one is laggy
- [x] [name=hannah] PyData Global sprints Dec 1 to 3
- [x] [name=hannah] needs sorting milestone [description](https://github.com/matplotlib/matplotlib/milestone/25)
- [x] [name=hannah] regression?0 [mpl.colormaps[None]](https://github.com/matplotlib/matplotlib/issues/23981)
- [x] [name=Kirsten] styles
- [x] [name=QuLogic] 3.6.1 release
## Notes
### Need new agenda
### Discord server
- scipy... someone will be on discord...
- migrate our discourse to scipy server?
- consolidated
- still some legal issues
- @Noa @melissawm
- soft roll out
### PyData Global Sprints Dec 1 to 3
- contact Hannah if you want do this
### "needs sorting" milestone
- can just remove
### colormap None
- https://github.com/matplotlib/matplotlib/issues/23981
- inconsistent between `cm` and `colormaps`.
- colormaps is a look up `colormaps[None]` versus `cm.get_cmap(None)`.
- maybe add `colormaps.get_cmap`?
- suggest they should handle *None* explicitly and ask if that is super inconvenient?
- does it have to match a *dict* completely, and include *None* as a key? (casswell thinks yes)
### 3.6.1 Release
- to tag today or tomorrow
- no show stoppers open recently
- https://github.com/matplotlib/matplotlib/pull/24047
- https://github.com/matplotlib/matplotlib/pull/24046
#### mpl-sphinx-theme
- some issues with bigger changes
- fixes happen and flow through
- 3.7 etc may be issues...
- need reasonable number of rebuilds in child sites...
### Styles...
- Issues with "polished" styles
- encouraging style libraries/mini packages -
- https://github.com/matplotlib/matplotlib/issues/17978
- encouraging loading from local directory
- adding a handful of stylesheets
- can put in new styles w/o disadvantages
- updating styles needs versioning
- updating the style tutorial
- https://matplotlib.org/stable/tutorials/introductory/customizing.html#sphx-glr-tutorials-introductory-customizing-py
- D3.js as an example
-
---------------------------
# September 22, 2022
_attending_: @efiring, @QuLogic, @story645,
## Agenda
### Old business
### New Business
- [x] [name=QuLogic] mpl-altair status?
https://matplotlib.org/mpl-altair/ is broken
- [x] [name=hannah] scientific python discord server https://discord.gg/vur45CbwMz
- [x] [name=hannah] broken homepage search https://github.com/matplotlib/mpl-brochure-site/issues/65
### Issues
## Notes
### MPL Altair
- redirect to github repo
### Broken homepage search
- @QuLogic will investigate
---------------------------
# September 15, 2022
_attending_:
## Agenda
attending @tacaswell , @QWhXj01mSwmTjk5kN1H_qQ (Eric), @oscargus @story645 @QuLogic , @jklymak
### Old business
### New Business
### Issues
- [x] [name=jklymak] sampledoc site?
https://github.com/matplotlib/sampledoc/issues/26
- [ ] [name=oscargus] [name=jklymak] Future of mpl_toolkits? See e.g. https://github.com/matplotlib/matplotlib/pull/23863
## Notes
### sampledoc site?
https://github.com/matplotlib/sampledoc/issues/26
- remove but how
- https://ipython.readthedocs.io/en/stable/sphinxext.html
- open PR to ipython to move content there
- @jklymak to ask @StefRe to open PR...
- Some of content useful sphinx tutorial. M aybe put in out main docs under dev guide.
- @jklymak open as new issue on our main repo to include as tutorial for our devs.
- banner the site with unmaintained, and archive the repo when done
### mpltoolkits
- mpl_toolkits was mostly the work of one (now inactive developer)
- lightly tested and documented
- gives us two ways to do the same things
- have been some efforts to pull the best ideas from mpl_toolkits and pull them into the main libary
- this means things have broken over time
- does it make sense to document and test as-is?
- mpl_toolkits is a namespace package
- using the old version of namespace package mechanism
- third-party packages can tack stuff into our namespace
- best known actualy third party is basemap (which we are trying to end of life)
- basemap -> cartopy still not an easy move
- we probably can never remove this (or move to new version of mechanism)
- the things we ship are much better tested than fully external
- long term options
- push to external package (like we did with mpl-finance)
- not really tenabale as we have been shipping it forever
- pull functionaliity in to main library
- there are good ideas in there we want to capture
- demonstrating we can re-implement toolkit API in terms of new API is good validation that the functionality is ported
- make toolkits un-needed but maybe not officially deprecate
- proper 3D?
- do we want to keep doing our hacked-up 3D?
- pro: it mostly works
- con: it only mostly works
- there are some ideas of what full 3D integartion would look like
- at least a year of senior engineeer
- ways
- full openGL all 3D all the time
- mixed-mode with some vector / some
- push rendering off to openGL, add to figure with `draw_image`
- may require clever clipping logic
- can we extend our transform stack to be 3D -> 2D aware
- technically pdf supports 3D (?)
- there is a vulcan based library that mimics cairo
- @QuLogic has done some preliminary work
- might be able to do it all in the backend (??)
- some concerns that we won't be able to take advantage of all the compute power of the GPU
- there are some outstanding API changes proposed by @timhoffm that will make this easier
- removing `set_3D_properties`
### mpl 3.6
Everything is done except for theme questions.
---
# September 8, 2022
_attending_: @tacaswell, @greglucas, @dopplershift, @ianthomas, @jklymak, @efiring, @timhoffm, @oscargus, @QuLogic, @melissawm, @story645
## Agenda
### Old Business
### New business
- [x] [name=hannah] project privacy setting defaults to owner - can it default to project creator
- https://github.com/orgs/matplotlib/projects
- [x] [name=greglucas] New contributor meeting recap
- GitPod (can have a fully built docs and project ready to go for simpler changes)
- What dependencies are required in certain situations can be confusing [#23823](https://github.com/matplotlib/matplotlib/pull/23823)
- People don't want to install all dev dependencies if the test they are adding don't require the specific extra.
- Do we need Inkskape to add an SVG image comparison test, or can that be purely text-based?
### PR and Issues
- [x] [name=tacaswell] pick up a pybind11 dependency https://github.com/matplotlib/matplotlib/pull/23787
- [x] [name=jklymak] clearing axes https://github.com/matplotlib/matplotlib/pull/23808
- [x] [name=oscargus] How should the ps backend behave in relation to paper size and ps output (not eps)?
- Paper selection is (and has for long been) broken: [#7551](https://github.com/matplotlib/matplotlib/issues/7551) [#16657](https://github.com/matplotlib/matplotlib/issues/16657)
- Using a figure size large than letter paper will crop it to letter paper for ps (not eps)
- Is there a use case where someone actually expects letter paper without specifying it explicitly?
- Suggestion:
- Add a "figuresize" (or whatever the consistent name is) for `ps.papersize`
- Correct the "auto" paper selection, breaking current behaviour, but actually doing what it is supposed to. [#22796](https://github.com/matplotlib/matplotlib/pull/22796)
- possibly add some more options, like "autous" and "autoiso" to select among a subset of sizes.
- Probably better suggestion from [name=anntzer]: skip the `papersize` completely and allow setting `figsize` to either `"a4"` or `mpl.getpapersize("a4")`
- [x] [name=oscargus] colorbar hatch bug fix (for 3.6?) https://github.com/matplotlib/matplotlib/pull/23684
- [x] [name=oscargus] version switcher broken https://github.com/matplotlib/matplotlib/issues/23794
- [x] [name=greglucas] pyproject.toml migration [#23815](https://github.com/matplotlib/matplotlib/issues/23815)
## Notes
### Projects
- only owner can change privacy of projects
- person who created project can set privacy
- set that members can change privacy
### New contributor meeting
#### gitpod
- https://gitpod.io/
- gitpod: new contributors spun up quickly
- vscode in browser;
- maybe quicker?
- Melissa and Noa maybe make?
- pre-built install might speed up initial development (docs or source)
- pandas/numpy have this already.
- https://github.com/pandas-dev/pandas/pull/48107
- portable between computers because on web
- just an extra yaml file...
- need prebuilt docker file
- downsides
- more to maintain (but can be done with an action)
- descision:
- lets do it!
#### question about oddles of dependencies
- can not add an svg test case without having inkscape installed
- text version of svg not stable over time -> render inkscape to png
- update dev dependencies explanations (svg, pdf in particular)
### pybind11?
- previously distutils to complile - array view class to wrap numpy, vendored in Matplotlib.
- pybind11 gives us this without our home-made wrapper
- still uses distutils for compiling
- tested all the time
- has an array templated class (and lists and tuples)
- Are those parts tested well?
- probably because they are acceltrated parts of code base
- can be extended one extension at a time...
- too much work
- first extension needs build extension to work
- pyproject.toml?
- at end throw away wrapper codes.
- Tom, Ian, in favour
- hybrid worse?
- Issue with todo list..
### pyproject.toml
- declarative replacement for setup.py
- upstream is away from setup.py
- this is a vector for running arbitrary code
- the down side of pyproject.toml is you can not run arbitrary code
- have a PR that is partially working
- local linking / manifest issues
- we have a very complicated setup.py
- no one knows how it really works anymore
- with pyproject.tmol
- list all your build(install) time dependencies
- makes a virtual env and installs into that venv and build a wheel
- install the wheel back to your actually env
- pure-python can drop setup.py
- c++ extensions require a setup.py
- provides a way to make sure build deps like (pybind11) are there
- has standard way to specify test (or other extra) depenedcies
- works in contourpy...
- 1: static to toml, 2: getting rid of setup.py
- move to meson?
- follow Numpy?
- get rid of old C++ and can build using pybind11 w/o numpy at build
- Decision: should start migrating
- start w/ static
- move to pybind11 do the rest?
### quick PRs scan
- colorbar hatch: seems correct, do not need to spend call time on it
- can handle the version switcher off line (the paths have extra elements).
### ps backend
- ps has papersize flag...
- ps has standard papersize
- why are we still supporting ps (as oppossed to eps)
- there are still publishers that still require eps
- could we get eps/ps support via pdf and then converting with ghostscript
- optional distiller in rcParams
- Solve large files with Latex even with no text.
### clearing axes via `ax.clear()`
https://github.com/matplotlib/matplotlib/pull/23808#pullrequestreview-1099932104
- not clear how much of the Axes we should reset to tabla rasa
- may want to keep some (or all) of the styling on the ticks
- very coupled to the internal state of tick params
- proposal from Tim:
- revert the last PR that touched this code as it was intended to only be a code clean up not a
- this gets us back to 3.5 behavior
- for 3.7:
- @IGuKs80UTJCig4yt6Zos7w remembers prior discussion about this
- we talked about adding a `ax.reset` method to really reset the axes and `clear` is gentler
- A lot of complexity comes from twin axes which adjusts the visibility of labels
- can not tell if the right labels are on and the left labels are off because of twinax or direct user intent
- would be nice to have a list of state on axes
- then list of what clear does.
- `clear` gets called internally to initialize an axes!
### 3.6
- working on API changes and whats new
- search bar?
- pydata sphinx theme updates?
- our search button
---
# September 1, 2022
_attending_: @tacaswell, @greglucas, @QuLogic, @melissawm, @story645
## Agenda
### old business
- [x] [name=QuLogic] https://github.com/matplotlib/matplotlib/pull/22700 - discussed on June 23, but I see no conclusion
- [x] [name=tacaswell] 3.6.0 state
### new business
- [x] [name=tacaswell] rename our weekly call on https://scientific-python.org/calendars/ to "Plot Plotting"
- [ ] [name=oscargus] How should the ps backend behave in relation to paper size and ps output (not eps)?
- Paper selection is (and has for long been) broken: [#7551](https://github.com/matplotlib/matplotlib/issues/7551) [#16657](https://github.com/matplotlib/matplotlib/issues/16657)
- Using a figure size large than letter paper will crop it to letter paper for ps (not eps)
- Is there a use case where someone actually expects letter paper without specifying it explicitly?
- Suggestion:
- Add a "figuresize" (or whatever the consistent name is) for `ps.papersize`
- Correct the "auto" paper selection, breaking current behaviour, but actually doing what it is supposed to. [#22796](https://github.com/matplotlib/matplotlib/pull/22796)
- possibly add some more options, like "autous" and "autoiso" to select among a subset of sizes.
- Probably better suggestion from [name=anntzer]: skip the `papersize` completely and allow setting `figsize` to either `"a4"` or `mpl.getpapersize("a4")`
- [x] [name=hannah] New Contributor Meeting Sept 6 @ 5:00 UTC
- https://hackmd.io/TYTHxxvSRWugPCPEOox2gA
## notes
### rename
- yes, but make sure we are clear what it is
- https://github.com/scientific-python/scientific-python.org/pull/304
### 3.6.0 update
- some doc realated issues with the theme
- no known show-stopper bugs
### relook at #22700
- https://github.com/matplotlib/matplotlib/pull/22700
- issue is conflict between where numpydoc and pep-257 says to document thet parameters of the init method of a class
- https://github.com/python-lsp/python-lsp-server <- breaking this project
- https://github.com/numpy/numpydoc/issues/328 is only reference to pep-257 on numpydoc
- our conclusion is that we should open an issue on numpydoc (@melissawm will do)
### new contributor meeting
- scheduled for Sept 6
# August 25, 2022
_attending_: @tacaswell, @QuLogic, @greglucas, @efiring, @story645
<!-- Add [name=@myname] to items -->
### Old Business
- [ ] [name=QuLogic] https://github.com/matplotlib/matplotlib/pull/22700 - discussed on June 23, but I see no conclusion (moved forward)
### New Business
- [ ] [name=tacaswell] 3.6.0rc1 fallout / final steps
- [x] cla/clear issue https://github.com/matplotlib/matplotlib/pull/23735
- [x] memory leak https://github.com/matplotlib/matplotlib/pull/23712
- [ ] repllite in docs https://github.com/matplotlib/matplotlib/pull/22634
- [ ] https://github.com/matplotlib/matplotlib/issues?q=is%3Aopen+label%3A%22Release+critical%22+milestone%3Av3.6.0
- [x] do we want and rc2 ?
### PRs and Issues
#### memory leak #23712
- push responsibility of calling gc collect back to user
- possibly incorrect sweep when running event collection loop
- Eric: first step in a process to review/clean up memory consumption
- Tom: tree structure: systematic push to replace references up
- child to parent: weakref
- parent to child: hard ref
- follow up: @tacaswell writes issue for 3.7 proposing larger memory management strategy
- Target 3.6 or 3.5.4?
- Could be considered a bug, but unknown if this is a regression or not.
- Plan on targeting 3.6 for now
#### cla/clear #23735
- `clear` was alias for `cla`, decided to switch `cla` as alias for `clear`
- didn't totally update internally, so baseclass was calling the wrong clear
- PR says to recommend use of whichever subclass defines/uses - clear vs cla
- shouldn't fallback on cla, instead explicitely define clear or otherwise handle problem
- can't fix supercall to cla
- follow up: needs GIANT NOTE in release note w/ maybe potential work arounds
- @timhoffm recommends deprecating it in subclasses - defer to 3.7
- @greglucas pending deprecation for 3.6
#### rc2
- yes
#### no dot seaborn
- preserve dot for imports
- @tacaswell proposed `seaborn-v0_VERSION-stylename`, has consensus
#### colorbar w/ empty mappable can't steal space #23709
- 3.6 doesn't steal from current axes and mappable does not have an axes to steal from
- Follow up: better error message `Axes must be specified-pass in `ax` to colorbar`
- previously called plt.gca() if there was no axes
#### toolbar instantiation in notebook 23699
- unclear if on mpl or ipympl side
- related:
- https://github.com/matplotlib/ipympl/issues/426
- https://github.com/matplotlib/matplotlib/pull/22454
#### colorbar deprecation
- remilestoned to 3.7
#### mpl_toolkits.axes_grid still mentioned as maintained #23560
- can go in w/ 3.6
---------------------------
# August 18, 2022
_attending_: @tacaswell, @QuLogic, @timhoffm, Greg Lucas (@greglucas), @story645, @oscargus, Jody Klymak (@JKlymak)), Jakub Klus, Antony Lee (@anntzer), Eric Firing (@efiring)
<!-- Add [name=@myname] to items -->
## Agenda
### New Business
- [x] [name=tacaswell] 3.6.0rc1 blockers?
- [x] https://github.com/matplotlib/matplotlib/issues/20853
- [x] https://github.com/matplotlib/matplotlib/pull/23525 (sneak this fetaure under the wire?)
- [ ] [name=oscargus] Very long files for some modules (4680 lines for `patches.py`).
- What is the opinion on splitting files into subdirectories and using an `__init__.py` with an `__all__`-statement? (Obvious drawbacks: any open PR will have to be significantly modified, risk of circular imports, many files in total. Obvious advantages: shorter files to scroll through, faster linting in editor, "better" practice.)
- [x] [name=oscargus] Can/should font fallback be used in mathtext? [#10029](https://github.com/matplotlib/matplotlib/issues/10029)
### PRs and Issues
- [ ] [name=QuLogic] `dark_background` grid style https://github.com/matplotlib/matplotlib/pull/23598
- [ ] https://github.com/matplotlib/matplotlib/issues/23599
- [ ] [name=noatamir] follow-up on `add new showcase example, replace gendered one` [#23365](https://github.com/matplotlib/matplotlib/pull/23365)
- [x] [name=oscargus], [name=jklymak], [name=timhoffm] [#23592](https://github.com/matplotlib/matplotlib/pull/23592) Several options for errorbars and caps in polar. Which to select?
- [ ] [name=oscargus] Where should TextPath be imported from? (text: [#23576](https://github.com/matplotlib/matplotlib/pull/23576), textpath: [#23565](https://github.com/matplotlib/matplotlib/pull/23565), hardly both locations?)
- [x] [name=tacaswell] bar legend labels https://github.com/matplotlib/matplotlib/pull/23525
- [x] [name=anntzer] merge subplotbase into axesbase https://github.com/matplotlib/matplotlib/pull/23573/
- [x] [name=timhoffm] prepare for a `rcParams` -> `config` migration? i.e. introduce `config` as synonym for `rcParams` on a provisional basis. (there's more to come: https://hackmd.io/jd_7FjxNQ4y7XgNknvmvGQ#general-issues-with-rcparams)
### Open PRs
326 in total, 70 not draft, 20 (not draft and at least) single approval
## Notes
#### intros
#### Do we want to do a 3.6.0beta?
- do want to do deprecations after rc1
- there are is a scheduled deprecation of color maps
- https://github.com/matplotlib/matplotlib/issues/20853
- do we mean
- get_cmap / register_cmap / unregister_cmap
- the named colormap functions
- both?
- thing to do for 3.6:
- pending deprecations on the register function
- punt to later
- the top level color map access
- if we get the above in in the next 24hrs, tag rc, if not go with beta
#### pass labels to bar
- allow `labels` to be a list (matching the length of the bar input)
- previously would put a single label on the `BarContainer` (pseudo-artist) used to represent the group
- we now put labels on the individual `Rectangle` artists
- every bar will get a label
- currently no logic to automatically try to de-duplicate legend entries
- @story645 will open an follow on issue or PR with a gallery example
- updated: original PR author put in this PR
#### Error caps in polar
- https://github.com/matplotlib/matplotlib/pull/23592
- curved error bars.
- arcs: gets transformed on zoom
- interpolation steps interal API: https://github.com/matplotlib/matplotlib/blob/main/lib/matplotlib/path.py#L115
- for example, usage in [axvspan](https://github.com/matplotlib/matplotlib/blob/ba400c270f8791774be515a0f86225a588840bcb/lib/matplotlib/axes/_axes.py#L1014) and [bar](https://github.com/matplotlib/matplotlib/blob/ba400c270f8791774be515a0f86225a588840bcb/lib/matplotlib/axes/_axes.py#L2434)
- do we want to take with straight version ASAP to get in for 3.6?
- no, nothing urgent, better to get "right" version in in one shot
#### Font fallback
- https://github.com/matplotlib/matplotlib/issues/10029
- fallback is currently hand written
- issues with old CM encoding that makes it very hard to port to modern encoding
#### Rc param discussion
- name hard to understand?
- synonym `config`?
- do we want to get this in provisionally for 3.6?
- A very big change at the last minute!
- defer to 3.7
- should do as a bigger release with API changes included.
- explanation as to why to change.
- old API needs to stay for ever at least aliased...
- @timhoffm will open an issue
#### merge SubplotBase into AxesBase
- https://github.com/matplotlib/matplotlib/pull/23573/
- API hidden because the mixed class is not documented directly: axes are created via a factory.
- base class get a `self._gridspec=None` by default.
- breaks `isinstance(ax, SubplotBase)`.
- breaks `hasattr(ax, get_gridspec)` which will now always return *True*
- needs a transition plan if we do magic
- hard to include a deprecation message
- consensus is to merge for 3.7 and accept the breakage
#### review things with one approval for 3.6!
---------------------------
# August 11, 2022
_attending_: Melissa Mendonça (@melissawm), Noa Tamir (@noatamir), Greg Lucas (@greglucas), Elliott Sales de Andrade (@QuLogic), Thomas Caswell (@tacaswell), Eric Firing (@efiring), Hannah (@story645)
<!-- Add [name=@myname] to items -->
## Agenda
### New Business
- [x] [name=hannah] Small dev grant
- Due Sep 2, 2022, $5K-$10K
- https://numfocus.typeform.com/to/mbtH7w
- [x] 3.5.3 out!
- [x] 3.6.0
### PRs and Issues
- [ ] [name=QuLogic] `dark_background` grid style https://github.com/matplotlib/matplotlib/pull/23598
- [ ] https://github.com/matplotlib/matplotlib/issues/23599
- [ ] [name=noatamir] follow-up on `add new showcase example, replace gendered one` https://github.com/matplotlib/matplotlib/pull/23365
- for next meeting
- [ ] [name=tacaswell] font fallback for vector backends https://github.com/matplotlib/matplotlib/pull/23559
## Notes
### small dev grant
- possibly pool to support cgholke's work (binary builds)
- contract for freetype-?raqm migration
- typing work
- Some previous typing discussion: https://discourse.matplotlib.org/t/i-see-the-type-hints-from-vs-code-but-i-dont-understand-where-they-are-defined-in-the-code-in-github/22786/5
### open collective donations
- can now take money directly through open collective, do we plan to use it?
- have not talked about it yet so not sure
### 3.5.3
### 3.6.0
- wheels (2 PRs) https://github.com/matplotlib/matplotlib/pull/23557 https://github.com/matplotlib/matplotlib/pull/23556
- font fallback on vector backends https://github.com/matplotlib/matplotlib/pull/23559
### Dark theme
- Style discussion
- Should we relax style immutability?
- Should make the current policy explicit in the documentation
---------------------------
# August 4, 2022
_attending_: @noatamir, @tacaswell, @oscargus, @greglucas, @story645, @QuLogic, @timhoffm, @QWhXj01mSwmTjk5kN1H_qQ (efiring)
<!-- Add [name=@myname] to items -->
### Old business
### New Business
- [x] [name=QuLogic] Move wheel building off of macos-10.15?
https://github.com/actions/virtual-environments/issues/5583
### PRs and Issues
- [x] [name=oscargus] Pinging about these, somewhat old, PRs which recently have gotten a final(?) touch: https://github.com/matplotlib/matplotlib/pull/22566 https://github.com/matplotlib/matplotlib/pull/23196 https://github.com/matplotlib/matplotlib/pull/23340 (I may not attend)
- [x] [name=tacaswell] font fallback https://github.com/matplotlib/matplotlib/pull/20740
## Notes
### mac OSX wheel build issue
- cibuildwheel is not currently working because 10.15 is in a brownout
- can fix by bumping the version of the runner
- does this require us to update minimum supported version of OSX?
- maybe? We think we can build old wheels on new systems
- need to track down an old machine to test on
- we currently set the deployment target to 10.12
- plan:
- update to use new runner but leave old build target
- find at least 1 10.12 mac to test on
### PRs that need attention
### fonts
- https://github.com/matplotlib/matplotlib/pull/23293 <- brute force way to support ttc
- conceptually not great (caching issues!)
- pratcially really fast way of getting it done
- @tacaswell will look into making his work on this
- there may be a way to do this that gets improved functionality inside and not break external usage.
- font fallback PR
- provides:
- fallback support in Agg
- a reasonable public API to using the fallback
- does not provide
- support for vector backend
- ttc support
- public API for finding multifonts
- MERGED!
- add public API to rebuild
- high(est) priority is to get vector working as well
- other long term
- move to use https://github.com/HOST-Oman/libraqm
### new contributor meeting
- two new contributors joined this month
- both are youtubers who have made videos about Matplotlib
- one was https://www.youtube.com/charmingdata
- good opprotunity to start a collaboration
- partner with people who are teaching
- place to showcase people teaching (uptodate) methods
- other was more interested in contributing to code
- if we go down the video channel route they can help
- https://gitter.im/matplotlib/community
- Next meeting on September 6 (first Tuesday of every month)
---------------------------
# July 28, 2022
_attending_: @tacaswell @QuLogic [@greglucas](@IGuKs80UTJCig4yt6Zos7w) [@jklymak](@h1IxLDvDQ6alkgMzaANm6Q) @story645 [@ianthomas23](https://github.com/ianthomas23) [@scottshambaugh](https://github.com/scottshambaugh) [@melissawm](https://github.com/melissawm)
<!-- Add [name=@myname] to items -->
### Old business
### New Business
- [x] [name=tacaswell] drop mac stadium contract
- [x] [name=hannah] july numfocus news letter, due EOD today
- [x] [name=tacaswell] https://github.com/matplotlib/matplotlib/pull/23462 how to backport
- [x] [name=melissawm] Project to triage new contributors (using the existing [bot](https://github.com/matplotlib/matplotlib/blob/main/.github/workflows/pr_welcome.yml))
### PRs and Issues
- [x] [name=scottshambaugh] demo 3d panning & zooming from https://github.com/matplotlib/matplotlib/pull/23449
## Notes
### Macstadium: drop access of $80/mo and either use Amazon or someone's office machine.
### Numfocus newsletter - monthly newsletter
- add to agenda every second month near 15th.
### Backport: https://github.com/matplotlib/matplotlib/pull/23462
- figure comparison instead of image test...
- double up the tests?
### New contributor triage:
- github project to track new cntributions
- maybe filter by commenter? Or bot phrases...
- tools folder versus new project?
- make a project and add PRs to Project as kanban board...
- Maybe use bot but issues with permissions in github actions.
- can make access tokens that have arbitrary permissions
- could add hooks
- could assign bot to issue
- Maybe do by hand.
- just need triage rights
### other comments
- version added useful...
- retroactive hard...
- open PR with what this would look like on a few recent changes...
- more dashboarding of PRs?
- track new contributors in release notes...
- track new feautures etc like https://scikit-learn.org/stable/whats_new/v1.1.html
### demo 3d panning & zooming from https://github.com/matplotlib/matplotlib/pull/23449
- very cool work!
- discussion about how to do 'zoom box' zooming with fixed aspect ratio
---------------------------
# July 21, 2022
_attending_: @tacaswell @QuLogic @story645 @QWhXj01mSwmTjk5kN1H_qQ @oscargus @melissawm @timhoffm
### Old business
### New Business
- [x] Moving mlab to mplsignal? Problems to do a proper extraction with history.
### PRs and Issues
- [x] https://github.com/matplotlib/matplotlib/pull/23387 Worthwhile to add an sdist test? Multiple platforms/Python versions?
- [x] https://github.com/matplotlib/matplotlib/pull/23101
- [x] https://github.com/matplotlib/matplotlib/issues/20853
- [x] https://github.com/matplotlib/matplotlib/pull/23455
- [x] https://github.com/matplotlib/matplotlib/pull/23233
- [x] [name=hannah] add names to do items `[name=my_name]`
## Notes
### scipy recap
- went well, inspired a bunch of widget work by @QuLogic
- down-stream libraries seemed happy
### mlab -> mplsignal
- trying to move mlab / test mlab to mplsignal
- trying to filter branches to keep history
- suggestion
- try git tree / branch / magic filter a couple more times
- if that fails, just copy
### setuptools scm
https://github.com/matplotlib/matplotlib/pull/23387
- we should push to setuptools scm to 7 on main branch
- look at how to fold this test into cibuildwheel which can now bulid from sdist
- add check that the version is not the fallback
### move around show code
- moved to the manager
- maybe move event loop up to manager too
### pending deprecations in cmap functions
https://github.com/matplotlib/matplotlib/issues/20853
@timhoffm will open PR to start deprecation cycle on the correct cmap related functions
### deprecate axis alais properties on axes3D
Approved!
### Default stem marker color follows the linecolor
https://github.com/matplotlib/matplotlib/pull/23233
quickly reviewed and merged
### names on todos
please add your name to your agenda item ``[name = your name]``
---------------------------
# July 14, 2022
_attending_: @melissawm, @story645 , @QWhXj01mSwmTjk5kN1H_qQ (efiring), Andrew Fennel
### Old business
### New Business
### Notes
- someone volunteering to do a walk through of the source code
- Examples: https://youtu.be/mTWpBf1zewc, https://youtu.be/V1FCSijy460
- structural overview documentation
- modern version of open architecture paper
- heirarchy of deps
- general overview of draw stack
- implementation details
- could help facilate walk through + discussions of major changes
---------------------------
# July 07, 2022
## Agenda
_attending_: @tacaswell, @QWhXj01mSwmTjk5kN1H_qQ (efiring), @melissawm, Frank Sauerburger, @QuLogic, @pXw4hSgTQF2--OciPYwa1w (anntzer), @story645
### Old business
### New business
- [x] scipy planning (highlights for @QuLogic 's update talk + sprint planning)
- [ ] font fallback PR
- [ ] 3.6 planning / triage
- [ ] should we do 3.5.3?
## Notes
### Scipy
- Caswell, Elliott, May
- highlight slides for scipy
- updated website (theme + plot types)
- subfigure + subplot mosaic
- last year 3.5 was around the corner, but did preview some 3.5 stuff
- third-party webpage
- mpl-cookie-cutter
- new selectors
- new members, Kyle, Noa, Melissa; also new contributors meeting
### font fallback
Moving!
### 3.5.3
Yes
### 3.6
- font fallback biggest blocker
- https://github.com/matplotlib/matplotlib/issues/20853
- part of 5 step plan to lock down how we provide colormaps
- need a PendingDeprecation on `matplotlib.cm.viridis()` and friends
- https://github.com/matplotlib/matplotlib/pull/16931
- metadata for different interaction events was incorrect
- if mouse is outside of the window -> press ctrl -> move mouse back into window
- matplotlib missing the keydown so does not report ctrl in the mouse event
- the GUI toolkit _does_ know if the control is down, but we are depending on our own accounting
- when a UI event happens
- base methods in backend base
- done in a way that is hard to modify
- this is a better way of doing the plumbing
- let the backends directly create our versions of the Events
- easier to enrich the event in the future without touching _every_ backend and changing public API
- seems like good idea, @tacaswell will review
- https://github.com/matplotlib/matplotlib/pull/23291
- currently what is a backend is slightly ill-defined
- pushing to "a backend is something with a FigureCanvas class"
- transforming all of the methods we currently expect to be methods
- already did new_figure_* methods
- also need it for show (there is open PR)
- do we need "draw_if_interactive"
- used to be called at the end of ever pyplot function + figure creation + unpickle
- no longer called now that we have stale machinery
- proposal
- can not customize what happen with as stale figure
- if you want to customize creation / unpickling -> put into new_manager_given ...
- this is removing a customization point
- could warn, but would make it very hard to write using both old and new APIs
- if we detect "old way", use draw_if_interactive
- if we detect "new way", ignore
- https://github.com/matplotlib/matplotlib/issues/21167
----------------------------------------------------
# June 30, 2022
_attending_: @tacaswell @noatamir @h1IxLDvDQ6alkgMzaANm6Q (jklymak) @QWhXj01mSwmTjk5kN1H_qQ (efiring) @timhoffm @IGuKs80UTJCig4yt6Zos7w (greglucas) @story645 @dopplershift
## Agenda
### Old Business
- [ ] mission statement https://github.com/matplotlib/matplotlib/pull/20220
### New Business
- `is:pr is:open draft:false`: 53.
- 14 with approved reviews...
- [name=noatamir] [SciPy 2022 Scavanger Hunt](https://github.com/alt-text-task-force/.github/blob/main/profile/scipy-2022-msg.md)
- https://github.com/alt-text-task-force
- [name=greglucas] New contributor meeting date? July 5th, August 2nd
### PRs and Issues
- https://github.com/matplotlib/matplotlib/pull/23148 move security issues to steering council list from matplotlib@numfocus.org
- https://github.com/matplotlib/matplotlib/pull/23374 move CoC reporting to streeing council list from matplotlib@numfocus.org
## Notes
### Mission statement
- main sticking point is we are identifying people / roles
- should try to identify the tasks we support
- our goal is data visualiaztion
- not "hand drawing" / "pixel poking"
- we are a foundatinoal tool
- need to be extensible to domains
- also want to be usable stand-alone
- scope creep can happen on UI
- scope versus mission
- scope is pretty clear
- how to define a mission?
- https://matplotlib.org/stable/users/project/history.html
### scavanger hunt
@noatamir will look into if we can actually do it because so many of our images are generated by sphinx gallery (may need up stream PR)
---------------------------
# June 23, 2022
_attending_: efiring, @IGuKs80UTJCig4yt6Zos7w greglucas, afennell, thoffman, oscargus, story645, jklymak
## Agenda
### Old Business
- [ ] (DEFER:@tacaswell not here) mission statement https://github.com/matplotlib/matplotlib/pull/20220
### New Business
- `is:pr is:open draft:false`: 56.
- 14 with approved reviews...
### Issues and PRs
- automatic font via Locale : https://github.com/matplotlib/matplotlib/pull/22355
- norms from scale names: https://github.com/matplotlib/matplotlib/pull/20752
- issue with docstring and not using docstring interpolation (@timhoffm)
- infer canvas size cairo: https://github.com/matplotlib/matplotlib/pull/22004
- @QuLogic waiting for final comment
- rotating rectangle selector https://github.com/matplotlib/matplotlib/pull/21945
- Docstrings:
- https://github.com/matplotlib/matplotlib/pull/22700 __init__ or class?
- https://discourse.matplotlib.org/t/meaning-of-args-not-clear/22937/6 - should `*args` appear directly in the `Parameters` section or is it ok to infer (eg. https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html)
- width_ratios arguments to subplots and subplot_mosaic. https://github.com/matplotlib/matplotlib/issues/21942
- https://github.com/matplotlib/matplotlib/issues/21942
## Notes
* mpl-sphinx-theme
* Make a release of mpl-sphinx-theme soon
* Should we point devdocs at the master branch of this?
* Build and release to GitHub Pages
* Mostly updates the colors to MPL colors and styling on top of pydata-sphinx-theme
* https://github.com/matplotlib/mpl-sphinx-theme/pull/34
* concensus don't invert the plots for now...
* https://github.com/matplotlib/matplotlib/pull/22355
- locales to set fonts
- matplotlib has rcParams for this?
- lets wait for #20740
- #20740: fallback
- needs some dedicated work...
- maybe a small grant
- maybe RSE works on it..
* #21945: Rectangle selector
- rectangle selection shoudl be in screen space
- really hard in data space in general
- what does @dstansby think should happen in polar space
- have a polygon selector
- does it need to be in matplotlib?
- https://github.com/matplotlib/matplotlib/pull/22700
- parameters documented in the docstring of the init or the class.
- numpydoc and pep are in conflict
- tools have problem with putting them together
- inheritence problems are less if in the class docstring versus the `__init__`
- docstrings for parameters should be below the defn..
- users never see the `__init__` method themselves.
- most tools handle this gracefully.
- parameters should be in the `__init__`
- numpydocs does work regardless of how this is done, so the stricture in the docs doesn't apply strongly to classes.
-
----------------------------
# June 16, 2022
## Agenda
attending: @noatamir, @tacaswell, @oscargus, @greglucas, @efiring, @kyles, @story645, @ksunden
### Old Business
- [x] review of mission statement https://github.com/matplotlib/matplotlib/pull/20220
- [ ] Do we want to support a dark theme?
- [x] update on zoom license
### New Business
-
### Issues and PRs
- [ ] Hexbin 2:1 aspect ratio https://github.com/matplotlib/matplotlib/issues/21349
## Notes
### condolences
Elliott's grandmother passed away https://mailchi.mp/67c7dd4a049e/upcoming-events-2358601
### NASA RSE
- Kyle Sunden will be the NASA RSE in the fall
### mission statement
push to next week
### should we support a darktheme on the website
- support for a dark mode in general
- however, we have lots of images with white backgrounds
- we probably have to re-generate all of the images
- or just have glaring white on dark background
- this appears to be built into pydata and does all the styling image inversion in the browser
- looks like it should be low impact on our complexity
- lets give it a try
- if we get a flood of bug reports, we can remove
### hexbin
https://github.com/matplotlib/matplotlib/issues/21349
- The number of y-bins gets doubled implicitly
- seems to be due to the stacking / stagger
- if count strait vertically center-to-center you get the expected number
- if you count zig-zag you get 2x the number
- if you pass just 1 number, get second number by deviding by sqrt(3)
- options to fix
- document lots
- add an alternative to gridsize which counts "zig-zag"
- ~~add a kwarg to control vertical counting rules~~
- proably impossible to change existing behavior
---------------------------
# June 9, 2022
## Agenda
attending: @melissawm, @noatamir, @greglucas, @tacaswell, @dopplershift, @efiring, @rcomer, @oscargus, @sauerburger, @story645, @timhoffm, @jkylmak
### Old Business
### New Business
- [ ] review of mission statement https://github.com/matplotlib/matplotlib/pull/20220
- [x] update on namecheap email service (not enabled, intend to drop DNS entries)
- [x] update on mailing list names (now all matplotlib-XYZ, still missing matplotlib-social-admin)
- [x] [name=Greg, Noa] Would anyone be available to join the next new contributor meeting, July 5th, instead of Greg?
### Issues and PRs
- [ ] https://github.com/matplotlib/matplotlib/pull/22329 Line 2D sequences?
- [x] https://github.com/matplotlib/matplotlib/pull/23208 name of parameter? offcolor? gapcolor?
- [x] https://github.com/matplotlib/matplotlib/pull/23207 should we run tests on beta versions? ubuntu 22.04, python 3.11, macos 12?
- [ ] Do we want to support a dark theme?
## Notes
### Introductions
### tech updates
- @tacaswell now admin on namecheap accout and can see we are not using the email accounts, intend to drop DNS
- mailing list names are fixed
### new-contributor meeting update
- this week we had update from Johnny on (very) early contributitons to Matplotlib and current work on table code
- looking for coverage for July 5th (Greg will be on vacation)
- maybe Oscar, maybe Hannah. revisit next week
### Issues
- https://github.com/matplotlib/matplotlib/pull/23208
- some discussion over what the name should be
- weak consensus of "gapcolor", but need input from @timhoffm
- "secondarycolor" is another good option
- if coming from dashed -> stripe then gap make sense
- but if you start with "I want two colors" why is one of them the "gap"?!
- "secondcolor"
- https://github.com/matplotlib/matplotlib/pull/23207
- how much pre-releases do we want to run?
- found atleast one bug with gtk4cairo
- is this worth doing?
- pros: catch upcoming issues early
- good to have a canary to catch bigger integration issues
- cons: noisy
- yes, but run weekly on cron job
- do not run on every PR because we already have reliability issues
### Qt related issues
- maybe upstream issues with conda-forge + qt + py310 -> we will get this
- look into pytest-qt plugin that can exercise a UI
- @oscargus tried to do this and had issues
- we run xvfb on CI
- has proof of principle from @efiring in a related Qt example
### Mission Statement
------------------
# June 2, 2022
## Agenda
attending: @tacaswell, @noatamir, @story645, @timhoffm, @melissawm, @jklymak, @greglucas, @efiring, @oscargus , @franksauerburger
### Old Business
### New Business
- [name=Melissa, Noa] [Grace Hopper celebration open source day](https://ghc.anitab.org/programs-and-awards/open-source-day/) (deadline is June 6)
- This year, OSD will be a virtual pre-event before the Grace Hopper Celebration, scheduled for Friday, September 16th, 2022 from 8am to 3pm U.S. Pacific Time.
- [name=Melissa, Noa] Sprints at SciPy (Jul 16-17), EuroSciPy? (Sep. 2)
- [name=Greg, Noa] New Contributors meeting on Tuesday, June 7th at 17:00 UTC
- PRs:
- `is:pr is:open draft:false`: 67
- `is:pr is:open review:approved draft:false` 22
### Issues and PRs
- [ ] macosx cleanup and testing: https://github.com/matplotlib/matplotlib/pull/21755, https://github.com/matplotlib/matplotlib/pull/23059, https://github.com/matplotlib/matplotlib/pull/23060. Is there a good way to add tests for these GUI updates? Not enough Mac users, so makes it tough for reviewers to tell if it "works" or not.
- [ ] https://github.com/matplotlib/matplotlib/pull/22329 Line 2D sequences?
- [ ] Renderers and where to put the cache: https://github.com/matplotlib/matplotlib/issues/22744, https://github.com/matplotlib/matplotlib/pull/22745
- [ ] One final 3.4 deprecation that should be removed: https://github.com/matplotlib/matplotlib/pull/17737
- [ ] MI madness https://github.com/matplotlib/matplotlib/pull/23183
- [ ] Deprecate positional passing of most Artist constructor parameters: https://github.com/matplotlib/matplotlib/pull/23177 - Is this a good idea?
- [ ] Proof of concept for adding kwdoc content to properties using a decorator: https://github.com/matplotlib/matplotlib/pull/22699
## Notes
- GHD:
- will sign up, @tacaswell and @oscargus can be at the event
- need 3 good first issues
- Scipy-ish sprints
- meetup for maintainers
- spool up new folks...
- EuroScipy: Tim, but not sprints. Noa
- USScipy: @tacaswell and @QuLogic (maybe)
- New Contributor meet 7 June
- MacOS PRs @IGuKs80UTJCig4yt6Zos7w
- feature parity
- hard to review, ObjectiveC, put in CI testing clicks?
- Aesthetic
- much better mac backend faster for interactive
- freetype c-memory leak in current test version.
- Figure renderer...
- https://github.com/matplotlib/matplotlib/pull/22745
- should cache be gotten from the canvas?
- in figure. private for now..
- https://github.com/matplotlib/matplotlib/pull/17737
- complicated. Needs @anntzer to look at?
- discussing pending deprecations. Many are quite old.
- multiple inheritence
- https://github.com/matplotlib/matplotlib/pull/23183
- probably OK,
------
# May 26, 2022
## Agenda
attending: @jklymak, @efiring, @andrew-fennell, @tacaswell , @story645, @QuLogic, @melissawm, @timhoffm
### Previous Business
- SDG ideas
- talked to someone recently at kitware, 10k$ may be too small for them to be interested.
- still need someone to volunteer to write, lead, and manage the work.
### New Business
- new @numfocus.org mailing lists/google groups
- Goal is to get organizational communications out of private/single email addresses
- so we have a record
- more than one person gets notifications
- shared credentials are a security abomination
- groups we currently have and have started to use
- steering-council-matplotlib@numfocus.org
- for steering council discussions.
- This has in the past been done via private email with the correct to: list. Is world mailable, do we want to publicize this fact (or change it)?
- current membership is, as the name suggests, the steering council
- matplotlib-tech@numfocus.org
- the contact address for the various services (digital ocean, cloudflare, amazon,macstadium, ...)
- currently me and @QuLogic
- anyone else want to be added?
- created but not used yet
- matplotlib-social@numfocus.org
- to use as the contact email for all of the social media accounts
- we should add anyone who is helping to manage social accounts so everyone sees the notifications
- we should start using this ASAP
- coc-matplotlib@numfocus.org
- use this as the CoC reporting target + CoC handling discussions
- We wrote into CZI round 4 funding for COC handling. We should populate and publicize this list in conjunction with that training.
- also have matplotlib@numfocus.org
- initially set up to sign up for cloudflare (they wanted an @ numfocus address for some reason )
- we should stop using this and set it to forward to one of the above groups (or make a new one)
- `@matplotlib.org` email aliases
- it appears that cloudflare will do email alaising for domains that they have the DNS for
- do we want to do anything "official" with these (e.g. forward to the above groups)?
- do we want to offer and `@matplotlib.org` forwarding mailing address to committers?
- there is still one thing we need to check on the technical side before we do this
- there is email set up in cloudflare to an email service provided by namecheap (who is the registrar that NF uses for our domain)
- need to make sure that in not actually being used as part of NF managing the registering for us!
-
### PRs and Issues
- [ ] https://github.com/matplotlib/matplotlib/pull/23039 helpers to expose streamplot start and stop points.
- [ ] macosx cleanup and testing: https://github.com/matplotlib/matplotlib/pull/21755, https://github.com/matplotlib/matplotlib/pull/23059, https://github.com/matplotlib/matplotlib/pull/23060. Is there a good way to add tests for these GUI updates? Not enough Mac users, so makes it tough for reviewers to tell if it "works" or not.
- [ ] [name=hannah] search on homepage https://github.com/matplotlib/mpl-brochure-site/issues/50
- maybe globally move search bar to nav bar
- PR to enable this would be on https://github.com/matplotlib/mpl-sphinx-theme
## Notes
### Small Development Grant:
- hard to get small contract for $10k at kitware
- switching to ramq instead fo freetype modern fontshaper can do non-western scripts
- needs volunteer to write grant and supervise
### Numfocus email and coms
- can have email to steering council See above.
- social and social-admin
### issuse
- 23039
- not clear that our streamlines should be trusted for science
- if you want to adjust the artists, we alerady expose the `LineColleciton` as public API
- but we had the view that contouring (which is much more physically based and solid) was not public
-
- OSX cleanups
- wait for @IGuKs80UTJCig4yt6Zos7w to be back
- website:
- search bar placement
- needed on front page
- should be as consistent as possible
- quality of search - pretty crude.
-
---
# May 19, 2022
attending: @noatamir, @melissawm, @QuLogic, @greglucas, @jklymak, @efiring, @andrew-fennell, @tacaswell, @story645
## Agenda
### Previous Business
### New Business
- [x] [name=hannah] small dev grant round 2
- $10K, Deadline: June 5, 2022
- https://numfocus.typeform.com/to/mbtH7w
- [x] PRs: `is:pr is:open draft:false` = 73 PRs that need action.
### PRs and Issues
- [x] font fallback https://github.com/matplotlib/matplotlib/pull/20740
- [x] units strategy discussion
- what are the plans here?
- https://github.com/matplotlib/matplotlib/issues/23015 for the "numpy immediately" approach.
- [ ] https://github.com/matplotlib/matplotlib/pull/23039 helpers to expose streamplot start and stop points.
- [ ] macosx cleanup and testing: https://github.com/matplotlib/matplotlib/pull/21755, https://github.com/matplotlib/matplotlib/pull/23059, https://github.com/matplotlib/matplotlib/pull/23060. Is there a good way to add tests for these GUI updates? Not enough Mac users, so makes it tough for reviewers to tell if it "works" or not.
- [ ] [name=hannah] search on homepage https://github.com/matplotlib/mpl-brochure-site/issues/50
- maybe globally move search bar to nav bar
- PR to enable this would be on https://github.com/matplotlib/mpl-sphinx-theme
## Notes
- [ ] small development grant?
- $10k for various things
- typing? $20k
- numpy did it incrementally
- $10k could go some way...
- updating freetype
- how to do with without breaking all the tests?
- finish the gsoc
- hash based like pytest-mpl?
- always 3D work
- docs, tests
- "proper"
- make use transform stack
- openGL backend?
- this is probably enough for a working prototype
- our lower end transform is not well suited to GPUs.
- vtk integration
- @tacaswell will ping Marcus about VTK integration
- bring cairo backend into core
- cairo not being actively maintained
- other folks moving to opengl or their own proprietary renderers.
- investigate a new render API?
### ipympl discussion
- issue with widget layout (buttons overlapping plot)
- some issues saving
- maybe fixed in newer versions(?)
### GSOD
- contracting out
- infrastructure and information architecting
- (oops deadline March, maybe next year)
## Issues and PRs
### font fallback
- https://github.com/matplotlib/matplotlib/pull/20740
- @tacaswell and @QuLogic working on it still
- discussion of possible memory leaks fonts?
- caches for fonts?
- used to load _all_ fonts!
- there are libraries that can do this, and in mpl-cairo.
### units strategy...
- NASA grant will start looking at state of things.
- lazy loading advantage of keepng pointers to artists.
- can have methods on arrays that get packaged through..
-
-------