Skip to content

Commit ec867b2

Browse files
svekarsalbanDmalfet
authored
Create tutorial_submission_policy.md (#2995)
- Add a policy for new tutorials submissions --------- Co-authored-by: albanD <[email protected]> Co-authored-by: Nikita Shulga <[email protected]>
1 parent ea2dfc6 commit ec867b2

File tree

2 files changed

+109
-0
lines changed

2 files changed

+109
-0
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ We use sphinx-gallery's [notebook styled examples](https://sphinx-gallery.github
2222

2323
Here is how you can create a new tutorial (for a detailed description, see [CONTRIBUTING.md](./CONTRIBUTING.md)):
2424

25+
NOTE: Before submitting a new tutorial, read [PyTorch Tutorial Submission Policy](./tutorial_submission_policy.md).
26+
2527
1. Create a Python file. If you want it executed while inserted into documentation, save the file with the suffix `tutorial` so that the file name is `your_tutorial.py`.
2628
2. Put it in one of the `beginner_source`, `intermediate_source`, `advanced_source` directory based on the level of difficulty. If it is a recipe, add it to `recipes_source`. For tutorials demonstrating unstable prototype features, add to the `prototype_source`.
2729
3. For Tutorials (except if it is a prototype feature), include it in the `toctree` directive and create a `customcarditem` in [index.rst](./index.rst).

tutorial_submission_policy.md

+107
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# PyTorch Tutorial Submission Policy
2+
3+
This policy outlines the criteria and process for submitting new
4+
tutorials to the PyTorch community.
5+
Our goal is to ensure that all tutorials are of high quality,
6+
relevant, and up-to-date, supporting both the growth of the PyTorch
7+
users and the evolution of the PyTorch framework itself. By following
8+
these guidelines, contributors can help us maintain a robust and
9+
informative educational environment.
10+
11+
## Acceptance Criteria For New Tutorials
12+
13+
We accept new tutorials that adhere to one of the following use cases:
14+
15+
* **Demonstrate New PyTorch Features:** Tutorials that support new features
16+
for upcoming PyTorch releases are typically authored by the engineers who
17+
are developing these features. These tutorials are crucial for showcasing
18+
the latest advancements in PyTorch. We typically do not require more than
19+
one tutorial per feature.
20+
21+
* **Tutorials showcasing PyTorch usage with other tools and libraries:** We
22+
accept community-contributed tutorials that illustrate innovative uses of
23+
PyTorch alongside other open-source projects, models, and tools. Please
24+
ensure that your tutorial remains neutral and does not promote or endorse
25+
proprietary technologies over others.
26+
27+
The first use case does not require going through the submission
28+
process outlined below. If your tutorial falls under the second category,
29+
please read and follow the instructions in the
30+
**Submission Process For Community-Contributed Tutorials** section.
31+
32+
## Submission Process For Community-Contributed Tutorials
33+
34+
To maintain the quality and relevance of tutorials, we request that
35+
community-contributed tutorials undergo a review process. If you are
36+
interested in contributing a tutorial, please follow these steps:
37+
38+
1. **Create an issue:**
39+
* Open an issue in the pytorch/tutorials repository proposing the
40+
new tutorial. Clearly explain the importance of the tutorial and
41+
confirm that there is no existing tutorial covering the same or
42+
similar topic. A tutorial should not disproportionately endorse
43+
one technology over another. Please consult with Core Maintainers
44+
to ensure your content adheres to these guidelines.
45+
Use the provided [ISSUE_TEMPLATE](https://github.com/pytorch/tutorials/blob/main/.github/ISSUE_TEMPLATE/feature-request.yml) for the new tutorial request - select **Feature request** when submitting an issue.
46+
47+
* If there is an existing tutorial on the topic that you would
48+
like to significantly refactor, you can submit a PR. In the
49+
description of the PR, explain why the changes are needed and
50+
how they improve the tutorial.
51+
52+
* These issues will be triaged by PyTorch maintainers on a case-by-case basis.
53+
* Link any supporting materials including discussions in other repositories.
54+
55+
1. **Await Approval:**
56+
* Wait for a response from the PyTorch Tutorials maintainers. A PyTorch
57+
tutorial maintainer will review your proposal and
58+
determine whether a tutorial on the proposed topic is desirable.
59+
A comment and an **approved** label will be added to your issue
60+
by a maintainer. The review process for new tutorial PRs submitted
61+
without the corresponding issue may take longer.
62+
63+
1. **Adhere to writing and styling guidelines:**
64+
* Once approved, follow the guidelines outlined in [CONTRIBUTING.md](https://github.com/pytorch/tutorials/blob/main/CONTRIBUTING.md)
65+
and use the provided [template](https://github.com/pytorch/tutorials/blob/main/beginner_source/template_tutorial.py) for creating your tutorial.
66+
* Link the issue in which you received approval for your tutorial
67+
in the PR.
68+
* We accept tutorials in both ``.rst`` (ReStructuredText) and ``.py``
69+
(Python) formats. However, unless your tutorial involves using
70+
multiple GPU, parallel/distributed training, or requires extended
71+
execution time (25 minutes or more), we prefer submissions
72+
in Python file format.
73+
74+
## Maintaining Tutorials
75+
76+
When you submit a new tutorial, we encourage you to keep it in sync
77+
with the latest PyTorch updates and features. Additionally, we may
78+
contact you to review any PRs, issues, and other related matters to
79+
ensure the tutorial remains a valuable resource.
80+
81+
Please note the following:
82+
83+
* If a tutorial breaks against the main branch, it will
84+
be excluded from the build and an issue will be filed against it,
85+
with the author/maintainer notified. If the issue is not resolved
86+
within 90 days, the tutorial might be deleted from the repository.
87+
88+
* We recommend that each tutorial is reviewed at least once a year to
89+
ensure its relevance.
90+
91+
## Deleting Stale Tutorials
92+
93+
A tutorial might be considered stale when it no longer aligns with
94+
the latest PyTorch updates, features, or best practices or best
95+
practices:
96+
97+
* The tutorial is no longer functional due to changes in PyTorch or
98+
its dependencies
99+
* The tutorial has been superseded by a newer, more comprehensive, or
100+
more accurate tutorial
101+
* The tutorial does not run successfully in the (CI), indicating
102+
potential compatibility or dependency issues.
103+
104+
If a tutorial is deemed stale, we will attempt to contact the code owner,
105+
or someone from the tutorial mainatainers might attempt to update it.
106+
However, if despite those attempts we fail to fix it, the tutorial
107+
might be removed from the repository.

0 commit comments

Comments
 (0)