Flake8 Extension to lint for a method newline after a Class definition
===========================================
.. image:: https://travis-ci.org/AlexvEck/flake8-class-newline.svg?branch=master
:target: https://travis-ci.org/AlexvEck/flake8-class-newline
:alt: Build Status
Usage
-----
If you are using flake8, you can install this package through pip.
.. code:: shell
pip install flake8-class-newline
This plugin is then automatically triggered when you run;
.. code:: shell
flake8
It produces only 1 error type; "CNL100: Class definition does not have a new line."
NOTE; Documentation blocks (or docblocks) should be on the newline, they are therefore ignored by this plugin. See https://www.python.org/dev/peps/pep-0008/#documentation-strings
Example
-----
PEP8 says we should surround every class method with a single blank line. See https://www.python.org/dev/peps/pep-0008/#blank-lines
However flake8 is ambiguous about the first method having a blank line above it.
Basically;
.. code:: python
class AClassWithoutANewLine(object):
def a_method(self):
return 'a_value'
class AClassWithoutANewLineProperty(object):
@property
def a_method(self):
return 'a_value'
or
.. code:: python
class AClassWithANewLine(object):
def a_method(self):
return 'a_value'
class AClassWithANewLineProperty(object):
@property
def a_method(self):
return 'a_value'
This plugin was made to enforce the latter.
NOTE; properties of a class do not need a surrounding blank line, only methods.
Special Notice
-----
This package was inspired by flake8-quotes created by @zheller.
Thanks for the inspiration!
===========================================
.. image:: https://travis-ci.org/AlexvEck/flake8-class-newline.svg?branch=master
:target: https://travis-ci.org/AlexvEck/flake8-class-newline
:alt: Build Status
Usage
-----
If you are using flake8, you can install this package through pip.
.. code:: shell
pip install flake8-class-newline
This plugin is then automatically triggered when you run;
.. code:: shell
flake8
It produces only 1 error type; "CNL100: Class definition does not have a new line."
NOTE; Documentation blocks (or docblocks) should be on the newline, they are therefore ignored by this plugin. See https://www.python.org/dev/peps/pep-0008/#documentation-strings
Example
-----
PEP8 says we should surround every class method with a single blank line. See https://www.python.org/dev/peps/pep-0008/#blank-lines
However flake8 is ambiguous about the first method having a blank line above it.
Basically;
.. code:: python
class AClassWithoutANewLine(object):
def a_method(self):
return 'a_value'
class AClassWithoutANewLineProperty(object):
@property
def a_method(self):
return 'a_value'
or
.. code:: python
class AClassWithANewLine(object):
def a_method(self):
return 'a_value'
class AClassWithANewLineProperty(object):
@property
def a_method(self):
return 'a_value'
This plugin was made to enforce the latter.
NOTE; properties of a class do not need a surrounding blank line, only methods.
Special Notice
-----
This package was inspired by flake8-quotes created by @zheller.
Thanks for the inspiration!
Release files for flake8-class-newline 1.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flake8-class-newline-1.5.1.tar.gz | 4.3 kB | Details |
Release files / flake8-class-newline-1.5.1.tar.gz
| Download URL | flake8-class-newline-1.5.1.tar.gz |
|---|---|
| Size | 4.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
288aaca731e30472c167777a6d116372e32dd42c23d76a077805291639c6ca35
|
|
BLAKE2b-256 checksum How to use checksums |
0147f0bb6090f013e6369d30a2f998f3ab3c76972acb912f88caedff0b6411f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |