@@ -43,7 +43,7 @@ in whatever location you prefer. Any Python interpreter 3.6+ *should* work fine.
4343I prefer to use ` virtualenv ` and create in ` ./env ` :
4444
4545```
46- $ python3.9 -m virtualenv env --prompt="( sphobjinv) "
46+ $ python3.10 -m virtualenv env --prompt="sphobjinv"
4747```
4848
4949Activate the environment:
@@ -63,6 +63,12 @@ The next step is to upgrade/install the development requirements:
6363(sphobjinv) $ pip install -r requirements-dev.txt
6464```
6565
66+ Then, install the pre-commit hooks:
67+
68+ ```
69+ (sphobjinv) $ pre-commit install
70+ ```
71+
6672Finally, you'll need to build the Sphinx docs,
6773as some of the tests interact with them:
6874
@@ -84,21 +90,21 @@ $ git checkout -b description-of-change
8490```
8591
8692This makes it a lot simpler to get your repo fork up to date
87- after ` master ` receives further commits.
93+ after ` main ` receives further commits.
8894
89- To bring your fork's ` master ` up to date, you first need to
95+ To bring your fork's ` main ` up to date, you first need to
9096add the main repo as a new git remote (one-time task):
9197
9298```
9399$ git remote add upstream https://github.com/bskinn/sphobjinv
94100```
95101
96- Then, any time you need to refresh the fork's master :
102+ Then, any time you need to refresh the fork's ` main ` :
97103
98104```
99105$ git fetch --all
100- $ git checkout master
101- $ git merge upstream/master # (should merge without incident)
106+ $ git checkout main
107+ $ git merge upstream/main # (should merge without incident)
102108$ git push # (should push to your fork without incident)
103109```
104110
@@ -128,6 +134,9 @@ please go beyond this and add tests that check potential edge cases,
128134bad/malformed/invalid inputs, etc. For bugfixes, add one or more
129135focused regression tests that cover the bug behavior being fixed.
130136
137+ PRs that add [ xfail tests for existing bugs] ( https://blog.ganssle.io/articles/2021/11/pytest-xfail.html )
138+ are also welcomed.
139+
131140There are some situations where it may make sense to use a
132141` # pragma: no cover ` to ignore coverage on certain line(s) of code.
133142Please start a discussion in the issue or PR comments before
@@ -138,7 +147,7 @@ configured for the project, it is **not** set up to be an everyday test runner.
138147Instead, it's used to execute a matrix of test environments
139148checking for the compatibility of different Python and dependency
140149versions. You can run it if you want, but you'll need
141- working versions of all of Python 3.6 through 3.10
150+ working versions of all of Python 3.6 through 3.11
142151installed and on ` PATH ` as ` python3.6 ` , ` python3.7 ` , etc.
143152The nonlocal test suite is run for each ` tox ` environment, so
144153it's best to use at most two parallel sub-processes to avoid oversaturating
@@ -159,7 +168,7 @@ To run the lints locally, it's easiest to use `tox`:
159168$ tox -e flake8
160169```
161170
162- In some limited circumstances, it may be necessary to add
171+ In some limited circumstances, it may be necessary to add
163172[ ` # noqa ` ] ( https://flake8.pycqa.org/en/stable/user/violations.html#in-line-ignoring-errors )
164173or [ ` per_file_ignores ` ] ( https://flake8.pycqa.org/en/stable/user/options.html#cmdoption-flake8-per-file-ignores )
165174exclusions to the ` flake8 ` lints.
@@ -239,20 +248,20 @@ and the link validity checker with `make linkcheck`.
239248Both Github Actions and Azure Pipelines are set up for the project,
240249and should run on any forks of the repository.
241250
242- Github Actions runs the test suite on Linux for Python 3.6 through 3.9 ,
251+ Github Actions runs the test suite on Linux for Python 3.6 through 3.10 ,
243252as well as the ` flake8 ` lints and the Sphinx doctests and link-validity testing,
244253and is configured to run on all commits. The workflow can be skipped
245254per-commit by including ` [skip ci] ` in the commit message.
246255
247256The Azure Pipelines CI runs an extensive matrix of cross-platform and
248257cross-Python-version tests, as well as numerous other checks.
249258Due to its length, it is configured to run only on release branches
250- and PRs to ` master ` or ` stable ` . It cannot be skipped.
259+ and PRs to ` main ` or ` stable ` . It cannot be skipped.
251260
252261
253262## CHANGELOG
254263
255- The project [ ` CHANGELOG ` ] ( https://github.com/bskinn/sphobjinv/blob/master /CHANGELOG.md )
264+ The project [ ` CHANGELOG ` ] ( https://github.com/bskinn/sphobjinv/blob/main /CHANGELOG.md )
256265should be updated for the majority of contributions. No tooling is in place
257266(e.g., [ ` towncrier ` ] ( https://github.com/twisted/towncrier ) ) for automated collation
258267of news items into ` CHANGELOG ` ;
@@ -278,4 +287,3 @@ you want to create, though, then don't use them.
278287## License
279288
280289All contributions will take on the MIT License of the project at large.
281-
0 commit comments