X Tutup
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/good-first-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
### Good first issue - notes for new contributors

This issue is suited to new contributors because it does not require
understanding of the Matplotlib internals. This is a low priority task
understanding of the Matplotlib internals. This is a non-urgent task
intended for human contributors to learn how to contribute; therefore please
do not try to automate a solution using AI. To get started, please see our
[contributing guide](https://matplotlib.org/stable/devel/index).
Expand Down
41 changes: 24 additions & 17 deletions doc/devel/contribute.rst
Original file line number Diff line number Diff line change
Expand Up @@ -260,23 +260,14 @@ To join, please go to our public `community gitter`_ channel, and ask to be adde
Good first issues
-----------------

While any contributions are welcome, we have marked some issues as
particularly suited for new contributors by the label `good first issue
<https://github.com/matplotlib/matplotlib/labels/good%20first%20issue>`_. These
are well documented issues, that do not require a deep understanding of the
internals of Matplotlib. The issues may additionally be tagged with a
difficulty. ``Difficulty: Easy`` is suited for people with little Python
experience. ``Difficulty: Medium`` and ``Difficulty: Hard`` require more
programming experience. This could be for a variety of reasons, among them,
though not necessarily all at the same time:

- The issue is in areas of the code base which have more interdependencies,
or legacy code.
- It has less clearly defined tasks, which require some independent
exploration, making suggestions, or follow-up discussions to clarify a good
path to resolve the issue.
Comment on lines -275 to -277
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I deleted this b/c I think this means there's not enough info yet to evaluate difficulty and the issue needs more triage:

graph TD;
    A(is the issue) -->unresolvable-->C(explain why <br /> technically infeasible <br /> or not aligned with <br /> values/mission/scope/etc);
    A-->resolved--> B(explain why, <br /> link to docs, API, etc) ;
    A-->resolvable-->D(work w/ issue author <br /> on an implementable <br /> code/docs solution)
   A-->E(not sure)-->F(ask for more information) -->A;
Loading

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is in the same vein as the proposed "not ready for contribution" label @melissawm proposed in #31142 (comment)

- It involves Python features such as decorators and context managers, which
have subtleties due to our implementation decisions.
We have marked some issues as `good first issue
<https://github.com/matplotlib/matplotlib/labels/good%20first%20issue>`_ because we
think they are a good entry point into the process of contributing to Matplotlib. These
issues are well documented, do not require a deep understanding of the internals of
Matplotlib, and do not need urgent resolution. Good first issues are intended to onboard
newcomers with a genuine interest in improving Matplotlib, in the hopes that they will
continue to participate in our development community; therefore, pull requests that are
:ref:`AI generated <generative_ai>` will be closed.

.. _first_contribution:

Expand Down Expand Up @@ -334,6 +325,22 @@ a new PR; duplicate PRs are subject to being closed. However, if the existing
PR is an outline, unlikely to work, or stalled, and the original author is
unresponsive, feel free to open a new PR referencing the old one.

Difficulty
----------
Issues may additionally be tagged with a difficulty. ``Difficulty: Easy`` is suitable
for people with beginner scientific Python experience, i.e. fluency with Python syntax
and some experience using libraries like Numpy, Pandas, or Xarray. ``Difficulty: Medium``
and ``Difficulty: Hard`` require more programming experience. This could be for a variety
of reasons, for example:

- requires understanding intermediate to advanced Python features, such as decorators,
context managers, or meta-programming
- is in areas of the code base which have more interdependencies or is legacy code.
- involves complex or significant changes to algorithms or architecture.

Generally, the difficulty level is correlated with how much conceptual (and contextual)
understanding of Matplotlib is required to resolve it.

.. _how-to-pull-request:

Start a pull request
Expand Down
Loading
X Tutup