# *August* 2020
[](https://hackmd.io/MNcskNfZSIOoLb50GqVIGg)
###### tags: `2020 dev call`
Call co-ordinates: Mondays @ 15:00 Eastern daylight time (UTC -04:00) https://zoom.us/j/384435716
Previous notes: [2020 Meeting Agenda](https://hackmd.io/zljR-pZrQ0O5J_j4NZ-9yw)
Archive: [matplotlib/ProjectManagement](https://github.com/matplotlib/ProjectManagement)
#### [Needs discussion at some point](https://hackmd.io/uzWviu8zSUChq3XhI2FqPg)
# 31 August 2020
## Agenda
- [ ] ...
### PRs and Issues:
- [x] [#18275](https://github.com/matplotlib/matplotlib/pull/18275) Do we want a new function `Axes.histline()` or `Axes.stepline()` or both?
- `histline()` is specifically named with histogram plotting in mind e.g. `histline(*np.histogram(...))`, which is the use-case the whole discussion started of.
- The underlying `StepPatch` is (correctly) a bit more general, thus one could go for a generic `stepline()`.
- Semantically, `histline()` implies a certain meaning of the data, whereas `stepline()` is only the geometric description.
- [ ] [#18066](https://github.com/matplotlib/matplotlib/issues/18066): Minimum supported macOS?
## Notes
Long discussion about names for #18275
- decided to go with "levels" for the function / method name
- we are describing a piece-wise constant function
- "step" would be good, but we already have it!
- do not want to put "hist" in the name because it is usable for other things
- "piece_wise_constant" was deemed too wordy
- decided to go with "level(values, edges, **kwargs)" as signature
- odd that this is "y, x" unlike everything else but:
- want to be able do to `ax.levels(*np.histogram(..))`
- want to be able to infer the bin edges (as `np.arange(len(values) + 1`)) and doing the plot style optional first positional argument is not great
- do not want to go down the route of "guessing" which is which based on length
- aim to always use `edges=...` in examples to highlight the behavior
- definitly add to Axes namespace
- it is doing a non-trivial amonut of book keeping
- addd to pyplot (provisionally?)
Brief discussion of OSX versions
- Open a revert PR on the PR that added macros to moderize some of our osx usage (as it is broken on 10.9)
- punt discussion of dropping support for older versions of OSX to later
- on one hand, we are supporting longer than apple
- on the other hand, if we have users with old OS/hardware (through no fault of their own) we should not cut them off from doing user-space Python and should best-effort keep supporting them as long as feasible.
# 24 August 2020
## Agenda
- [x] theme-contrib
* repo of user contributed themes?
- [x] NumFocus august newsletter
- [x] pydata global (Nov)/jupytercon (Oct)/ML conf EU (Nov)
### PRs and Issues:
- [x] deprecate `plot_date`
- [x] Background / proposal at https://github.com/matplotlib/matplotlib/issues/18154
- [ ] Default pcolormesh handling:
- https://github.com/matplotlib/matplotlib/issues/18317
- Should we find grid centers in display space
- Warn if non-monotonic?
- Give kwarg way to get old behaviour or just ask people to drop whichever row/column they want e.g.`Z=Z[:-1, :-1]`
- [ ] ~~Merge or close: [17153](https://github.com/matplotlib/matplotlib/pull/17153)~~
- [ ] pushed a smaller version: https://github.com/matplotlib/matplotlib/pull/18341
## Notes
### Conferences:
- contact @story645 if you want to do a talk at jupyter (Oct)/pydata global (Nov) @tacaswell if you want the ML conf EU (Nov 5-6, 2020)
- sprint already signed up for at pydata global
### Numfocus August Newsletter
- due soon.
- 3.3.0/3.3.1 announcement
- GSOC wrap up
- GSOD announcement
### Contrib library: `theme-contrib`
- like colormap contrib
- Needs a champion and proposals
- theme version
- start proof of concept for how it would work on users repository and then transfer to matplotlib
- mvp - 2 styles
- documentation for making a style
- documentation for installation
- list of installed styles
- something like matplotlib.style.available - specific for contrib.style
- https://matplotlib-style-configurator.herokuapp.com/
- Framework::Matplotlib::style
- host this sort of thing on discourse?
### plot_date deprecation?
- https://github.com/matplotlib/matplotlib/issues/18154
- confusingly redundant
- wrappers of axis methods on axes object.
- rare functions...
- soft deprecation
- remove from gallery
- demphisize in docs & make redundancy clear
- DeprecationWarning (mpl v25)
- document alternatives
- check setting of timezone
### deprecate {x,y}axis_date()
- mostly implemented as dynamically generated wrappers of Axis class calls
- also soft deprecate
- hack ipython to not show them
- move in docs so they're more "please don't use them"
# 17 August 2020
## Agenda
### Announcement
- [x] [GSOD](https://developers.google.com/season-of-docs/docs/participants)
### follow ups
- [x] more smaller better curated galleries?
- [x] references?
- [x] pyplot types?
- [ ] Documentation project: how to implement your own style/library with your personal settings beyond rcParams @tacaswell
### pull requests
- [x] Partial handling of `rcParams['axes.unicode_minus']` by formatters https://github.com/matplotlib/matplotlib/issues/17967#issuecomment-662123414
- Should the log formatters respect the rcParam?
- Should we do anything about `FormatStrFormatter`?
- Try to parse the format str?
- Is [mathtext](https://github.com/matplotlib/matplotlib/issues/17967#issuecomment-662172253) the recommended way to go here
- [x] how to handle `subplot_tool`? https://github.com/matplotlib/matplotlib/pull/16818
- [x] https://github.com/matplotlib/matplotlib/issues/4369 pull up as a priority?
- [ ] https://github.com/matplotlib/matplotlib/pull/17494 rewrite of constrained layout
## Notes
### GSOD
We got 2 GSOD slots! @bruno and Jerome
- will set up seperate call with Caswell, Aizenman, Hoffmann, Bruno, and Jerome
### Gallery organization
- We should have a new gallery page that is an exhaustive demonstration of just the plotting methods. Minimal code to make it go for each of https://matplotlib.org/api/axes_api.html?highlight=axes#basic
- https://github.com/matplotlib/matplotlib/projects/10 - had been planned for a sprint, need to convert to project
- @hannah will populate project & open issue
### user helper library
- @tacaswell still working on this...
- sample repo. https://github.com/matplotlib/matplotlib-cmap-template
### multi-dimensional colormap
- needed for core? API hard. Can do externally.
- can be done with existing tools?
- https://github.com/matplotlib/matplotlib/issues/4369
- https://github.com/matplotlib/matplotlib/pull/8738
- https://github.com/matplotlib/matplotlib/pull/14889
- have for `imshow`; would be nice to have for `pcolormesh`
- bivariate/trivariate mapping + colorbar equiv should be 3rd party package!
### Unicode minus
- https://github.com/matplotlib/matplotlib/issues/17967#issuecomment-662123414
- formatters have searches for minus->unicode minus
- doesn't work for all formatters
- mathtext is the right way to do this? from func formatter....
- `LogFormatter`? `1e-5` do you want a minus in this case? Prob not.
### Subplot tool
- https://github.com/matplotlib/matplotlib/pull/16818
-
# 10 August 2020
## Agenda
* https://github.com/matplotlib/matplotlib/pull/18161
* maintaince?
### Follow ups
- [x] @tacaswell set up PR/issue "state machine"...
https://github.com/matplotlib/matplotlib/projects/10
### new business
- [x] https://github.com/simple-icons/simple-icons/issues/3410
### PRs/Issues
- [ ] Partial handling of `rcParams['axes.unicode_minus']` by formatters https://github.com/matplotlib/matplotlib/issues/17967#issuecomment-662123414
- Should the log formatters respect the rcParam?
- Should we do anything about `FormatStrFormatter`?
- Try to parse the format str?
- Is [mathtext](https://github.com/matplotlib/matplotlib/issues/17967#issuecomment-662172253) the recommended way to go here
- [ ] deprecate `plot_date`
- [ ] Background / proposal at https://github.com/matplotlib/matplotlib/issues/18154
- [ ] how to handle `subplot_tool`? https://github.com/matplotlib/matplotlib/pull/16818
- [ ] https://github.com/matplotlib/matplotlib/issues/4369 pull up as a priority?
## Notes
### PR state machine
- long discussion about the PR flow
- greatly reduced the number of nodes and flow between them
- https://gist.github.com/brunobeltran/8ea37f734145137c1b44b44ce853f62c
- 
### Simple Icons
* follow up with NF to sort out how to say yes.
### PR Templates
* https://github.com/matplotlib/matplotlib/pull/18161
* enhancement & cleanups are same templated labeled maintaince
### 3.3.1
* 18184 - fixes figure destroy bug
# 03 August 2020
## Agenda
### Follow ups
- [x] Governance update
- [x] CZI update
### New business
- [x] Guidance/philosophy/rules for closing unmerged PRs
- [ ] more smaller better curated galleries?
- [ ] references?
- [ ] pyplot types? https://github.com/matplotlib/matplotlib/projects/10
### PRs/Issues
- [ ] Partial handling of `rcParams['axes.unicode_minus']` by formatters https://github.com/matplotlib/matplotlib/issues/17967#issuecomment-662123414
- Should the log formatters respect the rcParam?
- Should we do anything about `FormatStrFormatter`?
- Try to parse the format str?
- Is [mathtext](https://github.com/matplotlib/matplotlib/issues/17967#issuecomment-662172253) the recommended way to go here
- [ ] deprecate `plot_date`
- [ ] Background / proposal at https://github.com/matplotlib/matplotlib/issues/18154
- [ ] how to handle `subplot_tool`? https://github.com/matplotlib/matplotlib/pull/16818
## Notes
### CZI grant
- Thomas, Hannah, Eric, Elliott are working on it.
- Grant due 4 August
- https://github.com/matplotlib/CZI_2020-07_mpl/blob/master/CZI.md
- Same ask as last year: Elliot, Hannah, Thomas time...
- Goal for Phd:
- formalisms
- matplottoy - data/artist communication
- shim into matplotlib?
- improvements for 3rd party libraries...
### Governance
- Tim API consistency lead volunteer
- Jody Secretary
- Hannah Community manager
- wants a replacement
- Narrative documentation lead? API doc lead?
-
### PR closing philosophy
- should make more use of drafts!
- mark as stale or orphan
- On one hand if work is in-flight people don't want to start working on work that is already in-progress
- on other hand, open PRs represent good work in flight that just needs a bit more love to push over the edge
- agressively closing:
- pro: reducing PRs reduces cognignative load on reviewers
- con: throwing away good work
We need "next step" labels (prefixed with state: and all be same color)
- oprphaned
- needs test
- needs rebase
- needs review
- needs high-level decision
- needs API review (?)
Models to look at:
- cpython
- sklearn
- pandas?
Look at Bots
- cpython
- meeseeksbot
- JOSS
Maybe use projects for PRs
- move through a project...
Want at bot that:
- finds stalled PR and ping author and ask if they need help
- if no response mark as draft
Need a "needs actionable next step" flag for PRs and Issues