# 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