---
# System prepended metadata

title: Matplotlib Weekly Meeting 2022-05-19--2022-10-06
tags: [2022 dev call]

---

# 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..
- 

-------