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