---
# System prepended metadata

title: '*August* 2020'
tags: [2020 dev call]

---

# *August* 2020 

[![hackmd-github-sync-badge](https://hackmd.io/MNcskNfZSIOoLb50GqVIGg/badge)](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
    - ![state machine](https://gist.github.com/brunobeltran/8ea37f734145137c1b44b44ce853f62c/raw/a49d75ab1d7ef22b007e96a76b14085308e11954/matplotlib-pr-state-machine.svg)

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