[GRASS-dev] Use # %, not #% in Python scripts

Vaclav Petras wenzeslaus at gmail.com
Thu Feb 4 20:14:03 PST 2021


Dear all,

I prepared a change to g.parser and related code which changes the option
definitions in scripts (aka script header) from:

#%option
#% key
#%end

to:

# %option
# % key
# %end

The reason is PEP8 compliance where "each line of a block comment starts
with a # and a single space" [2].

The PR is removing all use of #% from the code, but it is still allowed, so
addons and existing user code should continue to work. However, I don't see
a need to depreciate support of #% at this point.

This change moves us a little closer to PEP8 or Flake8 compliance. We can
now enable the check in CI once the normal comments are fixed. (The file
header comment is ignored, so no need to change that, but we can consider
that anyway.)

The vision is that users and contributors can write scripts which just work
with more or less default Flake8 settings. This is a big step towards that
because it removes tens of warnings for a standard module.

Vaclav

[1] https://github.com/OSGeo/grass/pull/1287
[2] https://www.python.org/dev/peps/pep-0008/#block-comments
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20210204/48b5d739/attachment-0001.html>


More information about the grass-dev mailing list