]> git.openstreetmap.org Git - nominatim.git/commitdiff
replace pylint with flake8 everywhere
authorSarah Hoffmann <lonvia@denofr.de>
Sun, 10 Nov 2024 22:14:09 +0000 (23:14 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Sun, 10 Nov 2024 22:14:09 +0000 (23:14 +0100)
.flake8 [new file with mode: 0644]
.github/workflows/ci-tests.yml
CONTRIBUTING.md
Makefile
docs/develop/Development-Environment.md

diff --git a/.flake8 b/.flake8
new file mode 100644 (file)
index 0000000..82d77ed
--- /dev/null
+++ b/.flake8
@@ -0,0 +1,8 @@
+[flake8]
+max-line-length = 100
+max-doc-length = 100
+extend-ignore =
+    # something == None constructs are needed for SQLAlchemy
+    E711
+per-file-ignores =
+    __init__.py: F401
index 1b81f4f26d3568dfa01d384afa0798584a9ec698..fb664d9917411eab4839e74d23676b008c929e3c 100644 (file)
@@ -103,12 +103,12 @@ jobs:
             - name: Install Python webservers
               run: pip3 install falcon starlette asgi_lifespan
 
             - name: Install Python webservers
               run: pip3 install falcon starlette asgi_lifespan
 
-            - name: Install latest pylint
-              run: pip3 install -U pylint
+            - name: Install latest flake8
+              run: pip3 install -U flake8
               if: matrix.flavour == 'ubuntu-22'
 
             - name: Python linting
               if: matrix.flavour == 'ubuntu-22'
 
             - name: Python linting
-              run: python3 -m pylint src
+              run: python3 -m flake8 src
               working-directory: Nominatim
               if: matrix.flavour == 'ubuntu-22'
 
               working-directory: Nominatim
               if: matrix.flavour == 'ubuntu-22'
 
index 7da4d7d06bb4957bee81982fd8a413b6b4567774..78c4dd67e1260cbec4159b868ea6e6d3cdb31b90 100644 (file)
@@ -60,10 +60,10 @@ are in process of consolidating the style. The following rules apply:
    * leave out space between a function name and bracket
      but add one between control statement(if, while, etc.) and bracket
 
    * leave out space between a function name and bracket
      but add one between control statement(if, while, etc.) and bracket
 
-The coding style is enforced with pylint. It can be tested with:
+The coding style is enforced with flake8. It can be tested with:
 
 ```
 
 ```
-pylint3 --extension-pkg-whitelist=osmium nominatim
+make lint
 ```
 
 ## Testing
 ```
 
 ## Testing
index 421b671a1cdd50506298f71bfc1c2373a5f828cd..9e914850b783400e9f2c1d0b6c6d9548b3678c14 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@ pytest:
        pytest test/python
 
 lint:
        pytest test/python
 
 lint:
-       pylint src
+       flake8 src
 
 bdd:
        cd test/bdd; behave -DREMOVE_TEMPLATE=1
 
 bdd:
        cd test/bdd; behave -DREMOVE_TEMPLATE=1
index 441556ff206db92d69f38e929f94ad1555d2f193..a6558c7d04f1150df197dd2e8fd9176ca3906120 100644 (file)
@@ -29,7 +29,7 @@ The Nominatim test suite consists of behavioural tests (using behave) and
 unit tests (using pytest). It has the following additional requirements:
 
 * [behave test framework](https://behave.readthedocs.io) >= 1.2.6
 unit tests (using pytest). It has the following additional requirements:
 
 * [behave test framework](https://behave.readthedocs.io) >= 1.2.6
-* [Pylint](https://pylint.org/) (CI always runs the latest version from pip)
+* [flake8](https://flake8.pycqa.org/en/stable/) (CI always runs the latest version from pip)
 * [mypy](http://mypy-lang.org/) (plus typing information for external libs)
 * [Python Typing Extensions](https://github.com/python/typing_extensions) (for Python < 3.9)
 * [pytest](https://pytest.org)
 * [mypy](http://mypy-lang.org/) (plus typing information for external libs)
 * [Python Typing Extensions](https://github.com/python/typing_extensions) (for Python < 3.9)
 * [pytest](https://pytest.org)
@@ -55,7 +55,6 @@ the vendored version of osm2pgsql, you need to set the PATH accordingly.
 ### Installing prerequisites on Ubuntu/Debian
 
 The Python tools should always be run with the most recent version.
 ### Installing prerequisites on Ubuntu/Debian
 
 The Python tools should always be run with the most recent version.
-In particular, pylint tends to have a lot of breaking changes between versions.
 The easiest way, to handle these Python dependencies is to run your
 development from within a virtual environment.
 
 The easiest way, to handle these Python dependencies is to run your
 development from within a virtual environment.
 
@@ -70,7 +69,7 @@ virtualenv ~/nominatim-dev-venv
 ~/nominatim-dev-venv/bin/pip install\
     psutil psycopg[binary] PyICU SQLAlchemy \
     python-dotenv jinja2 pyYAML datrie behave \
 ~/nominatim-dev-venv/bin/pip install\
     psutil psycopg[binary] PyICU SQLAlchemy \
     python-dotenv jinja2 pyYAML datrie behave \
-    mkdocs mkdocstrings mkdocs-gen-files pytest pytest-asyncio pylint \
+    mkdocs mkdocstrings mkdocs-gen-files pytest pytest-asyncio flake8 \
     types-jinja2 types-markupsafe types-psutil types-psycopg2 \
     types-pygments types-pyyaml types-requests types-ujson \
     types-urllib3 typing-extensions unicorn falcon starlette \
     types-jinja2 types-markupsafe types-psutil types-psycopg2 \
     types-pygments types-pyyaml types-requests types-ujson \
     types-urllib3 typing-extensions unicorn falcon starlette \