Loading .editorconfig 0 → 100644 +11 −0 Original line number Diff line number Diff line root = true [*] charset = utf-8 end_of_line = lf insert_final_newline = true indent_style = tab [*.{yml,yaml}] indent_style = space indent_size = 2 .gitignore 0 → 100644 +2 −0 Original line number Diff line number Diff line # Python object cache *.py[co] .gitlint 0 → 100644 +7 −0 Original line number Diff line number Diff line [general] ignore=body-trailing-whitespace,body-is-missing [author-valid-email] regex=.*@[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](\.[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9])+ # vim:ft=cfg .lint 0 → 100644 +130 −0 Original line number Diff line number Diff line [isort] force_single_line = True [unimport] exclude = __init__.py remove = True [mypy] mypy_path = stubs [flake8] max-line-length = 92 max-doc-length = 92 copyright-check = true copyright-min-file-size = 200 use-flake8-tabs = true blank-lines-indent = never indent-tabs-def = 1 format = pylint select = C,D,E,ET,F,SFS,T,W,WT per-file-ignores = tests/*.py: D100, C801 **/__init__.py: D104, F403 **/__main__.py: D100, E702 _enums.py: D101, D106 ignore = ;[ '%s' imported but unused ] ; Handled by pylint, which does it better F401 ;[ 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 r""" if any backslashes in a docstring ] ; If I want to put escape chars in a docstring, I will D301 ;[ 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 ;[ No blank lines allowed between a section header and its content ] D412 ;[ Line too long ] ; Prefer B950 implementation E501 ;[ 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 [pylint.MASTER] persistent=yes ignore-patterns = __pycache__, \..*, [pylint.BASIC] const-rgx = (([A-Z_][A-Z0-9_]*)|(_[A-Za-z0-9_]+))$ good-names = db, i, a, b, ab, t, f, fd [pylint.REPORTS] reports = no [pylint.FORMAT] indent-string = '\t' [pylint.DESIGN] max-attributes = 10 [pylint.MESSAGES CONTROL] disable = bad-continuation, ; Would be nice to not disable but it is bugged; it trys to interpret tabs as ; spaces. trailing-whitespace, ; Would be nice to have enabled for *code* but not for comments or ; multi-line strings. wrong-import-order, ; Rely on isort, otherwise pylint and isort occasionally clash. ; vim: set ft=cfg: .pre-commit-config.yaml 0 → 100644 +96 −0 Original line number Diff line number Diff line repos: - repo: meta hooks: - id: check-hooks-apply - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.3.0 hooks: - id: check-added-large-files stages: [commit] - id: check-byte-order-marker stages: [commit] - id: check-case-conflict stages: [commit] - id: check-merge-conflict stages: [commit] - id: check-toml stages: [commit] - id: check-yaml stages: [commit] - id: debug-statements stages: [commit] - id: end-of-file-fixer - id: trailing-whitespace exclude_types: [markdown] - repo: https://github.com/jorisroovers/gitlint rev: v0.13.1 hooks: - id: gitlint - repo: https://github.com/jumanjihouse/pre-commit-hooks rev: 2.1.4 hooks: - id: protect-first-parent stages: [push] - repo: https://code.kodo.org.uk/dom/pre-commit-hooks rev: v0.3 hooks: - id: check-for-squash - id: copyright-notice - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.5.1 hooks: - id: python-no-eval stages: [commit] - id: python-no-log-warn stages: [commit] - id: python-use-type-annotations stages: [commit] - repo: https://github.com/hakancelik96/unimport rev: 0.2.7 hooks: - id: unimport stages: [commit] - repo: https://github.com/timothycrosley/isort rev: 5.6.4 hooks: - id: isort types: [python] stages: [commit] - repo: https://gitlab.com/pycqa/flake8 rev: 3.8.3 hooks: - id: flake8 args: ["--config=.lint"] additional_dependencies: - flake8-bugbear - flake8-commas - flake8-copyright - flake8-docstrings - flake8-executable - flake8-print - flake8-requirements - flake8-return - flake8-sfs - flake8-tabs stages: [commit] - repo: https://code.kodo.org.uk/dom/pre-commit-pylint rev: v2.6.2-1 hooks: - id: pylint args: ["--rcfile=.lint", "--fail-under=9.0"] - repo: https://code.kodo.org.uk/dom/pre-commit-mypy rev: v0.800-1beta1 hooks: - id: mypy args: ["--config-file=.lint"] Loading
.editorconfig 0 → 100644 +11 −0 Original line number Diff line number Diff line root = true [*] charset = utf-8 end_of_line = lf insert_final_newline = true indent_style = tab [*.{yml,yaml}] indent_style = space indent_size = 2
.gitignore 0 → 100644 +2 −0 Original line number Diff line number Diff line # Python object cache *.py[co]
.gitlint 0 → 100644 +7 −0 Original line number Diff line number Diff line [general] ignore=body-trailing-whitespace,body-is-missing [author-valid-email] regex=.*@[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](\.[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9])+ # vim:ft=cfg
.lint 0 → 100644 +130 −0 Original line number Diff line number Diff line [isort] force_single_line = True [unimport] exclude = __init__.py remove = True [mypy] mypy_path = stubs [flake8] max-line-length = 92 max-doc-length = 92 copyright-check = true copyright-min-file-size = 200 use-flake8-tabs = true blank-lines-indent = never indent-tabs-def = 1 format = pylint select = C,D,E,ET,F,SFS,T,W,WT per-file-ignores = tests/*.py: D100, C801 **/__init__.py: D104, F403 **/__main__.py: D100, E702 _enums.py: D101, D106 ignore = ;[ '%s' imported but unused ] ; Handled by pylint, which does it better F401 ;[ 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 r""" if any backslashes in a docstring ] ; If I want to put escape chars in a docstring, I will D301 ;[ 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 ;[ No blank lines allowed between a section header and its content ] D412 ;[ Line too long ] ; Prefer B950 implementation E501 ;[ 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 [pylint.MASTER] persistent=yes ignore-patterns = __pycache__, \..*, [pylint.BASIC] const-rgx = (([A-Z_][A-Z0-9_]*)|(_[A-Za-z0-9_]+))$ good-names = db, i, a, b, ab, t, f, fd [pylint.REPORTS] reports = no [pylint.FORMAT] indent-string = '\t' [pylint.DESIGN] max-attributes = 10 [pylint.MESSAGES CONTROL] disable = bad-continuation, ; Would be nice to not disable but it is bugged; it trys to interpret tabs as ; spaces. trailing-whitespace, ; Would be nice to have enabled for *code* but not for comments or ; multi-line strings. wrong-import-order, ; Rely on isort, otherwise pylint and isort occasionally clash. ; vim: set ft=cfg:
.pre-commit-config.yaml 0 → 100644 +96 −0 Original line number Diff line number Diff line repos: - repo: meta hooks: - id: check-hooks-apply - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.3.0 hooks: - id: check-added-large-files stages: [commit] - id: check-byte-order-marker stages: [commit] - id: check-case-conflict stages: [commit] - id: check-merge-conflict stages: [commit] - id: check-toml stages: [commit] - id: check-yaml stages: [commit] - id: debug-statements stages: [commit] - id: end-of-file-fixer - id: trailing-whitespace exclude_types: [markdown] - repo: https://github.com/jorisroovers/gitlint rev: v0.13.1 hooks: - id: gitlint - repo: https://github.com/jumanjihouse/pre-commit-hooks rev: 2.1.4 hooks: - id: protect-first-parent stages: [push] - repo: https://code.kodo.org.uk/dom/pre-commit-hooks rev: v0.3 hooks: - id: check-for-squash - id: copyright-notice - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.5.1 hooks: - id: python-no-eval stages: [commit] - id: python-no-log-warn stages: [commit] - id: python-use-type-annotations stages: [commit] - repo: https://github.com/hakancelik96/unimport rev: 0.2.7 hooks: - id: unimport stages: [commit] - repo: https://github.com/timothycrosley/isort rev: 5.6.4 hooks: - id: isort types: [python] stages: [commit] - repo: https://gitlab.com/pycqa/flake8 rev: 3.8.3 hooks: - id: flake8 args: ["--config=.lint"] additional_dependencies: - flake8-bugbear - flake8-commas - flake8-copyright - flake8-docstrings - flake8-executable - flake8-print - flake8-requirements - flake8-return - flake8-sfs - flake8-tabs stages: [commit] - repo: https://code.kodo.org.uk/dom/pre-commit-pylint rev: v2.6.2-1 hooks: - id: pylint args: ["--rcfile=.lint", "--fail-under=9.0"] - repo: https://code.kodo.org.uk/dom/pre-commit-mypy rev: v0.800-1beta1 hooks: - id: mypy args: ["--config-file=.lint"]