owned this note
owned this note
Published
Linked with GitHub
# Aug 5 2021 -- Dec 23 2021
###### tags: `2021 dev call`
Call co-ordinates: Thursdays @ 20:00 UTC https://zoom.us/j/384435716?pwd=WFpxVWxoYXArTDFzN1lWaHNoOE8xZz09
Previous notes: [Meeting Agendas](https://hackmd.io/zljR-pZrQ0O5J_j4NZ-9yw)
Archive: [matplotlib/ProjectManagement](https://github.com/matplotlib/ProjectManagement)
#### [Needs discussion at some point](https://hackmd.io/uzWviu8zSUChq3XhI2FqPg)
---------------------------
# Dec 23 2021
## Agenda
### New Business
- Sponsor page?
### Issues and PRs
- `LogLocator` respecting `numticks` [#21177](https://github.com/matplotlib/matplotlib/pull/21177)
- LayoutEngine:
- API options for conflicting layouts (because of colorbars): https://github.com/matplotlib/matplotlib/pull/20426#issuecomment-998670237
## Notes
### Sponsor Page
- logos
- https://numpy.org/neps/nep-0046-sponsorship-guidelines.html maybe as a guide.
- pretty high value for main page
- discussion about how to get more "donations"
- B-corp? (e.g. Athleta)
- linux weekly news: subscriptions ahead of time...
- TODO: read NEP and implement similar
### Layout engine PR
- trying to put in an API for setting the engine rather than being baked in to Figure
- the way colorbars are handled is not consistent between tight layout and constrained layout
- figure needs to know what layout engine is being used so that color bars are made "Right" for that layout
- what if user wants to change engine?
- one extreme: set at init time, can not changed
- pro: simple
- con: bit less flexible than we tend to be
- allow to change if color bar is compatible (with levels of tracking )
- pro: flexible
- con: complex
- just walking at set time not hard
- adapt existing colorbars on the fly if engine changed
- con: very complex!
- just let the user shoot them selves in the foot
- pro: simplest!
Other colorbar things:
- make everything `LocatableAxes`
- move colorbar logic to the Axes rather than the Figure
- maybe start fresh with this?
- axes can have more than 1 colorbar
- maybe attach to the mappable rather than the axes?
- Make static properties instead of method.
------------------------
# Dec 16 2021
## Agenda
### New Business
### Issues and PRs
- 63 or so non-draft PRs! Please help review!
- [layout engine](https://github.com/matplotlib/matplotlib/pull/20426):
- dealing with conflicting colorbar layouts when changing layout engines midstream.
## Notes
### dpi issues
- currently our cannonical coordinate system (what the Identity transform takes you to) is "pixels"
- "pixels" depends on DPI which in the world of high-DPI screens and variable save DPI
- proposal is to move to "pts" (or some sort of logical DPI) as the "cannonical"
- do final scaling at last possible time
- move 72 -> actual DPI scaling to canvas
- concerns about when we do rounding / snapping
- question is what to do about users are are now _intentionally_ using `Identity` transform
- scatter markers are currently scaled in square points
- virtual pixel / pt -> real pixels will be on canvas
- intial mpl work was targetting GUI tool kits that were very pixel foward
- pixels work well with hardware and xwindows
- post script / PDF / svg
- physical units
- all vector
- possible to have the internal units be :shrug:
- could have a knob
- but want to document as fixed for documentation purposes
- pts
- inches / 100
- inches
- cm
- need to preserve
- strong support for physical units
- strong support for targetting explict pixel size
- possible fall out
- tests that check bounding boxes
- users that actually did want to set pixels
- may need to document to use the knob to fix it
- would likely fix a bunch of weird pdf bugs
- would have to sort out when image resampling happens
- would have to check when path simplification happens
- mixed mode may be fun?
- blitting will require some thought
- we puth the dpi ratio factor (for high-dpi) in the wrong place
- we put it as early as possible
- should have been done as late as possible (what is proposed here)
- discussion about labeling transforms with what their dest/target is
- type annotitons?
#### Actions
- change names
- move pixel ratio dpi change as late as possbile (in draw?)
- investigate how hard the internal virtual physical units would be
- investigate add source/test attributes to instances
-----------
# Dec 9 2021
## Agenda
### New Business
- release:
- 3.5.1?
- release cadence
- 3.6 roadmap
- PDF docs?
- Can @anntzer redirect mplcairo general support to the main matplotlib forums?
### Issues and PRs
## Notes
- https://github.com/tacaswell/mpl-gui
- folks should give it a try
- @tacaswell has goal of getting on pypi this month
- Discussion of what Napari is
- Introductions (new attendee!)
### 3.5.1
- Good, need to fix units
### release cadence
- currently about monthly for minor releases.
- maybe cutoff earlier
- downstream testing easier
- a little bit quicker?
- need to do nightly builds...
- not automated yet
- @tacaswell was working on that (PR from @ianhi
- https://github.com/matplotlib/matplotlib/pull/21637
- commit to actually hit 6mo cadence
- start process earlier.
### pdf docs
- we know people use it
- issues with too big images, mostly fixed now
- can not get numbers from either GA or cloudflare for usage
- PDF may be best size-wise for full off-line access
- downloading the full PDF
### 3.6 roadmap
- 1st week may, so beginning of march feature freeze + branch
- mplcairo into main?
- qustion about support for OSX < 10.15 (gcc related issues)
- can we push up the minimum OSX up?
- need gcc 7
- solve manylinux1 via static linking (and we are going to drop manylinux1 soon anyway)
- collisions with existing XYCairo backends?
- could de-conflict or just replace
- @QWhXj01mSwmTjk5kN1H_qQ wants plan to remove old cairo backends
- @qulogic will look into wheel constraints
- layout manager
- finish Aitik's font fallback work
- fraction viculum alignment
- concerns about both changing many images and the concerns about quality of images
- categorical mappables (@dstansby)
### mplcairo into discourse
- yes
---------------------------
# Dec 2 2021
## Agenda
### New Business
- releases
- 3.5.1?
- 3.6 roadmap?
- release cadence?
### Issues and PRs
- Colorbar inherit from Axes?
- OO versus pyplot terminology:
- mpl_gui work: https://github.com/tacaswell/mpl-gui
- `mpl.figure`, `mpl.subplots`
- reasonable for 3.6?
## Notes
### mpl_gui
- Need to keep hard references
- `show` triggers rendering to GUI
- but if done in function, the figure would go away.
- can we spin up more than one manager?
- be hard to make multiple ones interactive though because they each need to get passes
- can't just move the renderered image because they are sized
- https://tacaswell.github.io/mpl-gui/
- ideally keep ability to "draw" so we can do get_tightlayout, particularly on text
- need to keep track of figures so figures in notebooks don't get garbage collected and lose their interactivity (if the user has named them all `fig` for instance.)
-------------
# Nov 25 2021
## Agenda
### New business
- NF maintainers summit next week
### Issues and PRs
- pcolormesh remove grid deprecation: [#21723](https://github.com/matplotlib/matplotlib/issues/21723)
- Colorbar inherit from Axes?
- hexbin mincnt [#21381](https://github.com/matplotlib/matplotlib/pull/21381)
## Notes
### pcolormesh
* grid goes beyond pcolormesh <- can't fix
* problem triggered by style
* consensus: change deprecationwarning to only occur if grid is explicitly
### hexbin
* decide #21381, then discuss @anntzer's refactor
*
-----------------------------------------
# Nov 18 2021
## Agenda
### Old business
- 3.5.0: Released! Thanks @tacaswell and @Qulogic!
### New business
- PRs:
- 60 non-draft
- NASA update?
- Organizing ideas for grants
### PRs and Issues for discussion
- ENH: Layout engine https://github.com/matplotlib/matplotlib/pull/20426
- Pre-commit: https://github.com/matplotlib/matplotlib/pull/21583
## Notes
### time
- agree we should move with DST
- need to pick if we follow US or Europe (1 week off)
### webpage
#### landing page
- @dorafc will take a look at typography, may need to push stuff up to mpl-sphinx-theme
#### built docs
- left-hand navigation bar does not always do the right things
- maybe https://github.com/sphinx-gallery/sphinx-gallery/issues/855
- https://github.com/matplotlib/matplotlib/pull/21667 simplifies side bars
- on some pages (like https://matplotlib.org/stable/devel/min_dep_policy.html#python-dependencies) the left/right side bars look good
- on some like https://matplotlib.org/stable/tutorials/index.html look bad
------------------------------------------------------------
#### NASA
- money not figured out yet
- draft job proposal to NASA
- authorized research to work in US
- foreign contracts OK for engineering
- RSE : mostly units, and data pipelinig
- https://hackmd.io/@matplotlib/HJIj1bjvY
- will also do bug triage etc
- 3 years
#### Pre-commit
- apply to code base to pass
- enable in CI?
- can do in github actions
- https://github.com/matplotlib/matplotlib/pull/21630
- @GregLucas will follow up on PR.
# Nov 11 2021
## Agenda
### Old business
- 3.5.0
- docs?
- brochure site: https://matplotlib.org/mpl-brochure-site/
- https://github.com/matplotlib/mpl-brochure-site/pull/21
- needs news or https://github.com/matplotlib/mpl-brochure-site/pull/17
- needs to be linked to https://matplotlib.org
- PRs?
- https://github.com/matplotlib/matplotlib/pull/21317
- https://github.com/matplotlib/matplotlib/pull/21501
### New business
- Prs; 54 non-draft
### PRs
- https://github.com/matplotlib/matplotlib/pull/21381
## Notes
### 3.5:
- largely docs; release notes
- astropy problem #21569
- needs some thought about the architecture of how gridlines get put onto non-linear projections..
- Issue: cartopy axis artists on new projections
- ticks as well could benefit from global approach to ticks and grids.
- possibly in scope for NASA grant.
- https://github.com/matplotlib/matplotlib/pull/21317
- can keep it pinned to old pyparsing until they settle down. Probably 3.5.1?
- probably works...
- https://github.com/matplotlib/matplotlib/issues/21509
- shortcuts have names that can clash with valid eps commands...
-
# Nov 4 2021
## Agenda
### Old business
- 3.5.0
### New business
### PRs
- https://github.com/matplotlib/matplotlib/pull/21381
----------------
# Oct 28 2021
## Agenda
### Old business
### New business
- 3.5.0:
- https://github.com/matplotlib/matplotlib/milestone/59
- landing page: https://github.com/matplotlib/mpl-brochure-site
- https://matplotlib.org/stable/tutorials/provisional/mosaic.html still provisional?
- image rotator?
- "news" feed?
- PRs:
- 282
- `is:pr is:open draft:false` : 43
### PRs
- https://github.com/matplotlib/matplotlib/pull/21426
## Notes
- mathtext parser:
- somehow broke on 3.5 backport, probably in pyparsing 3.0.0 -> 3.0.3 transition
- Tim Hoffman will look at the 3.5 backport. #21454 and revise to unbreak C.
- Action: we should test on pyparsing RCs as part of our bleeding edge build.
- https://github.com/matplotlib/mpl-brochure-site/pull/21
- binder:
- interactivity is laggy...
- startup slow.
- ACTION: talk to binder folks. @hannah
- Action: ask @dopplershift
- credits from microsoft or Amazon?
-
----------------
# Oct 21 2021
## Agenda
### New business
- master is now main and history rewrite
- PRs:
- non-draft: 48!
### PRs
- is mpl_data really something packages should be stripping? https://github.com/matplotlib/matplotlib/issues/21375
- doc re-org:
- https://github.com/matplotlib/matplotlib/pull/21251
- https://github.com/matplotlib/mpl-sphinx-theme
- https://github.com/matplotlib/mpl-third-party/pull/87
- https://github.com/matplotlib/mpl-brochure-site/pull/11
## Notes
- History rewrite
- seemed to work relatively well
- @tacaswell and @QuLogic manually informed PRs that were affected.
- `main` is now the important branch
- mpl-data status
- debian pulls this out into its own package
-
- already pull the fonts out
- do not put the files where we think they are, and patch our functions to look at their new location
- propose they use symlinks to put things back
- because they build the docs, have 2 versions of Matplotlib which is odd
- **consenus**: tell debian that mpl-data is now a required subdir
- @ey3AIr8wSl2d1PPfOb9K1w will write API note for down-stream packagers highlighting that matplotlibrc is now a read/parsed at run-time file (not just docs)
- docs re-org
- merged, may have more follow-ups for minor re-arrangements
- 3.5
- waiting on numpy wheels (went up yesterday)
- one outstanding bug
- brochure site
- switched to bulding with sphinx
- use mpl-sphinx-theme
- landing site need binder
- maybe contract Nicolas Rougier?
- maybe history of average temperature
- sealevel record at a point
- hourly temperature data from airport? (https://docs.opendata.aws/noaa-ghcn-pds/readme.html https://www.ncei.noaa.gov/products/land-based-station/global-historical-climatology-network-daily)
- https://github.com/matplotlib/mpl-brochure-binder <- target repo
- Jody will do something quick-ish
----------------
# Oct 14 2021
## Agenda
### New business
- let into GH issues beta: https://github.com/features/issues
- PRs
- 282 open
- `is:pr is:open draft:false`: 36
- 19 merged
- Purge bad commits: (suggest at end)
- transition to `main` from `master`
- https://discourse.matplotlib.org/t/minor-re-writing-of-history-and-moving-from-master-to-main-for-default-branch/22354
- cover pydata sprint
- Oct 28-30, @tacaswell may have un-avoidable personal conflicts
### PRs and other
- [Doc] Common style across sub-project docs:
- https://github.com/matplotlib/mpl-brochure-site/pull/7#issuecomment-938761713
- could add `matplotlib/matplotlib-theme` for our projects to add as a doc dependency (as well as pydata theme).
- [asinh symlog-like scale](https://github.com/matplotlib/matplotlib/pull/21178)
- locator is idisyncratic (though author points out one could easily use symloglocator)
- do we need another scale?
- [inset_axes API OK for other "locatable" axes](https://github.com/matplotlib/matplotlib/pull/21283)
- Maybe inset was not general enough a name?
- [scalar mappables accept units](https://github.com/matplotlib/matplotlib/pull/20962)
## Notes
- 3.5 ?
- line join bug...
- GTK4 dpi ratio https://github.com/matplotlib/matplotlib/pull/21212
- docs issues
- Common style:
- @tacaswell will make a subproject
- inset_axes
- inset axes is fine, might have been better as something else (child_axes, dependent_axes)
- axes grid example should stay where it is.
- asinh
- good as remedy to existing symlog
- shoudl cross-link symlog to point to new scale if goes in.
- should have a decade-locator, probably just symlog locator
- Greg Lucas will comment
- cut bad commits:
- probably simple, but all existing PRs will need to trim the bad commits
- @Greg and @anntzer are going to investigate tech to flag bad commits...
- doc PRs, and do tomorrow.
-----------------
# Oct 7 2021
### Old Business
- Hacktoberfest: Note guidelines for overlapping PRs
- 3.5rc01 released
### New Business
- PRs:
- 279 open
- `is:pr is:open draft:false`: 34
- 54 closed in last week
### PRs and Issues
#### Website
- Front page work?
- [Proposed further re-org](https://github.com/matplotlib/matplotlib/pull/21251)
- All (almost) rst under `user/`
#### Other
- [scatter etc accept None in list](https://github.com/matplotlib/matplotlib/pull/21270)
- probably not?
- [scalar mappables accept units](https://github.com/matplotlib/matplotlib/pull/20962)
- [asinh symlog-like scale](https://github.com/matplotlib/matplotlib/pull/21178)
- locator is idisyncratic (though author points out one could easily use symloglocator)
- do we need another scale?
- [inset_axes API OK for other "locatable" axes](https://github.com/matplotlib/matplotlib/pull/21283)
- Maybe inset was not general enough a name?
## Notes
### Front page
- need new pictures
- uses the 4 we have as baseline
- need binder link
- some duplication?
-
### Webpage reorg
### None in list
- hard API to support; we dont' want to have to figure out everywhere.
- folks want None as default in iterables, but we want to evaluate early
- `None` on its own is troublesome enough
- User can supply a list and its not that hard to include the defaults
- Issues with `NaN` vs `None`.
- @tacaswell will write
-----------------
# Sept 30 2021
### Old Business
- Hacktoberfest participation
### New Business
- v3.5 status?
- pydata global sprint
- The conference will take place (online) during the weekend of 28 to 30 October 2021
### PRs and Issues
- [Layout Engine](https://github.com/matplotlib/matplotlib/pull/20426) (3.6)
- use Pillow for image resampling instead of Agg (3.6)? [#21231](https://github.com/matplotlib/matplotlib/issues/21231)
- how to deal with missing filters?
## Notes
### Hacktoberfest
- https://hacktoberfest.digitalocean.com
- yes contribute:
- we need to label issues (after acceptance) as "hacktoberfest"
- https://hacktoberfest.digitalocean.com/resources/maintainers
- merged or close...
- label on repository (done)
### Pydata global
- @tacaswell going
- sprints....on weekend, at least caswell will cover
- let @tacaswell know if you can help
### 3.5:
- RC close
- few doc PRs
- [#20907](https://github.com/matplotlib/matplotlib/issues/20907), [#21212](https://github.com/matplotlib/matplotlib/issues/21212)
-
### Layout engine
- makes the layout engine pluggable
- refactors our layouts to be plugins
### switch to pillow for resampling
- [#21231](https://github.com/matplotlib/matplotlib/issues/21231)
- pillow already has resampling logic for 32bit floats with no limits!
- set_resampler (per AxesImage)
### Nasa grant
- 6-8 weeks, can pay someone at that point.
- need job ad up..
- person would (likely) need to be based in US... (citizen or green card)
- please get edits to job description by Monday to send in for comment
----------------
# Sept 23 2021
### New Business
- 3.5 open PRs
- https://github.com/matplotlib/matplotlib/pulls?q=is%3Apr+is%3Aopen+draft%3Afalse+milestone%3Av3.5.0
## Notes
### 3.5
- 3.5 open issues -> move to 3.6
- RC tagged maybe by end of week
- 21126: Deprecation of stem fmt parameters
- left note asking Tim how he wants this resolved
- 19343: left to Elliott
- 20945: needs one line removed by PR author
- 20740: GSOC: failing ubuntu test-> pitched to 3.6
- font distribution error: missing/broken noto
# Sept 16 2021
### Old Business
- 3.5 release (waiting on docs?)
### New Business
- PRs:
- 283 open
- `is:pr is:open draft:false`: 38
- Were selected for NASA roses
### PRs and issues
- https://github.com/matplotlib/matplotlib/pull/20990 was accidentally merged with a single review; consider whether a second reviewer wants to request post-merge changes
## Notes
### 3.5
- waiting on cartopy (@greglucas will release tomorrow!)
- @qulogic has a few more fixes coming
- waiting on docs on mpl side
- did PR reviews
-
-----------------------------
# Sept 9 2021
### New business
* Student contributors:
* https://github.com/matplotlib/matplotlib/issues/20923
* docoverhaul (documentation: overhaul) tag
* for documentation issues/prs that are major revisions of existing docs
* pro: differentitates from small documentation issues
* https://github.com/Pylons/pyramid/issues?q=is%3Aissue+is%3Aopen+label%3Adocoverhaul
* blog author/community participant guidelines
* does spamming github get your contributions revoked? no new contributions/any consequences
* specified cursive font family isn't available on CI
* https://github.com/matplotlib/matplotlib/pull/20945#issuecomment-909731013
## PRs and issues
* Raise warning and downsample if data given to _image.resample is too large
Do we want to downsample or simply refuse data that is too large?
https://github.com/matplotlib/matplotlib/pull/19368#issuecomment-915011674 ff.
## Notes
### Student contributors
- no one has time and is jumping at taking this on
- the requested work overlaps greatly with the CZI DEI CEL job description
- respond to them with
- would like to defer answering to after CEL starts
- ask about their timelines
- suggest that familiarity with using Matplotlib as a user very very helpful to contributing
### docoverhaul tag
- sure
- also use this tag to say "needs 2 reviews"
### CoC violations by blog/third party
- case by case
- spammy PRs -> just block
- serious behaviour issues -> remove their blog posts
- as always handle with compassion / empathy and response that fits the infraction
### Issues with pgf fonts
- the docs suggest in multiple places that setting `rcParams['font.serif'] = []` will cause pgf to fallback to the default latex serif font, but the code is currently falling back to dejavu sans in this case
- @anntzer is running an auto bisect
### image resample
- downsample - agg accepts 2**15, if someone passes higher **warn** and downsample
### 21015: https://github.com/matplotlib/matplotlib/pull/21015
- rcparams.copy returns plain dict including deprecated ones,
- when they restore, mpl emits working
- instead copy will return a new rcparams instance
- don't need to emit new warnings on update
- concern: rely on validators w/ sideeffects
- date.formatter which globally sets default formatter
- validators need to know if they're working on installed or other rcparams
- when an rcparam is set, the validitor can/does set global state
- validators should only be validators
- shouldn't have side effects,
- should be allowed to convert values
- changing state should be a different function
- dictionary of sideeffects/call backs
- conclusion:
- remove side effects from validators
- change .copy behavior to return instance, skip warning and revalidate
# Sept 2 2021
### New business
* 3.5.0b1 aftermath
* ipympl contract signed
## Notes
### update on docs
* Caswell did not make suffient progress, but should be possible, will continue to work on
### 3.5.0b1 fallout
- starting to do dependent builds on koschei (fedora)
- most issues posted to gitter, big things are seaborn issues
- cartopy issues
- more fallout from changing the order of the artists
- used to be stable zorder sort based on what sub-list they were in
- now stable sort based on order added
- unfortunately contour and coastlines are same z-order and if you add coastlines first, then the render order is switched in 3.5
- maybe fixable on the cartopy side by changing default z-order to depend on line vs filled
- 3 or 4 packages that fail, but their upstreams have fixed themselves!
- discussed proposal to add small (multiples of 1e-7) to zorder passed
- can adjust the z-order on the way in
- could add z-bias to the classe
- could just make clear in the docs
- could just warn if order has changed
- core of the problem is we used to to z-sorting on (z-order, type, added-order), now it is only (z-order, added-order)
- this change fixes (very old) bug in errorbar when caps/lines had different relative z-order
- seems hard to both warn / give back compat in cases when this breaks a user and not when it fixes the user (like errorbar)
Approximatly old order:
```
def get_children(self):
# docstring inherited.
return [
*self.collections,
*self.patches,
*self.lines,
*self.texts,
*self.artists,
*self.spines.values(),
*self._get_axis_list(),
self.title, self._left_title, self._right_title,
*self.tables,
*self.images,
*self.child_axes,
*([self.legend_] if self.legend_ is not None else []),
self.patch,
]
```
https://github.com/matplotlib/matplotlib/issues/1622
-
**consensus** :
- get cartopy release out
- Accept the breakage which is really a fix, but make sure it is well documented
# Aug 26 2021
## Agenda
### Old Business
- ipympl contract is moving, target start of Sept 1!
### New Business
- "inner" index page re-organization https://github.com/matplotlib/matplotlib/pull/20867
- "outer" index content https://github.com/matplotlib/mpl-brochure-site/pull/2
- what to put in the big gray box?
- What to put on the otherside of the binder link?
- Should we check-in with the highlighted projects and get their feedback on their description?
- where to point the row of big links to (only user guide currently seems off to me)?
-
### PRs and issues
#### 3.5 relevant
- Should the new colormap registry be experimental? https://github.com/matplotlib/matplotlib/pull/18503#issuecomment-898873054
- Naming of the new method `fig.draw_no_output()` https://github.com/matplotlib/matplotlib/issues/20001#issuecomment-825445132
- Change in contour return type https://github.com/matplotlib/matplotlib/issues/20906
- Instability in where boxplot artists are https://github.com/matplotlib/matplotlib/issues/20895
## Notes
### 3.5 relevant
- colormap registry as experimental?
- pro: gives us a chance to tweak the API as we see its use
- con: would have to back out a bunch of docs
- conclusion: will add note that this might be changed
- consider adopting a sklearn style "turn the experimental stuff on" helper functions (more general)
- https://scikit-learn.org/stable/modules/classes.html#module-sklearn.experimental
- do we want to add `plt.colormaps` which provides access to the registry
- can probably never deprecate `plt.get_cmap`
- is it worth providing 2 ways `plt.get_cmap(name)` vs `plt.colormaps[name]`
- already have a version of this duality in `plt.rcParams[]` and `plt.rc()`
- do we want to delay to 3.6?
- pro delay: delay exposing new stuff out
- con delay: there is no API freedom here, might as well do it now
- `draw_no_output` vs `compose`
- `draw` -> walks tree + renders
- suggestions: `draw_no_render` or `draw_without_render`
- alt is `fig.canvas.draw()`
- consensus: `draw_without_rendering`
- change return type contour
- needs API note
- backcompat shims? LineCollection->PathCollection
- add a get_segments function that raises warning/error
- add a LineCollection keyword argument to change the return type?
- allows a longer deprecation cycle for downstream libraries
- consensus: API note, revisit backshim if needed
- box plot return instability
- previously
- box plot always went to artists (as Line2D)
- now can show up in patches list if using `patch_artist` keyword
- transition path
- remember the `patch_artist` keyword to direct traffic
- keep it in both?
- on artists can warn if adding a special artist, but plan is to consolidate to `add_artist`
- consensus:
- check that there is an API note that things added to artists may appear in special artist type list
### website
- inner index
- https://63094-1385122-gh.circle-artifacts.com/0/doc/build/html/index.html
- We have 4 types, 3 of them are 'top level', explanation is burried a layer deep
- FAQ should be scattered to the ~winds~ other sections
- top level in contents
- usage
- plot types
- tutorials
- gallery
- explanation
- how-to
- API
- external learning resources
- back matter
- ~contributing~ (change to Development maybe?)
- release notes
- top bar
- plot types
- ~gallery~ examples
- tutorials
- reference
- usage guide
- develop/contributing
- release notes (maybe)
- inner index and inner pages should have same top bar
- rename "back matter" to "project info"
- Reference section
- dedent, drop extra tool_ktis, rename API Reference -> "complete docs"
- re-work underestanding to point to "advnaced and intermediate tutorials"
- home page
# Aug 19 2021
* Meeting canceled due to low attendance
* informal PR review session for 3.5 PRs
# Aug 12 2021
## Agenda
### Old Business
### New Business
* Small Dev Grant, $5000, due September 3, 2021
### PRs and issues
- https://github.com/matplotlib/matplotlib/pull/20518
- https://github.com/matplotlib/matplotlib/pull/20603
- https://github.com/matplotlib/matplotlib/pull/20611
- Semantics of `ax.cla`
## Notes
### Ipympl
- draft statment of work to Sylvain Corlay
### Small dev grant
- $5k numfocus...
- previous: macmini access
- 1000 words total (750 what, 400 why)
### 20518: pgf sketch params
- pgf and non pgf scaling of wiggles should ballpark look the same
### 20611: spanselector
- rectangleselector used to give the click and release points
- now tells the extents of rectangle - (upper right, lower left?)
- encapsulated as mouse event
- fixed to go back to start/end, but for interactive breaks if you want location
- rectangleselector shouldn't care about order of creation, just size + position
- options:
- change docs: always get how rectangle looks but not where user clicked
- two events: one is location, second is how rectangle was effected
- close w/o merging
- #9608:
- needs to either be closed or a comment on what's the actionable next step
- actual fix might be new feature: vectorselector widget?
- grabbers on ends of vector
- order cares about start/stop
- zoom provides keyboard short cuts to only go in x or y
- fix docs & treat as feature request
### ax.cla
- init: axes cleared when created
- not defined what it does when clearing an axes
- what is a pristine axes?
- does clearing go back to creation (including projections/kwargs) (clear all)
- projection is part of classes
- maybe recreate w/ it's kwargs?
- w/o kwarg about clearing to remove recursiveness
- how do changes to rcparam factor in?
- clear w/ rcparams as they are at call time/context
- is it just remove artists/data? (clear children)
- does that propagate down to ticks/how?
- everything is stored on the axes object (in axis children)
- end up forgetting shared axes
- label contents or also styling?
- Tom: go back down to what was passed into init
- what does this mean when styling like facecolor is passed in?
- change names/add
- reset/reinit: go back to new object w/params
- kill children/relim/clear data: remove child artists
------------------------
# Aug 5 2021
## Agenda
### Old Business
### New Business
- cross Numfocus projects user forum
- donation from Junolabs?
- PR Status:
- `is:pr created:>2021-07-21 draft:false`: 17 Opened, 13 closed
- `is:pr merged:>2021-07-21`: 20
- `is:pr is:open `: 280
- `is:pr is:open draft:false` : 32
- `is:pr is:open draft:false -author:anntzer` : 23
### PRs and issues
## Notes
### forum for numfocus projects
- cross-project forum for discussion of intersecting problems.
- one monolithic place for users to ask for help.
- move our discourse there?
- Hannah let them know we are in favour, theoretically.
### subfigures and dpi
- dpi could be because not being passed down correctly.
### constrained_layout at draw
- @QuLogic will consider.
### colorbar work
- https://github.com/matplotlib/matplotlib/pull/19553
- callback or weakrefs to the a list of colorbars...
- current behavior:
- ScalerMabble.set_clim()
- sets values on norms,
- change callback: notifies listeners that it's changed (draw, caches, etc)
- doesn't happen when you change norm, but passing in data does trigger SM.set_clim chain
- forward propagating happens in .set_clim, can also update the vmin/vmax norm passed into SM directly
- change in PR:
- adds change callback to norm so it doesn't need to be in set_clim
- benefit is listner gets moved to Norm
- suggestions:
- add tests to ensure that callback chain is correct
https://github.com/matplotlib/matplotlib/pull/19515
- should changing the min/max on the colorbar induce a change on the norms vmin/vmax
- if zoom on region, grab the x,y as your x/y lower limits, would autorelim the scale
- removed the ability to do that on contour sets
- in cbar init, set interactive on the axes depending on the mappable & the norm
- discrete norms don't have zoom
- still same zoom controls/behavior on axes
- colorbar ticks/labels (data) stay same but colors can be moved around
### add set_XYZ kwargs to FigureBase, SubFigure, Figure
- https://github.com/matplotlib/matplotlib/pull/20115
- important change is adds **kwargs to `def __init__(self, **kwargs):`
- what is the scope of set?
- goes through every set_* in whatever artists it is being applied to
- set documentation rewrite looks for all .set_* methods too
- sidenote: is set rather than properties b/c many attributes have multiple properties
- ex: title has string, fontproperties, location, etc
-