Matplotlib Weekly Meeting
A regular sync meeting for the project's maintainers, which is open to the community. Everyone is welcome to attend and contribute to conversations.
February 22 2024 - Jan 09 2025
Call co-ordinates: Thursdays @ 21:00 Berlin time (20:00 UTC during winter, 19:00 UTC during summer) https://zoom.us/j/384435716?pwd=WFpxVWxoYXArTDFzN1lWaHNoOE8xZz09
Previous notes: Meeting Agendas
Archive: matplotlib/ProjectManagement
Jan 9
attending: @greglucas, @efiring, @story645, @tacaswell, @rcomer, @ksunden, @efiring
Agenda
old business
new business
Notes
RSE updates
- Tom
- time off
- python-build-standalone
- some review
- Kyle
- some time off
- working on planning the next 2 months of work
- catch up
what big stuff is in the pipe?
- bivariate colormap (has PR, needs review)
- bezier work (from Bruno)
- PR to vectorize 3D code
- some have been resurected by Scott
- font work! (raq)
- groupbar chart
- what artists get a label attribute
- start to look at ticks
- to ideas:
- want to have a unique id so you can select artist by name 2
- sometimes people (ab)used the label API for this
- label is top-level artist property to be used in legends even on things that should never be in the legend (like the Legend itself or the whole figure)
Dec 26
attending: @efiring, @tacaswell, @story645
old business
notes
- request to prioritize Remote Frame Buffer
Dec 19
attending: @story645, @ksunden, @QuLogic
Old business
New business
Notes
- Kyle : 3.10 release
- Elliott : font internationalization
- is edge intended as a color spec? 'inherit' can be passed in through color or rcParam
- should transparent edgecolor be special cased when hatch is set and no hatchcolor is set
Dec 12
attending: @story645, @greglucas, @ksunden, @tacaswell, @QuLogic
Agenda
Old business
New business
Notes
missing files
- determined that the missing files is due to a change in meson-python between 0.16.0 and 0.17.0
- will pin back and quickly cut a 3.9.4
- will tag 3.10.0 as soon as this is done
RSE updates
- Tom
- not much, busy with other resonsibilities
- Kyle
- trying to sort out a series of "one more thing…" for 3.10
- Elliott
- trying to get back on top of reviews
- work on font stuff
- couple of nice-to-have before pulling bulk of raqm work in
- type3 fonts in pdf can be nicer
- characters out of ascii plane are rendered in the right place but as "xobject" not as text so highlighting is super broken
- may be able to use a very custom code page that supports the first 256 glyphs as proper text
- do we care about type3
- its complicated
- publishers may still care
- maybe able to get ghostscript to do type1 -> type3 conversion
Dec 5
attending: @QuLogic, @ksunden, @story645, @NGWi
Agenda
Old business
New business
Notes
- xkcd
- probably just an error on local fonts
- transparent animation
- Was reported as not a functioning fix in a comment on the PR
- can't reproduce
November 21
attending: @tacaswell @efiring @ksunden @qulogic @story645
Agenda
Old business
New business
Notes
RSE updates
- Kyle
- 3.10 finalizing PRs had more back-and-forth than expected
- vert deprecation #29155
- switch deprecation to "pending"
- this will still fail pandas (because they have opted it to more warnings)
- we will PR to fix pandas
- converter relaxation #29154
- merged to main
- PR to 3.10.x pending
- Elliott
- Tom
- some review, work on LLM rules
test determinism test
- ghostscript does not promise determinism of output, so we can not test for it!
- consider removing test (or atleast ps part)
- stalled PR from @oscargus to remove distillation may be related
LLM chat
November 14
attending: @tacaswell @greglucas @ksunden @QWhXj01mSwmTjk5kN1H_qQ
Agenda
Old business
New business
Notes
RSE updates
- Kyle
- data prototype work
- thinking about collections
- incompatibility with tcl9, working on finishing PR
- Elliott
- finished wasm work
- PRs will run
- still evaluating canvas backend, maybe platfrom specifc dependencies for wasm builds
- gtk4 modernization
- direct buffer copy vs cairo
- finished rebuild of fedora
- Thomas
- behind the scenes NASA grant
- bit of review and discussion with Kyle
3.10.0 final
Target this Friday
Timers
- PR: https://github.com/matplotlib/matplotlib/pull/29062
- What do we want to do for accuracy of timers on CI systems?
- CI systems are troublesome with their timers. All tests pass locally.
- Keep the current PR as-is and target 3.11, nothing urgent for 3.10.
- Try to make longer tests with longer iterations to avoid issues with slow CI systems. (long running tests are currently ~25s)
- Make sure to change time based on local vs CI
November 7
attending: @tacaswell, @efiring, @ksunden, @story645, @QuLogic
Agenda
Old business
New business
Notes
RSE updates
- Kyle
- rc 3.10 out (technically in October)
- trying to focus on data-prototype work
- Tom
- grant work
- pydata NYC sprints
- bits of review/contributions
- Elliott
- 3.10rc1 testing (fedora build to futher build down stream)
- Work on wasm build
- need to skip subprocess / thread tests
- they have a canvas backend that we might adopt
- how does this intersect with jupyterlite?
- we think they are using the canvas backend, need to talk to them
- need to look into how to get nightly wheels for pyodide available if we want to use jupyterlite for our docs
- we do have some cut-outs because we fully control our own server and can host what ever we need to
- might need to tune "how to clean old wheels" script (shared problem)
rc1 fallout
sprint report
- got a few first-time contributors through
October 31
attending: @tacaswell, @QWhXj01mSwmTjk5kN1H_qQ, @QuLogic ,@ksunden, @story645 , @timhoffm
Agenda
Old business
New business
Notes
CoC
Conetxt
Email from NF
Dear Projects,
We are happy to announce that the NumFOCUS Board of Directors approved the new NumFOCUS Code of Conduct on Sept. 4, 2024. Before the Code of Conduct can be implemented, the NumFOCUS Code of Conduct Working Group must be established and receive training. We plan to complete this process by the end of January 2025.
Current: NumFOCUS Sponsored and Affiliated projects can opt-in to use the new Code of Conduct. Starting Feb. 1, 2025, all new NumFOCUS projects will be asked to opt-out of using the NumFOCUS CoC. NumFOCUS events, including PyData, will continue under the NumFOCUS Code of Conduct in place.
NumFOCUS Code of Conduct Working Group Election
We are looking for individuals willing to serve in the Working Group that will be tasked with reviewing, investigating, responding to, and advising on potential conduct violations and advising a broad NumFOCUS ecosystem member on the NumFOCUS Code of Conduct. The term is one year. Please find more information, as well as the nomination form, in this blog post.
Your Decision Process
For your project currently with NumFOCUS, the new CoC is opt-in. To support your project in making an informed decision, as well as help in the potential implementation, we are planning the following actions:
- Jan. 2025: Walk-through video + email + meetings for the Projects and PyData chapters
- Feb. 2025: Current Projects’ decisions to opt-in are captured via a Typeform submission
- Mar. 2025: Meeting with Project adopters to provide materials:
- Welcome pack:
- pre-drafted text that you can put on your website / GitHub README file
- a link to our CoC information, which will include the reporting button
infographic of the reporting procedures
- Education:
- online materials covering CoC-related best practice
Please let us know if you have any questions. Feel free to contact Kamila Stepniowska (Project DEI Lead) by email (kamila@numfocus.org) or via Slack.
Thank you,
Arliss
NF CoC: https://numfocus.org/2025-code-of-conduct
Our current CoC: https://matplotlib.org/stable/project/code_of_conduct.html
Currently we use Contributor Covenent 2.0 verbatim, NF CoC is new text synthesised from a number of existing CoC including Contributor Covenent 1.4
Looks like we can not make a decision until Feb 25 and there will be more information / materials available to us in Jan 25
Discussion
Consensus is we are still interested.
RSE updates
- Kyle
- Elliott
- sick this week
- got thourgh animation work
- all codecs could find work
- polar PR position in layouts
- starting to look at alt-text
- CI audit
- mostly done, still in progress sorting out where we skip which tests
- appveyor is the only one that runs with conda
- azure is a multidue of windows
- azure vs GHA have slightly different osx runners
- freethreading only on GHA
- Tom
- 3.10 work
- grant prep work
3.10
sprint prep
October 24
Agenda
Old business
New business
notes
RSE updates
- Tom
- behind the scenes paperwork for NASA grant
- some review
- Kyle:
- macos input hook issues
- 3.10 work
- Elliott
- 3.10 things
- finished polar work (needs to be commited and PRd)
- looking at transparent animation
- ham-fisted compositing to white not great (Caswell added that)
- adding cut-out for more formats that support it
- need website reviewed to turn of pluto
3.10
October 17
attending:@efiring, @ksunden, @QuLogic,
agenda
old business
Notes
3.10
3.9.3
October 10
attending:@efiring, @ksunden, @QuLogic, @greglucas, @tacaswell, @story645
agenda
old business
Notes
COC
- NF has released text, discuss in 3 weeks
3.10
- 3D PR is almost done
- push hatch/edge color API cleanup to 3.11
- go ahead with colorizer PR
- ttconv pr
- long discussion of thread/freethreading
RSE update
- Elliott:
- progress on website redirects
- yesterday looked like we were getting hammered by AI bot
- turned on cloudflare cdn for discourse
- followed guide on how to do this, but report issues
- enable bot-protection on CF, this broke inventory downloading for inter-sphinx, turned off
October 3
attending: @ksunden, @QuLogic, @efiring
Informal meeting with some discussion of PRs for 3.10.
3-D rotation PR: needs a decision, or delay to 3.11.
3.8 deprecation removals
https://github.com/matplotlib/matplotlib/pull/28658: Tim?
September 26th
attending: @ksunden, @QuLogic, @efiring, @story645, @timhoffm
Agenda
old buisness
new business
Notes
hacktoberfest
- Evaluation is neutral; hard to evaluate long-term value. There is some willingness, but no enthusiasm.
- we're too under-resourced at the moment
- take out topic
- they can request a
hacktoberfest-accepeted
tag
- this was deprecated in 3.8, and the linked PR removes it for 3.10
- however, there exists a usage of it in the type stubs for
lib/matplotlib/backend_tools.pyi:ToolViewsPositions
(but is not otherwise documented)
- for now, we will fix mypy by keeping the private
cbook._Stack
in the type stubs
- can open a followup issue or PR to deprecate the
ToolViewsPositions
internals if wanted
- distinguishing if string is family or pattern
- alternative proposal/concern is that someone may have passed in a pattern as a family kwarg arg - undocumented but supported use case
- we can let that work for the time being and worry about it later
- can't warn b/c of lack of distinction between names and patterns
- we can check if a string is a pattern b.c we can run it through the machine
- can't determine if it's a family name
- we want to ask
not family
but we can't get the full set of families
- merged
- follow up: either leave it or figure out pattern|family or restrict names
3.10 queue
September 19th
Agenda
attending: @tacaswell, @ksunden, @QuLogic, @efiring, @story645
old business
new business
issues and PRs
Notes
RSE updates
- Tom
- issue triage and review
- meeting with Kyle/Elliott
- Kyle
- issue / PR triage
- aiming for 3.10 rc next week
- implementing a setter for converters on
axis
objects for 3.10
- data prototype work
- Elliott
- triage work
- pybind11 and ft2font work
- close to PR to remove our numpy wrapper (and only use pybind11's)
- working on sizing polar plots correctly
REPOS project
- we propose specific projects with budgets
- companies fund said projects
- run through openteams
- follow up again when Greg is on the call
github teams/ recognition of non-code contributions
- create a repo for the survey
- add teams for survey and social media
- Numpy web page "teams" example https://numpy.org/teams/ (generated from Github teams)
September 12th
Agenda
attending : @tacaswell @timhoffm @story645 @IGuKs80UTJCig4yt6Zos7w (greglucas) @ksunden @trygve @QWhXj01mSwmTjk5kN1H_qQ (efiring) @rcomer
old business
New business
Notes
NF summit
- news: Leah is stepping down
- discussions about
- CoC updates
- Opt-in for current projects
- Opt-out for new projects coming in
- NumFOCUS Code of Conduct Working Group (coming soon)
- Code of Conduct Event Response Teams (organizers create for a particular event)
- coming soon
- cross-project development
- discussion with networkX
- revival of some old PRs from Bruno about Bezier curves
- enhancements around pointing arrows to edges of other paths
- (discussion of arrows and why they are)
CoC opt-in
- high level discussion sound good
- early drafts had same pro/con as our current process
- Caswell in in favor to get benifit of a bigger pool
- wait for actual details before committing
RSE updates
- Kyle
- summit most of last week
- data prototype work on patches
- issue / PR review
- Elliott
- mostly pybind11 work
- rebased ttfconf PR that switches to using fonttools
- also fixes a bug we only just discovered with font subsetting
- Tom
- project management
- little bit of review
user survey
- please contact NF for getting access to a form
- there exists a rough draft of questions
- justification of questions still in process
- aiming for early to mid fall to be ready
squash merge
- do we want to just squash-merge?
- vote to (socially) prefer squash merge
pybind11
- just needs review effort
- still left after these:
- macosx (not c++ so leave)
- some internal stuff that is waiting on these PRs
mpl 3.10
- can we just cut from main now?
- colorbar stuff
- colorizer can be merged
- what is left on colorizer?
- currently doing last round of review
- @timhoffm hoffm should take another look
- consider if there is a better way to fix
isinstance
- have a proposal for group bar charts from @timhoffm
- everything is marked as provisional #28560
- @ksunden will be release manager, we need to update the goverance docs
- pybind11 in for 3.10 (yes)
- freethreading?
- qhull is probably ok
- contourpy claims in is safe
- kiwi is a question
- freetype in theoritically safe
- ft2font has no locks
- agg may lock the font cache
- plan
- build 313t wheels
- option 1: do not mark as safe
- document that we need users to test with the force free-thread env
- this may be closer to what CPython does
- option 2: mark as safe
- numpy has marked them selves safe
- using a freethreading build is opting into segfaults
- fliping on/off in a mirco seems ok
September 5th
attending : @efiring, @story645, @QuLogic
Agenda
Old business
Notes
RSE
- Kyle @ summit
- Elliot still needs SDG paperwork, has been working primarily on FT2Font work
- Question about license in font test
-no specific license file for Dejavu
pydata nyc
- finish out tagging PRs bf sprints
Aug 29th
attending : @greglucas, @efiring, @ksunden, @QuLogic, @story645,
Agenda
Old business
New business
Notes
RSE
- Kyle
- some time on getting NF summit travel sorted
- wrapped up GSOC evalution
- working on data prototype
Patches
- PR review
- Tom
- Review
- fixing the docs on the colorizer PR
- Elliott
- mostly ft2font, many test cases
- found a few bugs
- useful to validate the planned pybind11 work
- paper work for SDG, plan to start work next week
GSOC
doc links:
- have sphinx document private methods by default -> sphinx allows manual over ride
- make these public abstract methods
- to handle methods on subclasses
- can curate which methods are included/excluded by excluding specifc parent classes
- with collection: document private with sizes for now
Aug 22nd
attending: @greglucas, @efiring, @ksunden, @QuLogic, @story645, @trygvrad, @tacaswell, @litchi
Old business
New business
Notes
GSOC
dev docs not building/updating
- known bug with a unit example
- quick fix is to ban numpy2.1.0
new pipeline
- has PR to @trygve's branch to adjust inheretance so to avoid breaking user code
- will merge + add some more comment
- when ScalarMappable is removed, methods can move down to
ColorizingArtist
color map PR
Current state of things
RSE updates
- kyle: data prototype stuff
- working on patches
- looking at numpy problems with docs build
- gsoc
- Elliott:
- pybind11 work
- working on ft2font
- work on brochure site
- Tom:
- mostly review
- trying to test with cp313t
- the borrowed c++ refs may go away with pybind11
- dragons may be in macos backend
analytics
survey
- need to see the questions + pre-design of analysis before it goes out
summit
sending and
- question about GDPR + discourse
- can we move our users + history to another instance
- status of NF CoC for projects
small development grant
hatchcolor/edgecolor
- hatchcolor + pcolor needs to be optional
- need to make backends forgiving for backends that don't implement hatch
Aug 15th
attending: @efiring, @ksunden, @QuLogic, @story645, @trygvrad, @tgmiller5
Old business
New business
Pull requests
Notes
user surve + analytics
GSOC
- multivariate/bivariate needs approval
- pipeline: address reviews then changes
- potential tracking issue for rest of transition
RSE
- fixing CI + getting 3.9.2 + pybind
Aug 8
attending: @IGuKs80UTJCig4yt6Zos7w (greglucas), @story645, @tacaswell, @ksunden, @QuLogic, @QWhXj01mSwmTjk5kN1H_qQ(efiring), @trygvrad
Agenda
Old business
New business
- story645 docs meeting:
- access to analytics
- new user survey
- windows wheel issue
Pull requests:
- Build for musllinux on ARM - feedback requested (@oscargus: I know that we may not want to build for every combination of platforms, but not how it is determined. Also, currently it takes 97 minutes. If I join the call, will try to remember that, I can provide feedback. If not, I'd appreciate if someone can.)
Notes
Windows wheel issue
- think we understand the issue and have a draft PR to fix it
- think we understand:
- GHA runners have a bunch of different dlls
- the one that came up first in the PATH found the wrong dll
- by specifying a path to delvewheel we should be able to fix it
- bad timing on a devlewheel problem where things changed between when we tested and when we released
- delevwheel did a release between .post0 and .post1
- Ian has a draft PR in that needs to be tested
- Reached out to Steve Dower
- reccomended that we statically link msvc40.dll
- should only be done for wheels (not CF)
- may be wider issue as and it may come back later in other places, may want a shared wheel for this dll?
- issue with not finding dll
- one way to fix is set
--vsenv
but it assumes that msvc is installed and what you want to use
- meson tries to find any complier, falls back to looking for msvc (which is how it works for most dev machines)
- if something happens to be on the path, meson uses that BUT those dlls are not on path at run time
TODO:
- get static linking set up on CI
- get those wheels tested
- do 3.9.2 or 3.9.1.post2
- enable py3.13 if 3.9.2 route, not if 3.9.1.post2 release
- target close of business Friday
musl arm
- OP followed up
- Kyle posted summary, inculding asking for volunteer
- OP agreed to take role
- please add comment to yaml
- delaying speed up until follow up PR
- if it is a problem, we can evaluate how to fix it
- do we want to pay for native arm?
- currently no, but maybe if we find a sponsor for it
GSOC/colorizer
- has implemented new colorizer class
- need to agree on some names
- need typing
- need tests for new functionality
- put new class in new file
- do we want to move norms to
norms.py
- pro: better names
- con: either deal with deprecation dance (and cost to other) or accept it lives in 2 places (forever?)
- consenus is to do the move and keep the forwarding forever, but we need to get buy-in from Tim
- de-document, do not type hint, maybe drop from
__all__
- [EDIT]: An issue has been opened here https://github.com/matplotlib/matplotlib/issues/28690
color
- put property forwarders on ColorizingArtist
colorizingartist + forwarding functions class (scalarmappbleshim?colorizershim/interface)
moving norm and cmap attributes from an artist to a colorizer
- if you set a norm/cmap on artist, then sets it on colorizer
- when we deprecate scalarmappble,
- will either remove the ability to set or
- silently overwrite setting properties -> only happens if you explicitly opt into colorizer
-> set_norm: add arg for new colorizer, or use set_colorizer
Aug 1
attending: @efiring, @tacaswell, @ksunden, @QuLogic, @trygve, @timhoffm, @ianthomas23, @story645
Agenda
Old business
New business
Notes
Windows 3.9.1 + nightly (contourpy)
- try windows 3.9.0 w/ nightly wheels
GSOC: colormapping pipeline
- proposal is transition from model to model
- questions on how do we roll this out:
- vector_* methods: changes are mostly at the backing artist layer (AxesImage, PatchCollection, etc…) so would require writing/maintaining shadow API of Axes.* methods and scalarmappable aware artists
- putting in a scalarmappable shim so that layer of public API is still available
- pulling out an initial interface layer PR w/ minimal implementation + shims
- POC that shows that the new pipeline slots into the existing workflow cleanly
- shepherded by @tacaswell and @timhoffm
- fold in colorbar in a later PR
- colorbar pointing to artist? adding cbar to ScalerMappable
July 25
attending: @trygve @efiring @ksunden @story645 @tacaswell, @QuLogic
Agenda
Old business
New business
Issues
Notes
GSOC
- waiting on review
- second PR, introduces VectorMappable to replace ScalarMappbale
- suggestion to have a higher-level wrapper that holds both the mappable and the colormap so that we can do coordinated updates
- also gives an escape hatch to do direct data -> color (without being forced through our norm concept)
- if we are going to go this route, doing it now seems good
- conflicts between availabilty vs GSOC timeline
- needs to do some review
RSE
- Caswell
- starting to do review again
- Kyle
- start of text in the new system
- text has a lot of options, most are missing
- starting to think about documentation
- reviews
- Elliott
- working through open PRs
- 3.13 wheel PR is mostly ready
- working on Agg pybind11
- reviews
SDG + CZI
- got it, will start work soon
- given no-cost extension from CZI
mplplaybook
- down to adding 4 minutes to docs build
- mpl-playback
- needs to not add to much time (less than 10 minutes)
- docs CI should not become the bottle neck
- needs to not add too much weight to output
- should hook into the "release mode" machinery
- hold off on waiting for SG to release with their fix
doc building
- discussion of why we build docs with the oldest version of Python we support
- will move to newest and see if we get speed ups
tag protection rules
- restirct push tags to (to-be-created release manager team)
- have already added a manual review step before wheels are uploaded to pypi
July 18
attending: @efiring, @ksunden, @QuLogic, @trygvrad, @story645, @rcomer
Agenda
old business
New business
Issues
Notes
GSOC
- is at 2/4 PRs for mvp
- if
NormAndColor
mappable encapsulating color goes in (waiting on chat w/ @timhoffm) then can potentially hook in data and rgb interpolations
Scipy
June 27
attending: @efiring, @tacaswell, @ksunden, @story645, @QuLogic
Agenda
Old business
New business
Notes
GSOC
- PRs have been opened
- discusions about the API
- do we want to keep
ScalarMappable
around as anything other than a back-compat shim?
- keeping vector and scalar versions independent leads to duplicated / parallel classes (like old Qt4/Qt5 classes)
- some things that are currently ScalarMappable do not have sensible VectorMappable counter parts (e.g. contour)
- Try to get 's review of VectorMappable, otherwise normal PR rules
RSE
- Kyle:
- data prototype stuff, mostly fixed the units example
- GSOC work
- PR review
- Elliott:
- mostly 3.9.1 things
- moved some things from 3.9.2 to 3.9-doc
- review 3.9.1 PRs, looking at axvspan autolimit regression
- looked at CF build issues
- Tom
- on vacation last week, catching up this week
- some review, need to finish writing a grant report
3.10
- target early October 24
- goals
- GSOC work landing (Kyle and Hannah)
- image testing framework overhaul (Tom)
- work on mplgui (Tom)
- jupyter rfb backend landed (Elliott)
- Elliott has a list of PRs
3.9.1 target
- tomorrow (June 28) target date
June 20
attending: @trygve, @QuLogic, @ksunden, @story645
Old business
Notes
GSOC
- can add testing by introducing colorbar/norm first
- package array as a array with dtype tuple of length l
- pro: reduces input to 2D arrays for purpose of manipulation
- con: may require extra copies
- check: how data space interpolation is handled
translation:
cheatsheets:
- translating in a way where layout is respected
- how do I? construction not universal
- possibly examples or plot type gallery instead (for tooling)
brochure:
- refactor into translation friendly version
contribute:
brochure site
June 13
attending:
Agenda
Old business
new business
Notes
dev summit
- about 40 people in Seattle
- lots of discussion about SPECs
- talked with Thomas Fan about WASM builds
- pyodide has updated build system so that projects can build
- have it working again, but font loading is broken
- our optimaztion settings make debugging hard (no symbols names)
- cibuldwheel can build wasm "wheels" without patches (but does not work)
- may need to be aware of filesystem sandbox
RSE
GSOC
- have a plan for how to organize PR in to work
- ongoing discussions of code organizations
3.9.1
- a TK bug which has been fixed
- sticky edges on bar bug (PR soon)
- add back cm.get_cmap
- some users did not see warning
- Tim has a PR to put it back
- Greg and Tom say to put back temporarily
- question about why users didn't see
- Tom: is this due to the warning class we use that users never saw it
- Greg: is this users jumping a bunch of versions
- other color related questions (behavior of color maps with int intputs) https://github.com/matplotlib/matplotlib/issues/28198
- should we also add
lut=
to the mapping registry version?
June 6 CANCELED
May 30
attending: @efiring, @oceanwolf @QuLogic @tacaswell @story645 @IGuKs80UTJCig4yt6Zos7w (gregluca) @rcomer @ksunden
Agenda
Old business
New Business
Issues & PRs
Notes
RSE
- Elliott
- SDG writing
- reveiwing stalled new contributor PRs
- finish some high-dpi fixes for cairo
- Kyle
- thinking about grant stuff
- some review
- GSOC has started
- Tom
- grant stuff
- some issue review
- work on grant reports
GSOC
- breaking up current big PR into smaller chunks
- looking at git + rebasing tools to help with breaking up into parts
SDG
- has draft
- adobe is adding support to add alttext to images
- discussion of details of raqm / freetype interaction
issues / PR
- translating the brochure page
- questions about how the tooling works
- how do the translations get maintained going forward?
- what is exit strategy?
- is this actually of value to anyone?
- @story645 will take point on sorting it out
CF
- work still needs to be done for 3.9
May 23
attending: @efiring, @ksunden @tacaswell @story645 @QuLogic
Agenda
Old business
New business
Notes
RSE updates
- Tom
- avoid writing grants by responding to issues on GH
- Kyle
- also working on grant
- issues on github
May 16
attending: @efiring, @QuLogic, @tacaswell, @ksunden, @story645
Agenda
Old business
new business
Notes
3.9
- we added an import that seems to break, but we think that is a local install issue.
- promote
:mpltype:
to be public (otherwise downstream packages that inherit our docstrings will break)
- what else do we need to make public?
- The set of thing that look like roles the show up in our source (generated via
set($(ack ':[^:]*:`' -o -h --python).split())
)
We think only rc, or mpltype need to be moved up. (@qulogic will do).
GSOC
- Had kickoff meeting before start of main coding period (starts week after next)
- need plan for how to get in
- maybe do not do auto inference at all
- how to handle complex data?
- sequencing
- first PR: 1 norm, 1 colormap
- follow on PR: additional colormaps
- follow on PR: complex support
- follow on PR: add more norms
- follow on PR: how to combine VectorMappable and ScalarMappable?
- open questions
- don't have "over" and "under" but still need "in bounds" vs "bad"
- to handle out of bounds:
- fixed color
- pick "closest" point and use that
- cartesian or polar coordinates in color space?
- how to handle categorical
- legend/colorbar
SDG
- still being drafted
- focus on accessibility
- embedding alt text into output meta-data (as discussed last week)
- font overhaul work
RSE update
- Tom
- grant work + avoiding grantwork by doing issue review
- Kyle
- some grant work, data prototype stuff
- Elliott
- Jury duty selectiono
- 3.9 release
May 9
attending: @tacaswell, @greglucas, @QuLogic, @ksunden, @story645, @trygve
Agenda
Old Business
New Business
Notes
old business
- Kyle
- planning meeting for developer summit
- meet with a NASA project on Monday
- working on data prototype
- helping with on 3.9 wrapup
- Elliott
- developer summit meeting
- array protocol, supply chain validation work
- 3.9 doc wrapup
- mpl-sphinx-theme tagging
- waiting for backports
- maybe bug with old (>1yr) IPythons
- tag today or tomorrow
- Tom
small development grants
- Hannah will talk to Jni about feasibility of visual search
- hatches
- RFB work
- pull small/medium projects from CZI grant
- saving alt text in image metadata
- needs a plan for figuring out how screen readers read images
- Elliot is drafting proposal
May 2
attending: @tacaswell @story645 Ian Thomas @ksunden @QuLogic
Agenda
Old Business
New Business
Notes
old business
RSE
- Kyle
- writing new NASA grant work
- continuing interacitvity and contains in dataprototype
- GSOC has been annouced, got 1 slot, need to reach out to start work
- Elliott
- reviewing Ian's PR
- went through all the 3.9rc failures and opened issues or PRs for everything
- working on getting api changes / whats new rolled up
- do we want rc3?
- IPython is happy without one
- so no RC
- planning meeting for scientific python developers summit tomorrwo
- Tom
- some issue/PR review
- work on NASA grant.
New business
anyone going to pycon
- Pavel (social media) and Chahak
IPython integration
- almost done
- last thing for 3.9 final
appveyor failures due to sphinx gallery
- due to upstream changes in sphinx/sphinx-gallery
- only see on appveyor because other CI systems do not install sphinx+sphinx-gallery
- install from conda environment file
- PR existing to fix it (#28103)
April 25
attending: @tacaswell @QWhXj01mSwmTjk5kN1H_qQ (Eric) @QuLogic @ksunden @story645
Agenda
Old Business
New Business
Notes
RSE updates
- Kyle:
- data prototype work, pushing on interactivity and contains
- issue / PR work
- some 3.9 issues down stream w/ Elliott
- Elliott:
- Tom
- more progress on NASA grant
GSOC
- have submited our ranking
- not heard anything back
NASA
- headline projects
- lots of maintence and support
3.10 priorities
April 18
attending: @tacaswell @ksunden @QWhXj01mSwmTjk5kN1H_qQ (Efiring) @story645
Agenda
Old business
New Business
Notes
RSE
- Tom:
- Kyle
- little bit of issues review
- data prototype work
attendance
Please remember to take attendance at meetings
hatch validation
Data prototype
Just in time data + encoding and transform graph = visualizing large high dimensional multivariate datasets more consistently in less lines of code.
just in time computation:
- computational graph w/ delayed evaluation
- querying and subsampling such that:
- computational datasets can be shown at various resolutions
- only subset needs to be loaded in memory/visualized
dynamic encoding:
- more consistent way to give mappings in multiple artists (Hullman & Qu)
- treats the data fields more consistently with respect to encodings
property syncing on artist:
- artists can be reused
- don't need to be manually updated individually
why graph:
- doing transformations, need to maintain/keep track of order for consistency
- its inspectable in a way current isn't
- can be broken down into smaller chunks, can add custom mapping
- moves current implementation graph to data structure
tradeoff:
- lots of encodings across different axes and artists - easier to reuse/share be
- it's currently named different things in different artists
- attaching the encoding function/mapping/ to the artist
- ex: color coding by category in line and scatter plot
Draw time querying + reducing the amount of info artists need to know about themselves facilitates real time data and reusing parts of the visualization.
April 11
attending: @tacaswell @jklymak @pXw4hSgTQF2--OciPYwa1w @QWhXj01mSwmTjk5kN1H_qQ (Anntzer), @IGuKs80UTJCig4yt6Zos7w (Efiring) @ksunden @QWhXj01mSwmTjk5kN1H_qQ
Agenda
Old business
New business
Notes
grant recap
RSE updates
- Kyle
- data prototype
- clipping and images in new system
- some 3.9
- GSOC
- Tom
GSOC updates
RGBA interpolation
- should remove clipping anyway
- should look Antony's suggestion of how to filter AA's data to clean up "fuzz" on constant data
- look into making the deault interplotaion stage depend on ratio between data pixels and screen pixels
- conclusion:
- we will look at how to add an 'antialiased' interpolation stage
- use same criteria as current antilaised flip
- data space when upsampling
- RGBA spacing when down sampling
April 04
attending: @efiring, @ksunden, @tacaswell, @rcomer, @story645, @timhoffm, @QuLogic
Agenda
Old business
New business
Notes
old
RSE updates
Kyle:
- got 3.8.4 out
- general review
- data-prototype work
- thinking about next NASA grant
Tom:
- NASA grant
- issue / bug review
Elliott:
GSOC / GSOD
- missed GSOD deadline
- GSOC
- have 6 propsoals, look good
- (not including detailed notes as these are public and do not want to break GSOC rules)
- need more mentors
new
3.9.0rc status
- was waiting on 3.8.x mergeup
- should branch and tag today
NASA funding
- trying to make formal friends
- looking for citations from all SMD
- looking for reviewers
- cartopy may also may be putting one in
singular colorbars
March 28
attending: @efiring, @ksunden, @story645, @trygvard, @QuLogic,
Agenda
old business
new business
Notes
RSE
- qulogic: working on Mac bugs; other PR reviews to finish off 3.9
- ksunden: also working on Mac bugs; tracking numpy 2; pybind11 fix for np2 released; all of blockers are gone for np2 micro-release; Ian released contourpy for np2; work on data prototype (lines, clipping, images); thinking about next NASA grant.
New business
March 21st
attending: @efiring, @ksunden, @QuLogic, @trygvard, @story645
Agenda
old business
new business
Notes
RSE
- qulogic: m1, pybind11, wrapping up 3.9, bouncing tasks to 3.10
- ksunden:
- pybind11, numpy 2.0, m1 (ksunden has it locally),
- dataprototype - dijkstra's algorithm & visualizing graph
- 3.9 : beta/rc soft deadline is next week
- 3.8.4: numpy2.0 compliance, is on numpy timeline
singular colorbars
multivariate colorbars
- gsoc proposal draft, scope of project & components
3.9 followups
- follow up about sphinx-tags multiline
March 14th
attending: @tacaswell, @efiring, @timhoffm, @QuLogic, @ksunden, @rcomer, @story645, @artemkislovskiy
Agenda
old business
new business
Notes
Intros
RSE updates
- Elliott
- mostly getting ready for 3.9
- macos M1 CI jobs (lots of low tolerance image failures)
- big triage push of 3.9 issues/PRs
- took out 1/3, lots of docs left so not blockers for branching
- pushed updates / rebases to existing PRs
- Kyle
- 3.9 wrap up work
- continuing work on data prototype work
- numpy 2.0 fallout
- mostly via pybind11, but may need to add a #define
- some waiting on dependencies
- in trianuglation and non-default contouring modes
- Tom
numpy 2.0 status
3.8.4 release
- main reason is for numpy
- waiting for pybind11 to sort some stuff out for 3.8.4rc
PR review
SC timeline
- one week response window then ping once a week
March 7th
attending: @tacaswell, @QWhXj01mSwmTjk5kN1H_qQ (efiring), @rcomer, @ksunden, @story645, @QuLogic, @timhoffm
Agenda
old business
new business
Issues and PRs
Notes
RSE updates
Kyle:
- putting is scipy talk propsoal (on dataproto type)
- data prototype work, thinking about Artist class tree
- QoL improvements in repo to make less verbose
- issue and PR review
- pushing on yet more mac OSX segfaults / objectiveC level exceptions
- new or pre-existing? Hard to go back to old versions of OSX so very hard to debug
- behavior is as documented, but did not notice this behavior before
- only see when running as a subprocess, test was marked xfail because flaky, lightly tested / under used feature (singleshot timers), test sometimes passes before object crashes
- subtle interaction with Python GC to produce an invalid pointer
Elliott:
- Catching up from forced vacation
- bit more pybind11 work (waiting for cgywin test to pass (just merged!))
- started to work on performance benchmarks
- working on windows + arm box
Tom:
- some issue review + scipy talk discussions
3.9 updates
- worked on clearing out milestone yesterday
- no major items that should get a madrush to get in
- RC in 2 weeks
- how does this interact with numpy 2.0
- do not hold our RC for numpy beta
- do another RC as soon as they have an RC
- hold our 3.9 final for numpy2.0 rc
- david got new pydata sphinx theme working, please look at devdocs due to big changes in upstream themes
- use social to drive eyeballs at this
numpy 2.0
https://github.com/numpy/numpy/issues/25918#issuecomment-1980214917
- asking for sequence of:
- numpy beta
- mpl/scipy/… rc (of something)
- numpy rc
- mpl/scipy/… finals (of something)
grant updates
triage team
SC needs to be prompt or delegate authority
repo to hold API automation from social
- good idea, start in @story645 's account and migrate when working
DST is coming
Remember we follow the German schedule.
rgba nan handling + extra copies
https://github.com/matplotlib/matplotlib/pull/27848
Conclusion: only copy if we have to mutate the user input
29 Feb 2024
attending: @ksunden, @QuLogic, @tacaswell, @story645
Agenda
old business
new business
Notes
RSE report
- Tom: swamped with other work
- Kyle:
- preparing for scipy submissions
- getting examples in data-prototype working again
- issue triage / PR review
- Elliott:
- on vacation
- made progress on pybind11 work, no PR yet
3.9
- Still looking on target for RC in March
- currently 73 open things in milestone
numpy 2.0
- things are going slowly
- do micro release when rc to drop upper pin
22 Feb 2024
attending: @efiring, @ksunden, @QuLogic, @greglucas, @story645
Agenda
Old business
new business
notes
PRs
notes
RSE reports
- ksunden: macOS, data prototype, general issue & PR review
- qulogic: pr review, finished animation->vid in docs (needs sphinx gallery reviews)
separate edge + hatch
- setting hatch.color to 'inherit' from edgecolor
- needs an API behavior note probably
- use facecolor tracking edgecolor as model
- on set alpha adjust hatch color?
- needs an API behavior note probably
- setting alpha after setting edgecolor will overwrite current, preserve with users hatchcolor
- Check for parallel behavior, if possible, between Patch and Collection.
side convo on hatch api
- figuring out which customizations to allow - color, density, etc
- custom registry to allow strings but avoiding naming conflicts
- similar to MarkerStyle -> HatchStyle
- SDG scope/level project
pybind11 review
- can we go through w/ one proficient in pybind11 reviewer?
- can we just get through with "is this ported correctly?"
- benchmarking?