Skip to content

[Draft] The PyTorch Contribution Process

Suraj Subramanian edited this page Jul 24, 2023 · 1 revision

This page describes processes for contributing directly to PyTorch. See also CONTRIBUTING.md and the Contribution Guide, but note this page is more up-to-date than those documents.

Reporting bugs and requesting features

Bug reports and feature requests are an invaluable to the PyTorch Community. They should be made using issues on PyTorch's GitHub page. Issues are the principal mechanism for the PyTorch community to review proposals and coordinate work. New issues are examined and triaged daily, and usually the relevant area maintainers are cc'd on a new issue to review it. When reviewing an issue, area maintainers should indicate if they would accept a PR fixing the issue or not, or if the issue requires additional discussion.

Before creating an issue you are encouraged to search PyTorch's existing issues. If your issue already exists then please comment there. This helps us understand that multiple members of the community are suffering the same bug or have the same feature request.

Creating pull requests

See also Contributing to PyTorch and The PyTorch Contribution Process.

To contribute directly to PyTorch create a pull request. Like issues, new pull requests are examined daily and will have an appropriate reviewer or reviewers assigned. All but the most trivial pull requests should address an existing issue, and the area maintainers for that issue usually must indicate a willingness to see it addressed. Some pull requests, like minor doc changes, are too trivial to be considered and will be closed (see this section of the Developer FAQ).

Getting a contribution accepted to PyTorch can be a challenging process. PyTorch has many interconnected components and a high quality bar for all submissions. Area maintainers are often busy, too, and a PR review may not fit their schedule. Still, if you have an active PR you are encouraged to ping its reviewers once every two business days if you have a question or need a review. Area maintainers receive so many notifications that this is sometimes the only way of obtaining their attention. See this section of the Developer FAQ.

Once a PR has been accepted it will be merged by one of the reviewers. Like with reviews, if this process does not occur promptly please ping your reviewer(s).

Resources for learning how to contribute to PyTorch

The best resources for learning how to contribute to PyTorch are on this wiki. Start with the Onboarding Guide.

Joining the Developer Community

If you're making one or more significant contributions to PyTorch you may wish to join the developer community. The best way to do this is by asking your reviewers for an invite to the PyTorch Slack community after one of your PRs is accepted. You may also want to ask your reviewers to point you towards additional issues in areas you're interested in.

Contributing FAQ

Do I have to ask before working on an issue?

Absolutely not. Nor do we "lock" issues and only allow a single person to work on them. Even if an issue is assigned you are free to work on it and submit a pull request for it. If there are multiple pull requests addressing the same issue then the one that is the highest quality (or that came first, if multiple have the same quality) will be accepted.

Clone this wiki locally