@@ -5,10 +5,10 @@ Getting started
5
5
---------------
6
6
7
7
8
- ``tox `` is a volunteer maintained open source project and we welcome contributions of all forms. The sections
9
- below will help you get started with development, testing, and documentation. We’re pleased that you are interested in
10
- working on tox. This document is meant to get you setup to work on tox and to act as a guide and reference
11
- to the development setup. If you face any issues during this process, please
8
+ ``tox `` is a volunteer maintained open source project and we welcome contributions of all forms. The sections below will
9
+ help you get started with development, testing, and documentation. We’re pleased that you are interested in working on
10
+ tox. This document is meant to get you setup to work on tox and to act as a guide and reference to the development
11
+ setup. If you face any issues during this process, please
12
12
:issue: `new?title=Trouble+with+development+environment ` about it on the issue tracker.
13
13
14
14
Setup
@@ -44,8 +44,8 @@ The easiest way to do this is to generate the development tox environment, and t
44
44
Running tests
45
45
~~~~~~~~~~~~~
46
46
47
- tox's tests are written using the :pypi: `pytest ` test framework. :pypi: `tox ` is used to automate the setup
48
- and execution of tox's tests.
47
+ tox's tests are written using the :pypi: `pytest ` test framework. :pypi: `tox ` is used to automate the setup and execution
48
+ of tox's tests.
49
49
50
50
To run tests locally execute:
51
51
@@ -56,10 +56,9 @@ To run tests locally execute:
56
56
This will run the test suite for the same Python version as under which ``tox `` is installed. Alternatively you can
57
57
specify a specific version of Python by using the ``pyNN `` format, such as: ``py38 ``, ``pypy3 ``, etc.
58
58
59
- ``tox `` has been configured to forward any additional arguments it is given to ``pytest ``.
60
- This enables the use of pytest's
61
- `rich CLI <https://docs.pytest.org/en/latest/how-to/usage.html#specifying-which-tests-to-run >`_. As an example, you can
62
- select tests using the various ways that pytest provides:
59
+ ``tox `` has been configured to forward any additional arguments it is given to ``pytest ``. This enables the use of
60
+ pytest's `rich CLI <https://docs.pytest.org/en/latest/how-to/usage.html#specifying-which-tests-to-run >`_. As an example,
61
+ you can select tests using the various ways that pytest provides:
63
62
64
63
.. code-block :: shell
65
64
@@ -69,8 +68,8 @@ select tests using the various ways that pytest provides:
69
68
tox -e py -- -k " test_extra"
70
69
71
70
Some tests require additional dependencies to be run, such is the various shell activators (``bash ``, ``fish ``,
72
- ``powershell ``, etc). The tests will be skipped automatically if the dependencies are not present. Please note however that in CI
73
- all tests are run; so even if all tests succeed locally for you, they may still fail in the CI.
71
+ ``powershell ``, etc). The tests will be skipped automatically if the dependencies are not present. Please note however
72
+ that in CI all tests are run; so even if all tests succeed locally for you, they may still fail in the CI.
74
73
75
74
Running linters
76
75
~~~~~~~~~~~~~~~
@@ -128,11 +127,10 @@ Contributing
128
127
Submitting pull requests
129
128
~~~~~~~~~~~~~~~~~~~~~~~~
130
129
131
- Submit pull requests (PRs) against the ``main `` branch, providing a good description of what you're doing and why. You must
132
- have legal permission to distribute any code you contribute to tox and it must be available under the MIT
133
- License. Provide tests that cover your changes and run the tests locally first. tox
134
- :ref: `supports <compatibility-requirements >` multiple Python versions and operating systems. Any pull request must
135
- consider and work on all these platforms.
130
+ Submit pull requests (PRs) against the ``main `` branch, providing a good description of what you're doing and why. You
131
+ must have legal permission to distribute any code you contribute to tox and it must be available under the MIT License.
132
+ Provide tests that cover your changes and run the tests locally first. tox :ref: `supports <compatibility-requirements >`
133
+ multiple Python versions and operating systems. Any pull request must consider and work on all these platforms.
136
134
137
135
Pull requests should be small to facilitate review. Keep them self-contained, and limited in scope. `Studies have shown
138
136
<https://www.kessler.de/prd/smartbear/BestPracticesForPeerCodeReview.pdf> `_ that review quality falls off as patch size
@@ -158,10 +156,10 @@ pull request. If needed, project maintainers can manually trigger a restart of a
158
156
Changelog entries
159
157
~~~~~~~~~~~~~~~~~
160
158
161
- The ``changelog.rst `` file is managed using :pypi: `towncrier ` and all changes must be accompanied by a
162
- changelog entry. To add an entry to the changelog, first you need to have created an issue describing the
163
- change you want to make. A pull request itself *may * function as such, but it is preferred to have a dedicated issue
164
- (for example, in case the PR ends up rejected due to code quality reasons).
159
+ The ``changelog.rst `` file is managed using :pypi: `towncrier ` and all changes must be accompanied by a changelog entry.
160
+ To add an entry to the changelog, first you need to have created an issue describing the change you want to make. A pull
161
+ request itself *may * function as such, but it is preferred to have a dedicated issue (for example, in case the PR ends
162
+ up rejected due to code quality reasons).
165
163
166
164
There is no need to create an issue for trivial changes, e.g. for typo fixes.
167
165
@@ -184,30 +182,30 @@ Contents of a changelog entry
184
182
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
185
183
186
184
The content of this file is reStructuredText formatted text that will be used as the content of the changelog entry.
187
- You do not need to reference the issue or PR numbers here as towncrier will automatically add a reference to all of
188
- the affected issues when rendering the changelog.
185
+ You do not need to reference the issue or PR numbers here as towncrier will automatically add a reference to all of the
186
+ affected issues when rendering the changelog.
189
187
190
188
In order to maintain a consistent style in the ``changelog.rst `` file, it is preferred to keep the entries to the
191
189
point, in sentence case, shorter than 120 characters and in an imperative tone -- an entry should complete the sentence
192
190
``This change will … ``. In rare cases, where one line is not enough, use a summary line in an imperative tone followed
193
- by a blank line separating it from a description of the feature/change in one or more paragraphs, each wrapped
194
- at 120 characters. Remember that a changelog entry is meant for end users and should only contain details relevant to an
195
- end user.
191
+ by a blank line separating it from a description of the feature/change in one or more paragraphs, each wrapped at 120
192
+ characters. Remember that a changelog entry is meant for end users and should only contain details relevant to an end
193
+ user.
196
194
197
195
198
196
Becoming a maintainer
199
197
~~~~~~~~~~~~~~~~~~~~~
200
198
201
199
If you want to become an official maintainer, start by helping out. As a first step, we welcome you to triage issues on
202
- tox's issue tracker. tox maintainers provide triage abilities to contributors once they have been around
203
- for some time and contributed positively to the project. This is optional and highly recommended for becoming a
204
- tox maintainer. Later, when you think you're ready, get in touch with one of the maintainers and they will
205
- initiate a vote among the existing maintainers.
200
+ tox's issue tracker. tox maintainers provide triage abilities to contributors once they have been around for some time
201
+ and contributed positively to the project. This is optional and highly recommended for becoming a tox maintainer. Later,
202
+ when you think you're ready, get in touch with one of the maintainers and they will initiate a vote among the existing
203
+ maintainers.
206
204
207
205
.. note ::
208
206
209
- Upon becoming a maintainer, a person should be given access to various tox-related tooling across
210
- multiple platforms. These are noted here for future reference by the maintainers:
207
+ Upon becoming a maintainer, a person should be given access to various tox-related tooling across multiple
208
+ platforms. These are noted here for future reference by the maintainers:
211
209
212
210
- GitHub Push Access (provides also CI administration capabilities)
213
211
- PyPI Publishing Access
0 commit comments