Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace pylint for flake8 extensions #285

Merged
merged 24 commits into from
Nov 30, 2021
Merged

Replace pylint for flake8 extensions #285

merged 24 commits into from
Nov 30, 2021

Conversation

santisoler
Copy link
Member

@santisoler santisoler commented Nov 19, 2021

Ditch pylint from requirements, remove it configuration file and remove any
# pylint: disable comment on source files. Add a few flake8 extensions to
substitute the good features of pylint. Add isort as dependency and run it
on the make format target. Run isort so the imports statements are
correctly set. Make some small refactors to tackle some complains on the new
flake8 extensions.

Fixes #284

Reminders:

  • Run make format and make check to make sure the code follows the style guide.
  • Add tests for new features or tests that would have caught the bug that you're fixing.
  • Add new public functions/methods/classes to doc/api/index.rst and the base __init__.py file for the package.
  • Write detailed docstrings for all functions/classes/methods. It often helps to design better code if you write the docstrings first.
  • If adding new functionality, add an example to the docstring, gallery, and/or tutorials.
  • Add your full name, affiliation, and ORCID (optional) to the AUTHORS.md file (if you haven't already) in case you'd like to be listed as an author on the Zenodo archive of the next release.

Replace pylint for flake8 extensions on environment.yml and
env/requirements-style.txt.
In numerical computations we usually use single variable names, and
flake8-variables-names complains a lot about them (VNE001) so it would
be better to ignore it.
The VNE003 complains if we are using builtins as variable names, but
this is already covered by flake8-builtins.
The VNE002 doesn't introduce significant importance to our projects, in
fact we might use some of the words they complain about with good
reason.
Its complains are too opinionated. For example it complains when
defining a dictionary with dict(x=x, y=y). Sometimes we like it better
for readability. The same goes for list() and tuple().
@santisoler santisoler marked this pull request as ready for review November 23, 2021 14:22
@santisoler santisoler merged commit ca2b2d5 into master Nov 30, 2021
@santisoler santisoler deleted the flake8-extensions branch November 30, 2021 13:21
leouieda added a commit to fatiando/verde that referenced this pull request Dec 14, 2021
Following fatiando/harmonica#285, replace pylint with a bunch of new flake8
plugins. They cover most of the checks that were performed before, add a few
new ones, and are less troublesome to maintain and silence when necessary.
Fixes the formatting issues raised after applying the changes: making
tutorials/examples fit 79 char comments/docstrings, silence a few issues
because of scikit-learn style code, reorder imports because of isort. I also
combined the CI checks into only 2: "format" and "style". If formatting is
broken, we don't need to know which one is complaining, just run make format.
And style is now only flake8 anyway.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace pylint with flake8 plugins
1 participant