Weekly GitHub Report for Matplotlib: October 13, 2025 - October 20, 2025 (12:04:21)
Weekly GitHub Report for Matplotlib
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is v3.10.1
1.2 Version Information:
Released on February 27, 2025, this first bugfix update of the 3.10.x series addresses multiple issues including improved handling of array alpha in interpolation, removal of md5 to support FIPS compliance, fixes for pyplot.matshow and Axes positioning, adjustments to polar plot titles, GTK4 version gating, and warnings for scatter plot color conflicts, alongside various documentation enhancements.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
[Bug]: error plotting: AttributeError: module 'gi' has no attribute 'require_version': This issue describes a bug encountered on Arch Linux where plotting with Matplotlib raises an
AttributeErrorbecause thegimodule lacks therequire_versionattribute whenat-spi2-coreis installed butpython-gobjectis not. The error occurs during backend initialization, causing the plotting operation to fail, and the user expects no such error and a successful plot if a suitable backend is installed.- The comments discuss a local fix involving changing exception handling in the GTK backend files to catch
AttributeErrorandValueError, suggest the problem may stem from packaging issues rather than Matplotlib itself, and agree on adding defensive code to handle missing GTK dependencies gracefully; this led to a pull request being opened to implement the proposed fix. - Number of comments this week: 5
- The comments discuss a local fix involving changing exception handling in the GTK backend files to catch
-
[MNT]: First contributor workflow fails for first contributors: This issue reports a failure in the first contributor workflow due to a missing required input parameter,
issue_message, which causes the GitHub action to throw an error and fail. The problem appears related to recent changes when the action was ported to TypeScript, which introduced multiple breakages including incorrect greeting messages being added to non-new contributors' pull requests.- The comment acknowledges the error and references an existing fix in progress, while also noting that the underlying issue extends beyond the missing input to incorrect behavior in identifying first-time contributors after the action's migration to TypeScript.
- Number of comments this week: 1
Since there were fewer than 5 open issues, all of the open issues have been listed above.
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
- [Bug]: Misalignment of Labels and Incorrect Density Values in
ax.hist()for Categorical Variables: This issue addresses a bug in theax.hist()function of Matplotlib when used with categorical variables and thedensity=Trueparameter, where the density values are incorrectly computed due to the internal conversion of categories to integers and the resulting bin widths not being equal to 1. Additionally, the issue highlights a misalignment problem where the x-axis labels are not centered on the bars, compounded by a lack of clear documentation on how categories are mapped to integers, making it difficult to correctly position the labels. - [MNT]: Ease building just one Sphinx Gallery example file: This issue addresses the difficulty and inefficiency of building a single Sphinx Gallery example file during documentation generation, which currently requires long build times or manual configuration changes that are not straightforward. The author proposes improving the documentation with practical tips and adding a dedicated build target to streamline this process, making it easier for developers—especially beginners—to preview and develop individual gallery examples more efficiently.
- [ENH]: Parse "\limits" in mathtext: This issue addresses a problem in the matplotlib mathtext module where the LaTeX command "\limits" is not recognized and causes a parsing error when rendering mathematical expressions, specifically integrals with limits displayed above and below the integral sign. The user reports that attempting to parse expressions containing "\limits" results in a ValueError and a ParseFatalException, whereas the expected behavior is for the limits to be properly positioned as in standard LaTeX rendering.
- [ENH]: Fix precision displayed by LogFormatter.format_data_short: This issue addresses the lack of precision adjustment in the display of mouse cursor values for logarithmic scale formatters within the toolbar, which currently only exists for linear scale formatters. The user suggests implementing a similar feature for log formatters to match the cursor pointing precision, enhancing the accuracy of displayed data.
- [Bug]:
ax.transDatadoes not honor data limits: This issue reports a bug in Matplotlib where the transformationax.transDatadoes not automatically respect the current data limits (xlimandylim), causing it to use outdated limits when transforming data coordinates. The user highlights that although the documentation implies data limits update automatically with new data, in practice, manual calls to methods likeset_xlimorset_ylimare required to refresh these limits, leading to confusion and inconsistent behavior.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 4
Summarized Issues:
- License Documentation Update: The Matplotlib project's license page is missing copyright information for Google's "turbo" colormap, which is included in Matplotlib and presumably licensed under Apache 2. This omission requires updating the license documentation to properly reflect the copyright status.
- issues/30651
- Backend Initialization Errors on Arch Linux: On Arch Linux, plotting with Matplotlib fails due to an
AttributeErrorcaused by thegimodule missing therequire_versionattribute whenat-spi2-coreis installed butpython-gobjectis not. This results in backend initialization failures that prevent Matplotlib from functioning correctly. - issues/30654
- GitHub Actions Workflow Failure: The first contributor workflow in Matplotlib's GitHub Actions fails because the required input parameter
issue_messageis missing in thefirst-interactionaction. This causes errors when processing pull requests from first-time contributors, blocking the workflow. - issues/30658
- 3D Transformation Bug with FancyArrowPatch: Transforming a FancyArrowPatch with a curved connectionstyle (arc3) into 3D space results in incorrect positioning and orientation, causing the arrow to not lie in the expected plane or connect properly to target points. This bug contrasts with the correct behavior when no connectionstyle is used.
- issues/30659
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 1
Summarized Issues:
- Font size argument ignored in table rendering: The
fontsizeargument passed tomatplotlib.pyplot.tableorAxes.tabledoes not affect the rendered table's font size, causing it to default to the standard size. This issue was resolved in Matplotlib version 3.1.0, ensuring that font size adjustments now properly apply to tables. - issues/30653
2.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.
III. Pull Requests
3.1 Open Pull Requests
This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Opened This Week: 4
Key Open Pull Requests
1. Fix AttributeError: module 'gi' has no attribute 'require_version': This pull request addresses an issue on Arch Linux where automatic backend selection in Matplotlib fails with an AttributeError due to the absence of gi.require_version when at-spi2-core is installed but python-gobject is not, by adding a detection mechanism that checks for the existence of gi.require_version to prevent this error.
- URL: pull/30657
- Merged: No
2. Backport PR #29810 on branch v3.10.x (Declare free-threaded support in MacOS backend extension): This pull request aims to backport the declaration of free-threaded support in the MacOS backend extension to the v3.10.x branch of the matplotlib project.
- URL: pull/30656
- Merged: No
- Associated Commits: 6e13c
3. DOC: Dynamically resize mathtext symbol tables (#26143): This pull request updates the doc/sphinxext/math_symbol_table.py script to dynamically resize mathtext symbol tables during documentation builds, improving maintainability, fixing formatting and whitespace issues, ensuring consistent rendering of math symbols in the HTML documentation, and resolving warnings related to unused imports and blank lines.
- URL: pull/30661
- Merged: No
- Associated Commits: 811a1
Other Open Pull Requests
- Documentation improvements: This pull request enhances the Matplotlib README.md by adding a centered logo and project tagline, introducing modern badges for quick project insights, and organizing project health and community sections under clear headings. It also includes syntax-highlighted installation instructions, improves the Contributing and Contact sections with formatted links, and provides an example visualization preview to make the documentation more visually appealing, structured, and contributor-friendly.
- pull/30662
3.2 Closed Pull Requests
This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Closed This Week: 2
Key Closed Pull Requests
1. Stale action: sort issues by last updated: This pull request improves the stale GitHub action by configuring it to sort issues based on their last updated time rather than processing them from oldest to newest, addressing a problem where the action repeatedly processed the same issues without making effective progress.
- URL: pull/30652
- Merged: Yes
- Associated Commits: 0f60f
2. simplify ContourSet.draw: This pull request simplifies the ContourSet.draw method by leveraging the existing Collection.set_paths functionality to consolidate path setting within the _cm_set context manager, improving code clarity and maintainability.
- URL: pull/30655
- Merged: Yes
- Associated Commits: a72f0
3.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.
If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.
| Contributor | Commits | Pull Requests | Issues | Comments |
|---|---|---|---|---|
| timhoffm | 8 | 4 | 1 | 24 |
| QuLogic | 15 | 5 | 0 | 6 |
| rcomer | 6 | 5 | 2 | 6 |
| melwyncarlo | 8 | 3 | 1 | 5 |
| G26karthik | 16 | 0 | 0 | 0 |
| tacaswell | 2 | 1 | 1 | 11 |
| kdschlosser | 0 | 0 | 1 | 8 |
| ksunden | 8 | 0 | 0 | 0 |
| heinrich5991 | 2 | 1 | 2 | 3 |
| anntzer | 5 | 0 | 0 | 2 |