You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The `darglint` project is not maintained anymore, and even when there is
a fork that is trying to keep it alive, it is still extremely slow.
The new project `pydoclint` was created recently but advancing rapidly,
and already in better shape than `darglint` and way faster.
To be able to add ignore comments in the code, `pydoclint` needs to be
run via `flake8`. Because we need to run `flake8` already, and
`pydocstyle` also can run via `flake8`, we are merging both in one
`flake8` call, so we only need to read the files once.
Performance running on the for the SDK `src` directory only:
<table>
<tr>
<td>darling
<td>20s (1x)
<tr>
<td>pydoclint
<td>0.2s (100x)
<tr>
<td>flake8 (basic checks + pydocstyle + pydoclint)
<td>0.6s (33x)
</table>
As a side effect, we are also enabling other base `flake8` checks. There
is probably some overlap with `pylint`, but `flake8` is very fast
anyway, so it shouldn't be noticed (for the SDK, `flake8` basic checks +
`pydocstyle` + `pydoclint` runs in 0.6s and `pylint` alone runs in 15s).
At some point we might want to disable the duplicated checks in `pylint`
to see if it speeds up `pylint`.
This commit also renames the `dev-docstrings` optional dependency to
`dev-flake8` because now is not checking docstrings exclusively.
Copy file name to clipboardExpand all lines: RELEASE_NOTES.md
+15-4Lines changed: 15 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,25 +6,36 @@
6
6
7
7
## Upgrading
8
8
9
-
<!-- Here goes notes on how to upgrade from previous versions, including deprecations and what they should be replaced with -->
9
+
-`flake8` basic checks are enabled now. Most are already covered by `pylint`, but there are a few differences, so you might need to fix your code if `flake8` find some issues.
10
+
11
+
-`darglint` was replaced by `pydoclint`, `pydoclint` can find a few more issues than `darglint`, so your code might need adjusting.
12
+
13
+
-`darglint` is not used anymore, but if it is installed, it will make `flake8` run extremely slowly anyways, so it is extremely recommended to uninstall it (`pip uninstall darglint`) and rebuild you `nox`*venvs* if you use `-R`.
14
+
15
+
- If you are upgrading without regenerating the cookiecutter templates, you'll need to adjust the dependencies accordingly.
10
16
11
17
### Cookiecutter template
12
18
13
-
<!-- Here upgrade steps for cookiecutter specifically -->
19
+
- CI: The `nox` job now uses a matrix to run the different `nox` sessions in parallel. If you use branch projection with the `nox` job you need to update the rules to include each matrix job.
20
+
21
+
- See the general upgrading section.
14
22
15
23
## New Features
16
24
17
-
<!-- Here goes the main new features and examples or instructions on how to use them -->
25
+
-`flake8` is now used to check the files.
18
26
19
-
### Cookiecutter template
27
+
-`darlint` was replaced by `pydoclint`, which is way faster and detect more issues.
20
28
29
+
### Cookiecutter template
21
30
22
31
- Now dependabot updates will be done weekly and grouped by *required* and *optional* for minor and patch updates (major updates are still done individually for each dependency).
23
32
24
33
- ci: Add debug information when installing pip packages.
25
34
26
35
The output of `pip freeze` is printed to be able to more easily debug different behaviours between GitHub workflow runs and local runs.
27
36
37
+
- See the general new features section.
38
+
28
39
## Bug Fixes
29
40
30
41
<!-- Here goes notable bug fixes that are worth a special mention or explanation -->
0 commit comments