---
# System prepended metadata

title: November 2020
tags: [2020 dev call]

---

# November 2020 
###### tags: `2020 dev call`
Call co-ordinates:  Mondays @ 15:00 Eastern US time (UTC = 20:00) https://zoom.us/j/384435716?pwd=WFpxVWxoYXArTDFzN1lWaHNoOE8xZz09

 
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)

# 24 Nov

## Agenda

### Old Business

- [x] Code of Conduct

### New Business

- [x] CZI
- [ ] [Travis CI stopped building PRs since 4 days ago](https://travis-ci.com/github/matplotlib/matplotlib)
    - We can request new credits (currently used ~12000 out of 10000), but not sure when that started counting to estimate how much we'd need
    - Other projects facing this:
        - NumPy: https://github.com/numpy/numpy/issues/17824
        - SciPy: https://github.com/scipy/scipy/issues/13109
        - MDAnalysis: https://github.com/MDAnalysis/mdanalysis/issues/3036
        - Iris is maybe moving to Cirrus CI: https://github.com/SciTools/iris/pull/3928
    - We are currently duplicating on Azure Pipelines, but it's missing some things so is causing a coverage drop. I also don't like its poor SSO implementation.
    - GitHub Actions are currently lightly used, and could be switched to
    - Travis is the only(?) one with arm, ppc and s390x, but we don't build on these at the moment (though we just enabled arm on matplotlib-wheels); NumPy may be using shippable for arm


### PRs
- [ ] https://github.com/matplotlib/matplotlib/pull/18978
    - Remove deprecated axes kwargs collision detection

## Notes

### CoC
- announced and no comments
- important to have some process that is transparent, but allows privacy.
- @story645 will do an inline edit... - finished

### CZI was renewd 
- same levels
- need to announce on mailing lists...
- similar deliverables
- https://github.com/matplotlib/CZI_2020-07_mpl

### Travis
- not working because they want $
- need an update
- Astropy didn't get enough credits to last more than a week
- Github actions: lint, wheel builds
- Azure: Mac, linux, and Windows
    - maybe hard to get an xserve spooled up?
- Travis: old mac build (10.12, xcode 9, versus 10.14 on Azure)
    - maybe macmini on macstadium? 
    - currently running backend tests on TRavis
    - old xcode on new systems?
- Github actions:
    - good parallelizable
    - can't have a maybe-pass job
- Can put in commit message `[ci skip]`
    - https://docs.travis-ci.com/user/customizing-the-build/#skipping-a-build
- Wating to hear
    - will start migrating if this is a problem...
- MPL docker so Qt doesn't need to be installed every build
    - freetype, qhull, as well?
    - https://github.com/matplotlib/mpl-docker
- Prs not hitting GUI code

### Remove deprecated axes kwargs collision detection

```
In [5]: plt.subplot(2, 1, 1)
Out[5]: <AxesSubplot:>

In [6]: plt.subplot(2, 1, 2)
Out[6]: <AxesSubplot:>

In [7]: plt.subplot(2, 1, 1)
<ipython-input-7-7ce69061fa46>:1: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance.  In a future version, a new instance will always be created and returned.  Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.
  plt.subplot(2, 1, 1)
Out[7]: <AxesSubplot:>
```
https://github.com/matplotlib/matplotlib/issues/12513

- need to somehow track kwargs when creating `subplot`
- possible proposal:
    - plt.subplot(2,1,1) the second time warns if passed with a kwarg?
        - should we allow kwarg matched? 
        
- current PR:
    - removes from add_subplot
    - a new PR would need to add the pyplot functionailty back
    - 




----------------------------------------------------------------

# 17 Nov 
## Agenda

### Old Business 

- [x] post CoC @story645 

### New Business

- [x] 3.3.3 released
    - [x] py 3.9? 
- [x] MacOS Big Sur issues
- [x] Sprint report?

### PRs
- [x] Colorbar again (clip contours?)
    - https://github.com/matplotlib/matplotlib/issues/18900
    
### PRs need review
- [ ] https://github.com/matplotlib/matplotlib/pull/18910
- [ ] https://github.com/matplotlib/matplotlib/pull/18869
    
    
## Notes

### CoC
- posted on twitter, discourse, mpl-users, mpl-dev
- deadline is Nov 24, 3:00EST

### 3.3.3

- built and published
    - issue with py39 on hombrew built python only
    - https://github.com/matplotlib/matplotlib/issues/18678
        
### big sur

- https://github.com/matplotlib/matplotlib/issues/18954
- looks like this is a pyqt5 issue (as there is an env work around and some reports that 5.13.0 work) we should wait for upstream to sort this out

### sprint report

- small, a few PRs


### colorbar extends
 - if not clipping in either case is 1 line fix, lets do that

### PR review

- https://github.com/matplotlib/matplotlib/issues/18910
  - removes vestigial code, removed without deprecation YOLO
- https://github.com/matplotlib/matplotlib/pull/18869
    - settled on a 5 tubple of (major, minor, patch, release_type, number) to match cpython
    - a, b, c, final, post as the allowed strings
- https://github.com/matplotlib/matplotlib/issues/7962
    - issues with our version number is not playing nice with pip (due to where versionneer injects dev/post values)
    - consider moving to setuptools-scm
        - use same plugins as cartopy to get versions in archives
  

-------------------------------------------------------
# 10 Nov 
## Agenda

### Old Business 

- [x] GSoC ideas page @jklymak https://hackmd.io/bcLJpTPdSCuKTJd2OSeYeQ
- [x] label clean up @timhoffm
- [ ] post CoC @story645 

### New business

- [x] do we want to fully abandon, try to negotiate, or fully abandon travis?
    - https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
    - Caswell has started the process of requesting an allotment from travis
- [ ] 3.9 wheel progress?  
    - 3.3.3? 

### PRs and Issues
- (TH) Spines are not pickable
    - https://github.com/matplotlib/matplotlib/issues/18879
    - Caused by inconsistency of `Path.contains_point()` https://github.com/matplotlib/matplotlib/issues/18879#issuecomment-724323803
- (TH) 3D: `Path3DCollection.do_3d_projection()` and `Collection.update_scalarmappable()` both write facecolors, but different ones
    - https://github.com/matplotlib/matplotlib/issues/18885
    - Who knows about the update mechanism and can tell how to fix this?
- (JMK) Colorbar refactor
    - https://github.com/matplotlib/matplotlib/issues/18900
    - discussion: substantial tests would change.
        - some just because of `_internal.classic_mode` not being supported.
        - Some because difference in how wide colorbars were in old code with extends.


## Notes:

### Travis
- getting stricter
- @tacaswell asked to keep allotment
- slightly different dependency matrices compared to azure; could move there.

### labels
 - unified colors, added pre-fixes
 - please use agressively!

### GSOC: document up

### CoC: announce!
- discourse, mailing list, twitter 
- 1 week lag 

### 3.3.3
- 3.9 wheels all that remains
- @tacaswell will look at https://github.com/matplotlib/matplotlib/issues/18885

### Path contains point
https://github.com/matplotlib/matplotlib/issues/18879
- two vertices short circuits to no
- can change to at least one point
- Needs to use proper Line2D `picker`
- onPath?
- fix Spines picking
- edge degeneracy... floating point issue.
- needs to document in contains function.

### col

# 3 Nov 
## Agenda

### Old business
- [ ] Code of Conduct finalization
  - email mailing list requesting for comment?
  - also final comment for internet?

### New business
- [x] pydata global sprint
   - Sunday Nov 15 at 4pm (UTC)
- [x] pydata global diversity scholarship meet and greet / panel
    -  The panel will be Wednesday, Nov. 11, 5-6 PM EST. 
- [x] gsoc
  - 175 hr/10 WK (or shorter) , half stipend, 2 evals
  - https://opensource.googleblog.com/2020/10/google-summer-of-code-2021-is-bringing.html?m=1
### PRs and Issues

- [x] Encapsulating styles in classes:
    - https://github.com/matplotlib/matplotlib/pull/18544
    - Is get/set type symmetry necessary? 
        - Currently we *take* \[historical inputs\], *store* the `WhateverStyle` object, *return* \[backcompat "cleaned" version of historical input\]
        - for example, `LineStyle` accepts short strings (e.g. ":"), long strings (e.g. "dashed"), and on-off seq (e.g. `(0, (2, 1, 3))`). We store a `LineStyle` object but return whatever the user originally passed us.
        - Alternatively, we could *return* `WhateverStyle`.
- [x] return bytes if filename to savefig is None
    - https://github.com/matplotlib/matplotlib/pull/18768
- [ ] RGBA interpolation option
    - https://github.com/matplotlib/matplotlib/pull/18782
- [x] Improve GitHub labels
    - https://github.com/matplotlib/matplotlib/issues/18855
- [x] Deprecation for "classproperty"'s makes sphinx yell a lot.
    - https://github.com/matplotlib/matplotlib/pull/18817

## Notes

### Code of Conduct
- Adopting existing CoC
- Will announce on twitter + mailing list + discourse

### Savefig (bytes object)
- https://github.com/matplotlib/matplotlib/pull/18768
- *None*? `bytes` versus filename
- At all?
    - @efiring: "magic" for user convenience tradeoff
    - @dopplershift: useful for animations (saves an import)
- `bytes`:
    - passing a type is not a usual grammar
- Add something to `cbook`?
    - yet another one-liner.

### GSoC
- 1/2 projects, scope
- Jan/Feb if we want to participate
- Need 
    - project ideas
    - mentors
- @jklymak: Add a note page

### PyData Global
- diversity panel (maybe 2): let @tacaswell know
    - @tacaswell will be there. (hannah & Bruno too)
- sprint 15 Nov 16:00 UTC
    - clean up hackathon and good first-issue labels

### Encapsulating Styles as styles
- need to retain set/get symmetry for now
- need to be sure what to do with `None`
- store original in the Style classes

### Github labels
- https://github.com/matplotlib/matplotlib/issues/18855
- state: prefix, and coloring based on who needs to do action
- @timhoff will go ahead and do this...

### backup
https://gist.github.com/story645/646b8703f636d27d8ebeec7c7c8bed0e
