Skip to content
setup.cfg 3.79 KiB
Newer Older
[metadata]
name = wpa-supplicant-client
version = attr: wpa_supplicant.__version__
author = Dom Sekotill
author_email = dom.sekotill@kodo.org.uk
description = A client package for connecting to, configuring and controlling wpa_supplicant daemons
long_description = file: README.md
long_description_content_type = text/markdown
url = 'https://code.kodo.org.uk/dom/wpa-supplicant-client.git'
license = Apache-2.0
license_files =
  LICENCE.txt

classifiers =
  Development Status :: 2 - Pre-Alpha
  Intended Audience :: Developers
  License :: OSI Approved
  License :: OSI Approved :: Apache Software License
  Natural Language :: English
  Operating System :: POSIX
  Programming Language :: Python
  Programming Language :: Python :: 3.8
  Programming Language :: Python :: 3.9
  Programming Language :: Python :: 3.10
python_requires = >= 3.8
packages = find:
setup_requires =
  setuptools >= 40.6
install_requires =
  anyio ~=3.0

[options.packages.find]
include =
  wpa_supplicant
  wpa_supplicant.*
[options.extras_require]
test =
  nose2[coverage_plugin]
Dom Sekotill's avatar
Dom Sekotill committed
  trio
start-dir = tests/unit
verbose = True
plugins =
  nose2.plugins.junitxml
  nose2.plugins.testid

[coverage]
always-on = True
coverage = wpa_supplicant
coverage-report = term

[coverage:run]
branch = True

[coverage:report]
fail_under = 80
precision = 2
omit = **/__main__.py
exclude_lines =
  pragma: no cover
  if __name__ == .__main__.:
  def __repr__
  __version__ =
  @(.*\.)?abstract((static|class)?method|property)
  except ImportError:\s*(...|pass)

[coverage:xml]
output = .coverage.xml

[coverage:html]
directory = .coverage.html.d

[junit-xml]
always-on = True
path = .unittest.xml

[testid]
always-on = True

[log-capture]
always-on = True

force_single_line = true
Dom Sekotill's avatar
Dom Sekotill committed
[mypy]
strict = true
warn_unused_configs = True
Dom Sekotill's avatar
Dom Sekotill committed
warn_unreachable = true
implicit_reexport = true
follow_imports = skip

[flake8]
max-line-length = 92
max-doc-length = 92
use-flake8-tabs = true
blank-lines-indent = never
indent-tabs-def = 1
format = pylint
select = C,D,E,ET,F,SFS,T,W,WT

extend-exclude =
  setup.py

per-file-ignores =
  setup.py: D100, E702
  tests/*.py: D100, C801
  **/__init__.py: D104, F401, F403
  **/__main__.py: D100, E702
  **/_*.py: D

ignore =
  ;[ Missing docstring in public method ]
  ; Handled by pylint, which does it better
  D102

  ;[ Missing docstring in magic method ]
  ; Magic/dunder methods are well-known
  D105

  ;[ Misisng docstring in __init__ ]
  ; Document basic construction in the class docstring
  D107

  ;[ One-line docstring should fit on one line with quotes ]
  ; Prefer top-and-bottom style always
  D200

  ;[ Docstring should be indented with spaces, not tabs ]
  ; Tabs, absolutely always
  D206

  ;[ Use u""" for Unicode docstrings ]
  ; This must be for Python 2?
  D302

  ;[ First line should end with a period ]
  ; First line should *NEVER* end with a period
  D400

  ;[ First line should be in the imperative mood ]
  ; I like this for functions and methods, not for properties. This stands until
  ; pydocstyle splits a new code for properties or flake8 adds some way of
  ; filtering codes with line regexes like golangci-lint.
  D401

  ;[ Line too long ]
  ; Prefer B950 implementation
  E501

  ;[ multiple statements on one line (%s) ]
  E701 E704

  ;[ unexpected number of spaces at start of statement line ]
  ;[ unexpected number of tabs and spaces at start of statement line ]
  ; Don't want spaces...
  ET122 ET128

  ;[ Line break before binary operator ]
  ; Not considered current
  W503

  ;[ Format-method string formatting ]
  ; Allow this style
  SFS201

  ;[ f-string string formatting ]
  ; Allow this style
  SFS301

include =
  ;[ First word of the docstring should not be This ]
  D404

  ; flake8-bugbear plugin
  ; B950 is a replacement for E501
  B0 B903 B950

; vim: sw=2 sts=2 expandtab