matplotlib
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Help
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # Apr 8 2021 to 29 July 2021 ###### tags: `2021 dev call` Call co-ordinates: Thursdays @ 19: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) # July 29 2021 ## Agenda ### Old Business - new front page (done, but bare) - CI: faster (collapse navigation and dont optimize pngs) - underscore PR almosyt in ### New Business - PR Status: - `is:pr created:>2021-07-21 draft:false`: 30 Opened, 19 merged - `is:pr merged:>2021-07-21`: 27 - `is:pr is:open `: 281 - `is:pr is:open draft:false` : 26 - `is:pr is:open draft:false -author:anntzer` : 18 ### PRs and issues - https://github.com/matplotlib/matplotlib/projects/14 - PyQt6, GTK4: Need to be finished - RGBA interp: needs review - Add Figure parameter layout https://github.com/matplotlib/matplotlib/pull/19892 - needs a name: https://github.com/matplotlib/matplotlib/pull/19892#issuecomment-877851463 - CL: set up at draw time only https://github.com/matplotlib/matplotlib/pull/20229 - merge with one review? - Fonts PRs: - do these have a critical mass of reviewers? - widget PRs - critical mass of reviewers? - mpl_toolkit PRs - merge with one review? ## Notes -------------------------------- - new docs index -in but folks should iterate - circle - is now faster by a [insert here] amount - Elliot's doing a great job keeping the PRs moving - Font things - Jouni, Frank, Anthony & Aetik managing it - lots of turnaround, most issues are fixed - discussion happening in https://gitter.im/matplotlib/GSOC - New organization member - Frank, german physics PhD student ### 3.5 stuff - pyqt6: Tom & Anthony working on that - skipping on tests not working properly - backend should be working/testable - gtk4: Elliot is finishing it up - RGBA interpolation: needs review, last open PR off draft queue - `layout` kwarg: - lets third parties name/create their own layouts - specific or more open to extensions? - specific: `spacing` in name, implies shifting some space around - broader: implies layout manager handles more than whitespace - default layout optimizer? if no, people will want a short default - middle ground of `packing`? - comes from TK - runs at draw time, w/ draw time event hook? - tight_layout all happens at draw time - constrained_layout - mixed b/c of colorbars (won't use gridspec colorbars) - currently needs to build a tree, amended to 20229 - don't want this to be a general draw time hook, but should be an action on the figure - other libraries: - tk: packing - matlab: tile spacing and tiledlayout - qt: layout, relative_sizing - bokeh: layout, sizing_mode - plotly: layout - ggplot/patchwork: https://patchwork.data-imaginist.com/articles/guides/layout.html - boxes (layout) + packing (spacing) - `layout` is the closest to current names - pandas uses it for (row, col) - maybe suggest to pandas to collapse layout=(row, col), subplots=bool to subplots=(row,col)? - discourage tight/constrained_layout in docs, not getting rid of it - __decision__: use `layout` as kwarg - new website template - needs search bar on docs landing page (blocker) - https://matplotlib.org/devdocs/ - no navigation on landing page (maybe seperate template) - all the left hand side (like cheat sheets) can go on brochure site - needs version # - gallery needs some help - drop too narrow & images are decentered - maybe a custom sphinx gallery thing? - docs are running a dev version of sg - maybe too much white space - edit titles to be shorter - wider thumbnails - tweak gallery CSS for 3.5 - Jody will open an issue - #20229: constrained layout at draw: merge w/ just Anthony review - 3.5 timeline: beta by mid august ### discuss for 3.6 - colormap registry: - Tim needs to finish/cleanup - making cmaps available via import matplotlib (slows down) - when loading pyplot, you've loaded CM - change top level import away from plt - seperates gui management from plotting/artists/etc - pyplot: spins up gui, pyplot interface, convenience functions - convieniance (.subplots, cmaps, etc) should move to different top level - facilitates cleaner distinction between pyplot and OO interface # July 22 2021 ## Agenda ### Old busines - [ ] CI concurrency - [ ] front page for website (this is 3.5 critical) ### New Business - PR Status - `is:pr is:open `: 276 - `is:pr is:open draft:false` : 20 - `is:pr is:open draft:false -author:anntzer` : 13 ### PRs and issues - [3.4.3 release](https://github.com/matplotlib/matplotlib/milestone/64) - 3.5 goals: https://github.com/matplotlib/matplotlib/projects/14 - https://github.com/matplotlib/matplotlib/pull/18782 Image intepolation - name of kwarg? - Doc PR? - https://github.com/matplotlib/matplotlib/pull/20518 PGF sketch_params? - https://github.com/matplotlib/matplotlib/pull/20706 latex underscores? - https://github.com/matplotlib/matplotlib/pull/20549 API name? ## Notes ### Front page - needs to be set up for 3.5 - @tacaswell will work on brochure this weekend after next (this is top level index.html) - need to simplify the /3.5.0/index.html - strip out front matter ? ![](https://i.imgur.com/b4tdsLv.png) - direct to document types - reference - explanation - tutorials - how tos - https://hackmd.io/HYCHlmH7SdarZWkvVucF-g?both#webpage - @jklymak will open an issue ### Circle CI - extra concurrency - parallel builds - 400-500k credits a month. - slightly over their open-source limit - 2 virtual CPUs - 15$/25k credits - order $350/month - 80 concurrent - faster VMs? 8 cores - revert new style PR and see how quick Circle is? ### streamplot issue https://github.com/matplotlib/matplotlib/pull/19619 - issue in computing error in integration logic - bug from 2012 ### interp data or RGBA - https://github.com/matplotlib/matplotlib/pull/18782 - `interp_stage`, `interp_space` - `interpolation_stage` ### underscores in math mode - https://github.com/matplotlib/matplotlib/pull/20706 - why are underscores not allowed? Because it interferes with references in LaTeX - maybe just include lines instead of whole underscore.sty - needs a check that `underscore.sty` hasn't been called by user in custom header. - just include underscore.sty and assume users have it. Don't vendor. Check if it has already been imported. - document require underscore.sty - debian packaging: - https://packages.debian.org/buster/texlive-latex-base (not in) - https://packages.debian.org/buster/texlive-latex-recommended (in) ---------------------- # July 15 2021 ## Agenda - CI update - https://github.com/matplotlib/matplotlib/pull/20649 - [ ] end of meeting: hannah scipy practice talk (12? minutes) - https://hackmd.io/@story645/scipy2021mpl ## Notes ### colour filter conversions - discussion of colour conversion ### do we want to soup-up and advertise `obj.set()` more? - pro: less typing - con: some set_XYZ take more than one arg and can not fit that into kwargs Some discussion of the fuction `pyplot.setp` that is a hold-over of MATLAB heritage. Probably should just leave it alone. Probably need to keep both interfaces, one-shot `set` aimed at use cases who are using us as an application and the `set_XYZ` for when we are being used internal to a third-party library. We have deep mixing of high and low level APIs through the libary and through out the examples. Need to write a tutorial on `obj.set` explaining when to use one or the other ### CI update - had a "who are you" meeting with CircleCI this week - scheduled a meeting with billing to sort out actual needs - other things in "performance plan" that might help, but not clear if they would actually help su - consider looking at using DO for hosting these artifacts, have 7minute upload of docs! ### # July 8 2021 ## Agenda ### Old Business - [ ] website - brochure - [ ] CI concurrency ### New business - PR status: - `is:pr is:open` 272 - `is:pr is:open draft:false` 22 - `is:pr is:open draft:false -author:anntzer` 14 ## PRs and Issues - [x] *very* slow doc builds pydata-sphinx-theme - https://github.com/pydata/pydata-sphinx-theme/issues/381 - low Circle concurrency @QuLogic? - attempt to fix: https://github.com/matplotlib/matplotlib/pull/20596 - [x] figbox deprecation - [#19938](https://github.com/matplotlib/matplotlib/issues/19938) - https://github.com/matplotlib/matplotlib/issues/19982 ## Notes ### slow Circle CI - detect circle don't build hi dpi. - CIRCLE_CI? - setup time. - @QuLogic trying to set up meeting w/ Circle folks and @tacaswell - reduce # of circle jobs... @QuLogic ### figbox deprecation - @jklymak will investigate ### 3.4.3 - close to tag for SciPy. - 3.5 not particularly close - 3.5: Fedora tag mid August ### 3.5 try a "Project" to rank PRs - track major-ish changes not small fixes - not Release critical ------------------------------------------------------------------- # July 1 2021 ## Agenda ### Old Business - [ ] website - brochure - issues beta ### New Business - new social media/community person - Peter - Content width of pydata-sphinx-theme is only 749.167px. Previously, we had 919px. Reducing that in the new theme will cause many figures to be rescaled and thus look blurry. We have - `figsize=(8`: 43 - `figsize=(9`: 16 - `figsize=(1x`: 22 Options: - Make pydata-sphinx-theme wider - Resize the affected figures - Do nothing - PRs: - `is:pr is:open `: 277 - `is:pr is:open draft:false` : 35 - `is:pr is:open draft:false -author:anntzer` : 25 ### PRs - [ ] [#20557:](https://github.com/matplotlib/matplotlib/issues/20557) Have [Source] in api docs link to github - [ ] [3pp:#71](https://github.com/matplotlib/mpl-third-party/issues/71) make an external resources page in the same style as the third party page/repo - motivated by request to add python graph gallery to mpl homepage - https://matplotlib.org/stable/resources/index.html - [ ] Renaming `span_stays` to `interactive` in #20113 is not a reasonable API change (see https://github.com/matplotlib/matplotlib/pull/20113#discussion_r661819516). Do we want to roll back or move forward to a better name? ## Notes ### github: - $1000/month from AmEx (some sort of amalgamated software bundles corporately sponsored) - threshold for mention on website(~ 1.0 FTE?) ### New social member: P. Smith - social media: https://hackmd.io/@matplotlib/HkkVGQTtU ### isues beta - forms beta? also new API for organizing issues - registered for organizing - need to register for forms beta - put in a PR with the new form? ### sphinx data theme narrower - examples need to be resized somehow; some examples being downsampled. - ask them to make it at least 7.5" (its just a touch below right now) - https://github.com/pydata/pydata-sphinx-theme/issues/427 ### source in API docs link to github - doesnt' work for offline use - how prevalent? - build option to build locally as well? - docs packages? - switch to links to github by default with a switch... ### resources page - separate page on PP3 repo - need to weed out old resources on resource page - old page: https://matplotlib.org/stable/resources/index.html - will need some curration for trivial tutorials - aggregate - maybe need a yml to have structured data (time, subject) ### renaming span_selector - # June 24 2021 ## Agenda ### Old Business - [ ] website - new theme merged - brochure ### New Business - tidelift - we are now at $146/mo - @ey3AIr8wSl2d1PPfOb9K1w (Elliot) agreed to sign the paper work - CDR surve results - https://docs.google.com/presentation/d/1MwQ3XeFfrrL6G805QaI92Yl0a_FHCH4cgI1yTH0jXHk/edit#slide=id.g6534896c11d6780b_92 - issues beta: - https://github.blog/2021-06-23-introducing-new-github-issues/ - needs admin to enroll - PRs: - `is:pr is:open `: 268 - `is:pr is:open draft:false` : 24 - `is:pr is:open draft:false -author:anntzer` : 17 ### PRs - [ ] ## Notes ### numpy 1.20 issues - Fixed failing test by correcting vmin clipping - mutating masks still a problem (change in 1.20) ### webpage - new theme merged - tim adding some things already - `/stable/index.html` should be some sort of guide to the docs; `/index.html` should be brochure page. - solves tension in home page between sales and reference - numpy.org/doc/stable versus numpy.org/ - divio docs org: https://documentation.divio.com/ - ![](https://i.imgur.com/wxAo0ik.png) - Make proper index site. - https://github.com/matplotlib/matplotlib/issues/19388 ### tidelift - $146/mo; - covers discourse hosting ($10/mo) - other subscriptions? - CI, storage - relies on depedency tree? proprietary algorithm; pandas numpy getting signficiant funds from this - has a maintenance burden ### docbuild - moving to GHA? to get around concurrency - @QuLogic needs to follow up with Circle about pricing ### Contributor survey - initial survey processed. ### type hints - stubs as seprate files? - long run if it becomes universal - numpy just started 1.21.0 - separate package of stubs? - needs synchronizing - if impatient we may run it into matplotlib... - may pull into mainline. ## PRs ### colorbr again (sorry) - https://github.com/matplotlib/matplotlib/pull/20501 ----------------------------------------------------------------- # June 17 2021 ## Agenda ### Old business - [ ] website? - [ ] ipympl contract? ### New Business - PRs: - `is:pr is:open `: 267 - `is:pr is:open draft:false` : 22 - `is:pr is:open draft:false -author:anntzer` : 11 - (It'd be cool to track these graphically; I don't think that google search API lets you go back in time?) ### PRs - [ ] https://github.com/matplotlib/matplotlib/pull/20113 Span selector? - [ ] https://github.com/matplotlib/matplotlib/pull/20358 functools partial in animation: why? - [ ] https://github.com/matplotlib/matplotlib/pull/19515 colorbar zoom and pan: - maybe impliment in plot tool? (i.e. https://github.com/matplotlib/matplotlib/issues/20433) - How much of a GUI do we want the main plot window to be? - How many tools do we want hanging off the main plot window? - [ ] https://github.com/matplotlib/matplotlib/pull/20229 Constrained layout self-contained - no more state on each figure and gridspec - drawtime calculations (but colorbars need to know that CL will be used :frowning: ) - [ ] Default limits: units, scales, Locators - https://github.com/matplotlib/matplotlib/pull/20340 ## Notes - website in progres, ipympl in progress ### https://github.com/matplotlib/matplotlib/pull/20113 - uses substantial number of properties. OK for widgets? - @tacaswell will look and comment. ### https://github.com/matplotlib/matplotlib/pull/20358 - layer on top of animation function use partial instead. - useful if reusing an already-created function that needs kwargs ### https://github.com/matplotlib/matplotlib/pull/19515 colorbar zoom and pan: - can make colorbar a picker - with existing API - make a kwarg? or option? - better interface is plan ### https://github.com/matplotlib/matplotlib/pull/20229 Constrained layout self-contained - need to add timings ### https://github.com/matplotlib/matplotlib/pull/20340 - default limits - AxisInfo probably needs to go away... - set scale: sets locators and formatters (and transform) - dispatch by type for unit handling... - add a do-nothing converter to float... - lock units... - make easier to do units explicitly.. - maybe part of the transform stack. Units first thing? ----------------------------------------------------------------- # June 10 2021 ## Agenda ### Old business - [ ] ipympl contract? ### New business - PRs: - `is:pr is:open`: 278 - `is:pr is:open draft:false`: 27 - `is:pr is:open draft:false -author:anntzer`: 18 ### PRs - [x] plot type docs https://github.com/matplotlib/matplotlib/pull/20292 include signatures in titles? (quick) - [x] https://github.com/matplotlib/matplotlib/pull/18966 (Remove modality of figure options). Anyone volunteer to shepherd this? - [x] colorbar fix https://github.com/matplotlib/matplotlib/pull/20327 (master critical) - [x] https://github.com/matplotlib/matplotlib/pull/19466 - do we want aritfact upload? If not, close? - [ ] Status of `layout` kwarg to `subplots` etc? https://github.com/matplotlib/matplotlib/pull/19892 - https://github.com/matplotlib/matplotlib/pull/19892#issuecomment-824432381 for layoutengine baseclass discussion ## Notes ### Ipympl - plt.show() cell return (need to docuemnt semantics) - discussions w/ Matthias ### Plot Types - https://github.com/matplotlib/matplotlib/pull/20292 - simplify signatures, but keep them.. remove brackets, and keep args that are most common. ### Modality of figure options - https://github.com/matplotlib/matplotlib/pull/18966 - document change of behaviour, but remove API change doc - break back compat... make non-modal ### Artefact upload after testing - https://github.com/matplotlib/matplotlib/pull/19466 - artefacts are probably too large - we are already uploading images of failure - @QuLogic PR... ### Qt6 PR - https://github.com/matplotlib/matplotlib/pull/19255 - need to make sure names are re-exported - @QuLogic will double check, @tacaswell will push ### layout engine - layout is fine - constrained layout: rename? Adaptive? - ping @lukebd... ### get rid of colorbarbase - https://github.com/matplotlib/matplotlib/pull/20354 ### GSOC - glyph fallback... - font subsetting: #18991 - documenting fonts first - Type3 easy to subset - Type42 ttf, very hard to subset, binary - need third party libs - font fallback - go through family list until glyph found. - need to move to harfbuzz - pango does fallbacks but hard on windows - unification different backends for ustex - psfrag in ps - pdf/svg extract glyphs from dvi: Want to use this for everything - pdftopng and embed ------------------------------------- # June 3 2021 ## Agenda ### Old Business ### New Business - [ ] PRs: - `is:pr is:open`: 275 - `is:pr is:open draft:false`: ~~26~~ 30 (~~8~~ 12 @anntzer) - [x] SDG - circleCI vs pydata sphinx theme with Joris ([proposal text](https://docs.google.com/document/d/1dKegGkOIAnJvh_c6a7DoYgTzHiSMYc-PXnYR02lur8E/edit)) - https://gitter.im/matplotlib/matplotlib?at=60b9227345c2185a5e0769f1 ### PRs - [ ] change log: https://github.com/matplotlib/matplotlib/pull/20132 https://59749-1385122-gh.circle-artifacts.com/0/doc/build/html/users/release_notes.html - [ ] font-related docs (https://github.com/matplotlib/matplotlib/pull/20293, https://github.com/matplotlib/matplotlib/pull/20346) - [ ] unit default limits (https://github.com/matplotlib/matplotlib/pull/20340) - overlapping concepts: - `scale`: based on `transform`, sets tick `locator` and formatter; - `units`: sets `locator` and formatter, but not usually scale! - `locator` has "nonsingular"; `units` have "default_limits" - [ ] Norm, mappable, colorbar callbacks - mappable has a callback to colorbar, but only one - https://github.com/matplotlib/matplotlib/pull/19553 wants to add a callback on the norm back to mappable - [ ] TextBox should render mathtext? https://github.com/matplotlib/matplotlib/issues/20266 ## Notes ### ipympl deliverables - drafted and about to be submitted as a contract proposal 1. Close ipypml#16 by ensuring that saved notebooks include a static version of the rendered figure. (critical) 2. Make the close button embed a static version of the figure in the notebook. This will have to be reconciled with multiple views of the same Figure existing. (critical) 3. Reconcile if possible and document the user experience between inline, ipympl, and desktop GUI backends. (nice to have) 4. Finish the refactor of the %matplotlib magic to be pluggable. (nice to have) 5. Improve the toolbar / UI of the figure in the browser. (stretch) 6. Migrate typescript and modernize the front end code. (stretch) ### J. Gill (@swfiua) - blume maintainer and original `table` implimentor - suggests leaving table out until it settles down - link to `blume` from table docs? There is one... at top of module... ### Small development grant (Numfocus) - sphinx pydata theme - circle? - **throw in with pydata sphinx grant** ### Changelog page: - should be easier on release... - @QuLogic has on todo list. ### Font-related docs - a bit obscure. - modelled after css - font: font-family, generic name which cascades... - font-families are css - @aitik will be doing per-glyph fallback, so having him document this would be helpful. - drop the non-reccomended section - usetex has a Latex-compatible systme - just classic fonts currently because using `latex` - \textsf, \textrm etc. handle family - needs a \usepackage - maybe thats all we should provide? ### TextBox and mathtext: - should be a literal string... ----------------------------------------------------- # May 27 2021 ## Agenda ### Old Business - [x] Front page @tacaswell - [x] CFP MSFT money @tacaswell - [x] Small dev grant: - @QuLogic CircleCI increased concurrency? ### New Business - [x] Make a cycler release? - [x] Joining Scientific Python Ecosystem Coordination (SPEC) as a Core Project - https://scientific-python.org/specs/core-projects/ - [ ] PRs: - 266 PRs - `is:pr is:open draft:false` 19 - 6 with one review (maybe 4 actionable) - [x] introductions ### PRs: - [ ] Quick Survey: What do you consider as the primary quantity in QuadMesh (and thus should get the (M, N) shape)? The vertices or the quadrilaterals? (The other quantity will have shape (M-1, N-1) or (M+1, N+1), respectively) - [ ] Quick Survey: Should we canonically enumerate `ax` from 0 or from 1? i.e. `fig, (ax1, ax2) = plt.subplots()` or `fig, (ax0, ax1) = plt.subplots()` - [ ] https://github.com/matplotlib/matplotlib/pull/19556 - Allow the func argument in legend - a bit complicated, but already in a complicated part of code. - [ ] @greglucas - [ ] https://github.com/matplotlib/matplotlib/pull/19553 Norm callbacks - [ ] https://github.com/matplotlib/matplotlib/pull/19515 pan/zoom colorbars change norms? ## Notes ### Introductions - Richard Sheridan: Duke University... - Greg Lucas: U. Colorado Sattelite ### QT6 support: - should go in because of rebase issues ### MSFT: - QuantStack to work on lab integration (issue #16 ipympl) - there is a strategy to fix. ### Small dev grant/ CircleCI concurrency - form filled out, and will follow up... ### Cycler release? - pytest not working (soon) with cycler... - some API roughness for 1.0? - sharable cycler? - needs license file? One is added when sdist is made. - @QuLogic release or CI? May need Pypi keys - is defacto tested in Matplotlib so CI issues not critical ### Front page - need to propagate commit rights - added to main developer group ### SPEC: scientific python - matplotlib is a core project? - agree to follow most of their guidelines - python maintenance windows etc. - perhaps umbrella for larger grants - formalize cohesion - Numfocus not interested in governance or technical issues - Numfocus a bigger umbrella - formal signoff ### QuadMesh MxN means? - MxN is `C`, x and Y: M x N for gouraud and nearets. For flat X, Y: M+1 x N+1 ### (ax1, ax2) vs (ax0, ax1) `(ax0, ax1)` ### pan/zoom colorbars change norms? * useful but zoom is a confusing choice * using mousewheel/alternative UI elements * zooming color is like zooming x/y? * make it clear that you're moving the ticks, dynamic range/recolor * use zoom/pan button? * long discussion about how to interpert the color bar * on one hand we can think of the color bar as a image that is in an axes * we can then think about zooming in on it like we do with any other image * allows you to "clip" the color range shown in the color bar without clipping the range of colors actually mapped * this is an unreleased feature that @tacaswell has concerns about * on the other hand, think of the color bar as more akin to the ticks * the range of norm <-> the [0, 1] of axis normalized units * colors <-> ticks * the color bar should _always_ show the full range of colors and zooming / panning on the colorbar should be tied to changing vmin/vmax (just like panning/zooming on the "normal" axis changes xmin/xmax and ymin/ymax) * @anntzer points to https://github.com/anntzer/mplinorm * consensus that the UI needs to be tweaked -------------------------------------------------- # May 20, 2021 ## Agenda ### Old Business - [ ] Front page? - [ ] CFP for NumFOCUS small dev grant ### New Business - [ ] CZI submitted - [ ] State of PRs (20 May) - 296 open - 33 Merges, 11 new PRs - 51 `draft:false` - 30 `author:anntzer`, 21 `-author:anntzer` - 20 with one approved review - `is:pr is:open draft:false review:approved` - 12 anntzer ### PRs/issues - [x] [#19419](https://github.com/matplotlib/matplotlib/issues/19419) Switch setuptools-scm version scheme to `release-branch-semver`? - [x] https://github.com/matplotlib/matplotlib/pull/20237 QuadMesh: Does this need a deprecation to make kwarg only? ## Notes ### New org members - Greg Lucas - Richard Sheridan - @tacaswell will develop a procedure for new org members ### CZI - submitted, ours and EDI; - Matthias B: enfold docs into ipython terminal is a related proposal - @anntzer has related project - make crosslinks work in repl to correct version of libraries - https://pypi.org/project/papyri/ - End of July (also NASA) ### state of the PRs - Numbers are better than last week - discussion about how to prioritize PRs from proflic contributors - have core contributors limit them selves to 5 non-draft PRs at once - concern that we are losing PRs from new contributors who fall off the top of the GH queue - improved labeling has helpd a bit to whittle down on "tasks lists" - skimage has a rotating weeking community manager + nice weekly summary script - https://github.com/scikit-image/scikit-image/issues/5169 - also filter based on what if it has a linked issue - filtering by draft is really helpful, but we should also keep "needs XYZ" labels - `linked:issue` a useful key as well. - do we want to seperate open-ended vs PR review meetings? - no, mixed meetings work better for us - schedule ad-hoc meetings to dig into technically complex PRs? - no, make our standing meeting longer as needed, and have a cut off on non-technical review wokr - first PR from new cont is a problem because some GA cannot run... - maybe flag those issues with a label (via bot on new PR) ### version tag - [#19419](https://github.com/matplotlib/matplotlib/issues/19419) - astropy would like a better tag mechanism - master tree version include `dev`? - want to be able to compare `dev` > `stable` - is it a "dev" release? - https://www.python.org/dev/peps/pep-0440/ - 0.9 - 1.0.dev1 - 1.0.dev2 - 1.0.dev3 - 1.0.dev4 - 1.0c1 - 1.0c2 - 1.0 - 1.0.post1 - 1.1.dev1 - current state: - master : 3.4.2.post825+g303873fc65 - v3.4.x : 3.4.2+16.gdcfc7a17a2 - possible: - master: 3.5.0.dev820+g6768ef8c4c.d20210520 - v3.4.x: 3.4.3.dev4+g97f47ba6d8.d20210520 (if we remove 'v' prefix in branch name) - simplify merging up the maintenance branches? - don't prefix "v" in branch names ### QuadMesh - https://github.com/matplotlib/matplotlib/pull/20237 - Does this need a deprecation to make kwarg only? - @anntzer has a way to make one-cycle deprecation (maybe just make kwarg only if too complicated) ----------------------------------------------------------------------------- # May 13, 2021 ## Agenda ### Old Business - [ ] Attract developer leads for niche corners? * revist: what if they want to change the API? * https://github.com/matplotlib/matplotlib/pull/20220 - [ ] Front page? - [x] MSFT contract ### New business - [ ] CFP for NumFocus small dev grant * Deadline: June 4, 2021 - [x] State of PRs: - 303 total - 64 `draft:false` PRs, - 29 `author:anntzer`, 35 `-author:anntzer` - 11 with one positive review ### PRs/issues - [x] backport mosaic parameter rename https://github.com/matplotlib/matplotlib/pull/20150 - it was done ## Notes: ### MSFT money - ipympl needs work (nbagg) - close figure in backend like nbagg - ipympl figure can pop up a bunch of times - sylvain C... pay his consulting company to do some of this work... - @tacaswell going to write statement of work and start contract process ### CZI and CZI DEI due 19th. ### Mission statement and niche developers - @tacaswell is working on a mission statement. - https://github.com/matplotlib/matplotlib/pull/20220 - backwards compatibility part of mission statement - domain specific? ### PR status ### CircleCi - Numfocus small grant? Probably too small! - @QULogic write and ask what to get higher concurrency... ------------------------------------------------------------------------------------ # May 6, 2021 ## Agenda ### Old Business - [ ] front page - [ ] MSFT contract - [ ] GSOC follow up? ### New Business - [ ] Attract developer leads for niche corners? - How to get word out? - pandas, tables, toolbar2... ### PRs/Issues - [ ] Move 3rd party package page: - https://github.com/matplotlib/matplotlib/pull/20026 - [ ] Fix colorbar axes: - https://github.com/matplotlib/matplotlib/pull/20054 ## Notes ### GSOC - slotlist submitted; request for students put in. We only asked for one slot. ### Getting niche leads - Table: blume exists as alternate - table is probably broken fundamentally - not remove but state in docs that weakly supported and point to blume - ideally would need some refactor. - pandas: - pandas and units (dates) - NASA grant should come in about July? - general - not just scope to users on call - put at top of API that it needs a developer... - toolbarmanager - @anntzer thinks has fundamental issues - design may not allow easy third-party implimentation - SoC idea... - needs to be in backends, so can't be third-party - should people just write a real GUI? ### 3rd party package page - new design - redirect issues: change old page to a redirect.. ### colorbar axes - inner is inset of outer, inner is the colorbar - outer position is set by parent - user passes in cax -> coarce it to type colorbaraxes - makes cax the outer axes - replace user cax object w/ colorbaraxes object - delete all contents in cax, redirect to other axes - put note "this is destroyed", use cb.ax.outer - some attrs get dispatched to inner, others to outer - no reference left - problem: otherwise cax reference is destroyed ---------------------------------------------- # Apr 29, 2021 ## Agenda ### New business - [x] time for 3.4.2? - [x] do we want to bump minimum version of pillow? - [ ] CZI writing - [ ] MSFT contract - [ ] GSOC slot requests due to numfocus April 31 ### PRs - [x] https://github.com/matplotlib/matplotlib/pull/14463 Are secondary axises full axes? - [x] Changing styling of widgets [#19265](https://github.com/matplotlib/matplotlib/pull/19265) ## Notes ### pillow - There are a lot of CVEs against pillow, we pin pretty old version as a floor - do we want to raise our floor to be newer? - No - its is not our job to force good sceurity on users - third-party packagers can bump the minimum they have - users should be responsible for their own security! ### 3.4.2 - planning to do next week, been about a month from last bug-fix - tag anything you want to have in as release-critical ### CZI proposal - no progress, @tacaswell will work on this after call ### MSFT / quantstack - no progress, on @tacaswell ### secondary_axis - currently implemented with a "real" Axes that we draw with no size in one dimension - if we expand it, then we can plot to it! - this means you can plot data in either units - could provide confusion between the twinx/twiny - twinx / twiny are for shared on one axis, completely unconnected between the two axes in the other axes - this would be shared in one axes and locked with a different scale in the other direction - not clear what the non-secondary axis does - but can definitily make them share - concern about how scales are shared - if you make the primary axis to log, what happens to the other? - both should have same scale! - concern about draw-order - discussion about how to merge the children from the guest-Axes Things we think we want: - to have secondary / twin for coupled / uncoupled non-shared axis - "twin" is free - "secondary" is locked together with functional transforms - want to seamlessly share color cycle etc - want unified legend between both - want to handle N-parasite versions of both - want to be able to "plot to any of them" - need to think through how mouse hits work - need to think about how to fold in ParasiteAxes as well ### mid-scale project ideas - replacement of numpy array by subplots with custom class that is indexable - remove the need for squeeze - allow bulk-application - handle (1, N), (N, 1) as both 1D - need careful thought about where to match/diverge from numpy arary - add label based indexing! - maybe join version with subplot_mosaic - add ways inject per-axes projections to subplot_mosaic - make a variation of subplot_mosaic that returns specs - pass in map of kwargs to subplot_mosaic - add helpers to destroy / re-create with new projection - add "add your self" method to subplotspec - free function? - method on Figure ### slider UI changes - on one hand, these is a visual change and thus an API change - but UIs are inherently variable and should be excluded from the policy we have for data conveying elements. ### tight layout bug - deprecate miss-matched layout grids and point users to contrained layout ### polar PRs - @pXw4hSgTQF2--OciPYwa1w adding some of the recent polar PRs to 3.4.2 # Apr 22, 2021 ## Agenda ### Old business - [ ] Microsoft @tacaswell ### New business - [ ] website: - [x] Landing page - [x] third-party page: https://github.com/matplotlib/mpl-third-party - [x] cookie cutter project: https://github.com/matplotlib/matplotlib-extension-cookiecutter - [x] responsive images: https://github.com/sphinx-gallery/sphinx-gallery/pull/808 - are we Ok using sphinx-galler dev for our dev docs? That will help test the new directive. - [x] pydata theme? https://github.com/matplotlib/matplotlib/pull/19731 ### PRs - [x] API-Decision: Setting ticks and ticklabels simultaneously - `set_ticks(ticks, *, labels=None, ...) ` https://github.com/matplotlib/matplotlib/issues/18848#issuecomment-720154479 - or accept dict / list of tuples as `ticks`. - [x] (if @timhoffm is there) Subclasses of Polygon with numpydoc xref throws error b/c of CapStyle, JoinStyle https://github.com/matplotlib/matplotlib/issues/19839 - [ ] mpl-gui: https://github.com/tacaswell/mpl-gui - what is scope of a "gui" versus a `plt.figure` replacement? - [ ] `layout='constrained/tight'` for figure https://github.com/matplotlib/matplotlib/pull/19892 - instead of `figure(constrained_layout=True)` - `layout` base class as possible argument as well as string (for passing options). - [ ] third party categories: https://github.com/matplotlib/mpl-third-party/pull/31 ## Notes ### Microsoft - Sylvain and Tom still talking ### CZI: - full round 4 - May 19th - approx 1000 words ### Webpage - landing page this w/e - pydata theme: - working on it - css issues : i.e. property tables. - put in separate file, - push up to pydata? - cookie cutter, and mpl-third-party... ### CapJoin etc - https://github.com/matplotlib/matplotlib/issues/19839 - change from code reference to private link - https://github.com/matplotlib/matplotlib/issues/19850 - python core changed how deprecation warnings are emitted - doc build always grabs the property: - doc builds should ignore? - our deprecation warning is not a deprecation warning - sphinx doesn't recognize as a deprecation warning - either we fix be deriving from deprecation warning - or we ask sphinx to filter on other warnings - MatplotlibDeprecation should subclass Deprecation since it has stabilized - user scripts - `python -Wa script.py` - `FutureWarning` always seen... ### Ticks: set_ticks and set_ticklabels - can be undefined if we don't pair lables with ticks - positions first so add option to set label - `pyplot` already accepts as pair - not on axis: - dict? - step 1: make consistent with `pyplot` - maybe not second kwonly - step 2: maybe add a dict - step 3: discourage set_ticklabel - need a fomal method to "discourage" - remove from examples / gallary - document `set_ticks(axis.get_ticks(), newlabels)` ---------------------------------------------------------- # Apr 15, 2021 ## Agenda ### Old business - [ ] Landing page - [ ] Microsoft - [x] GSOC (april 30th to NumFocus) ### New Business - [x] matplotlib-contrib organization? - i.e. https://github.com/sphinx-doc/sphinx versus https://github.com/sphinx-contrib/ ### PRs and issues - [ ] API-Decision: Setting ticks and ticklabels simultaneously - `set_ticks(ticks, *, labels=None, ...) ` https://github.com/matplotlib/matplotlib/issues/18848#issuecomment-720154479 - or accept dict / list of tuples as `ticks`. - [x] Design-/Architecture decision: adding motion to help understand 3D information https://github.com/matplotlib/matplotlib/pull/19937 - The general idea is good - How do we want to implement that - Prosed solution seems a bit ad-hoc (own "event loop" started from activation event) - Alternative: Use existing animation framework (t.b.d.: Interaction with user actions?) - Alternatives ...? - [ ] (if @timhoffm is there) Subclasses of Polygon with numpydoc xref throws error b/c of CapStyle, JoinStyle https://github.com/matplotlib/matplotlib/issues/19839 - [ ] https://github.com/matplotlib/matplotlib/issues/19956: user add fig to pyplot. ## Notes: ### Codecov had security issue - @tacaswell working on fixing/checking - contact him directly if you have concerns or would like to help - @tacaswell has contacted potentially affected individuals - some keys are obsolete: @tacaswell and @QuLogic are going to remove - should rotate deploy keys as good practice (@tacaswell) ### GSOC - applicants by two weeks: - @QuLogic: geopandas proposal - he needs to get registered with NumFocus (@story645) - Jounni interested in helping w/ review for @tacaswell @pXw4hSgTQF2--OciPYwa1w (Antony): text/latex - pytest project? - no applicant ### 3-D Motion - function to pass axes to... - mplot3d top level function. - 3rd party package... ### mpl-contrib @jklymak - sphinx has a sphinx-contrib github org - do we want to make matplotlib-contrib - list of user developed extensions (rather than mixing in with our) - not promise to do any code work, but just manage the org - external page - matplotlib.org/3pp.html hosted in external repo - external contrib page, configured via yml/markdown - needs instructions on how to add - something like https://djangopackages.org/ - https://pyviz.org/tools.html - https://docs.pytest.org/en/latest/reference/plugin_list.html - pr template - link, badges, short description - like pyviz? - need template - need a new repo for this. - @jklymak will look into this - gallery view? - new third part package page: - not two! ### pyplot/mplgui separation - good idea - can be back compatible - maybe even a standalone package to start ------------------------- # Apr 8, 2021 ## Agenda ### Old business - [ ] GSOC: https://discourse.matplotlib.org/t/gsoc-21-extensions-to-pytest-mpl/21989/4 - [ ] Scipy maintainers track, proposal due April 15th (https://samdbrice.medium.com/76acc8b5d534) - [ ] Landing page update ### New Business ### PRs - [ ] Hi dpi images on website (@jklymak) https://github.com/matplotlib/matplotlib/pull/19899 - [ ] (optional) changing the vertical axis in 3D plots https://github.com/matplotlib/matplotlib/pull/19873 as proposed by @timhoffm in https://github.com/matplotlib/matplotlib/issues/19791#issuecomment-812714992 - [ ] (if @timhoffm is there) API for specifying layout https://github.com/matplotlib/matplotlib/pull/19892 - [ ] (if @timhoffm is there) Subclasses of Polygon with numpydoc xref throws error b/c of CapStyle, JoinStyle https://github.com/matplotlib/matplotlib/issues/19839 ## Notes ### GSOC - folks should submit proposal ### Scipy Maintaners Track - @story645 and @tacaswell will co-ordinate ### Microsoft - Thomas working with Sylvain to work on ipympl. ### Notes * 2018-03/2020 synced at https://github.com/matplotlib/ProjectManagement ### Hi-dpi - OK to work with sphinx-gallery on this... - have a way to do this by using srcset which lets the browser pick high or low dpi images - we are in favor of doing this (we should have nice looking plots in our docs as the plotting libary!) - SVG has too many edge cases and concerns about performance to switch to it by deault. We tried this several years ago and it went badly (was reverted) - @h1IxLDvDQ6alkgMzaANm6Q has a proof of principle that works, will work with sphinx-gallery folks to move the logic there. ### 3d Axes - change axes for which azimuth and elevation defined on. - could reassign. User wants y to be "vertical". - Need to assign azimuth zero on new axis (and sense of rotation) ### Documentation of classes - (if @timhoffm is there) Subclasses of Polygon with numpydoc xref throws error b/c of CapStyle, JoinStyle https://github.com/matplotlib/matplotlib/issues/19839 - inherited references get wrong: - probably sphinx: https://github.com/sphinx-doc/sphinx/issues/6211 - lot of work to fix? - source of docstring gets dropped... - maybe hard-coded mapping in conf.py? - can use fully qualified references... - anchor link instead of type?

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully