Skip to main content

flake8_qgis

CI Code on Github Code style: black Imports: isort pre-commit

A flake8 plugin for QGIS3 python plugins written in Python.

Made with Cookiecutter template cookiecutter-flake8-plugin. Inspired by flake8-simplify.

Installation

Install with pip:

pip install flake8-qgis

Usage

Just call flake8 . in your package or flake your.py.

Rules

  • QGS101: Don't use from-imports from qgis projected members (example)
  • QGS102: Don't use imports from qgis projected members (example)
  • QGS103: Don't use from-imports from PyQt directly (example)
  • QGS104: Don't use imports from PyQt directly (example)
  • QGS105: Don't pass QgisInterface as an argument (example)

You might have good reasons to ignore some rules. To do that, use the standard Flake8 configuration. For example, within the setup.cfg file:

[flake8]
ignore = QGS101, QGS102

Examples

QGS101

# Bad
from qgs._core import QgsMapLayer, QgsVectorLayer

# Good
from qgs.core import QgsMapLayer, QgsVectorLayer

QGS102

# Bad
import qgs._core.QgsVectorLayer as QgsVectorLayer

# Good
import qgs.core.QgsVectorLayer as QgsVectorLayer

QGS103

# Bad
from PyQt5.QtCore import pyqtSignal

# Good
from qgis.PyQt.QtCore import pyqtSignal

QGS104

# Bad
import PyQt5.QtCore.pyqtSignal as pyqtSignal

# Good
import qgis.PyQt.QtCore.pyqtSignal as pyqtSignal

QGS105

# Bad: iface passed as argument
def some_function(somearg, iface):
    # do something with iface


# Good
from qgis.utils import iface
def some_function(somearg):
    # iface imported

Metadata

Release files for flake8-qgis 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flake8-qgis 0.1.1
File Size Uploaded
flake8_qgis-0.1.1.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flake8-qgis 0.1.1
File Interpreter ABI Platform
flake8_qgis-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 10.4 kB

Release files / flake8_qgis-0.1.1.tar.gz

Download URL flake8_qgis-0.1.1.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
cb24f4b18f220f21d39cf40257bfaf5538e82700813531e68b0b023ab3ff06cc
BLAKE2b-256 checksum
How to use checksums
ebd079c3deb5b2945c77d5d80a1ee256c466bc13ae13153a5b011116ec8e7979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

Release files / flake8_qgis-0.1.1-py3-none-any.whl

Download URL flake8_qgis-0.1.1-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13c675e790b6ca9ab12a89b66bbf243df3a9b6c2533b416c9286733f1c0cfcaf
BLAKE2b-256 checksum
How to use checksums
9ff49c668b84aad6832c0a981f93328dfad0762e4dbf7df3dfc3ac23ab013308
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

Release history Release notifications | RSS feed

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page