summaryrefslogblamecommitdiff
path: root/.flake8
blob: a4c8aa2fbcdc814aef937afd8c932c23b000edf0 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
              
                                       
 
                                                                        
                                                
 
                 
                                                                      

                
                                         

                                        
 





                                                      
 
                                                               
                                 
 

                                                    

                                         
 







                                                                                
        

                                                                         
































                                                                            
# -*- conf -*-
# flake8 settings for Spack core files.
#
# These exceptions are for Spack core files. We're slightly more lenient
# with packages.  See .flake8_packages for that.
#
# E1: Indentation
# - E129: visually indented line with same indent as next logical line
#
# E2: Whitespace
# - E221: multiple spaces before operator
# - E241: multiple spaces after ','
# - E272: multiple spaces before keyword
#
# E7: Statement
# - E731: do not assign a lambda expression, use a def
#
# W5: Line break warning
# - W503: line break before binary operator
# - W504: line break after binary operator
#
# These are required to get the package.py files to test clean:
# - F999: syntax error in doctest
#
# N8: PEP8-naming
# - N801: class names should use CapWords convention
# - N813: camelcase imported as lowercase
# - N814: camelcase imported as constant
#
# F4: pyflakes import checks, these are now checked by mypy more precisely
# - F403: from module import *
# - F405: undefined name or from *
#
# Black ignores, these are incompatible with black style and do not follow PEP-8
# - E203: white space around slice operators can be required, ignore : warn
# - W503: see above, already ignored for line-breaks
#
[flake8]
ignore = E129,E221,E241,E272,E731,W503,W504,F999,N801,N813,N814,F403,F405
max-line-length = 88

# F4: Import
# - F405: `name` may be undefined, or undefined from star imports: `module`
#
# F8: Name
# - F821: undefined name `name`
#
per-file-ignores =
  var/spack/repos/*/package.py:F405,F821

# exclude things we usually do not want linting for.
# These still get linted when passed explicitly, as when spack flake8 passes
# them on the command line.
exclude =
  .git
  etc/
  opt/
  share/
  var/spack/cache/
  var/spack/gpg*/
  var/spack/junit-report/
  var/spack/mock-configs/
  lib/spack/external
  __pycache__
  var

format = spack

[flake8:local-plugins]
report =
  spack = flake8_formatter:SpackFormatter
paths =
  ./share/spack/qa/