<commit_before>[tox]
skip_missing_interpreters = True
envlist = flakes-v{25x,250,240,241,230,224,220,210,200},green,pytest,test

[testenv]
passenv =
    CI
    TRAVIS TRAVIS_BUILD_ID TRAVIS_BRANCH TRAVIS_JOB_NUMBER TRAVIS_PULL_REQUEST
    TRAVIS_JOB_ID TRAVIS_REPO_SLUG TRAVIS_COMMIT
    APPVEYOR APPVEYOR_ACCOUNT_NAME APPVEYOR_PROJECT_SLUG APPVEYOR_REPO_NAME
    APPVEYOR_REPO_COMMIT APPVEYOR_REPO_BRANCH APPVEYOR_BUILD_VERSION
    APPVEYOR_JOB_ID APPVEYOR_PULL_REQUEST_NUMBER
commands =
    flakes,v26x,v255,v241,v240,v230,v224,v220,v210,v200: flake8 --version
    # --jobs 32 is default, and is ignored on Microsoft Windows
    # See https://github.com/travis-ci/travis-ci/issues/4696
    v255,v241,v240,v230,v224: flake8 --jobs 32 {posargs}
    # Use --jobs 1 to force single process configuration
    flakes,v26x: flake8 --jobs 1 {posargs}
    # use --jobs 2 to force BaseQReport to reuse a subprocess
    # Note v220 with --jobs fails on Windows.
    v220: flake8 --jobs 2 {posargs}
    # --jobs was added in v2.2.0
    v210,v200: flake8 {posargs}
    green: green -vv {posargs}
    pytest: python setup.py install
    pytest: python setup.py pytest --addopts "--cov=flake8_putty" {posargs}
    pytest: codecov
    test: python setup.py test {posargs}
deps =
    test,green,pytest: mock ; python_version < '3.3'
    green,pytest: coverage<5; python_version == '2.6' or python_version == '3.3'
    green,pytest: coverage<4; python_version == '3.2'
    green: backports.shutil_get_terminal_size>=1.0.0; python_version=="3.2"
    green: green
    pytest: pytest-runner; python_version != '2.6'
    pytest: pytest-runner<2.12; python_version == '2.6'
    pytest: pytest-cov
    pytest: codecov
    v26x: flake8>=2.6.2,<2.7
    v255: flake8==2.5.5
    v241: flake8==2.4.1
    v240: flake8==2.4.0
    v230: flake8==2.3.0
    v224: flake8==2.2.4
    v220: flake8==2.2.0
    v210: flake8==2.1.0
    v200: flake8==2.0
    v240,v230,v224,v220: mccabe==0.2.1
    v200,v210: pyflakes<2; python_version != '2.7' and python_version < '3.4'
    v230,v220,v224: pyflakes==0.8.1
    v220: pep8==1.5.7
    # pydocstyle 2 uses syntax incompatible with Python 2.6
    # pydocstyle 2 needs snowballstemmer, which doesnt support 3.2
    v25x,v250,v241: pydocstyle<2; python_version == '2.6' or python_version == '3.2'
    v25x,v250,v241: flake8-docstrings<1.1.0; python_version == '2.6' or python_version == '3.2'
    v25x,v250,v241: flake8-docstrings; python_version == '2.7' or python_version > '3.3'
    v240,v230: flake8-docstrings==0.2.1
    v224,v220: flake8-docstrings==0.2.0
    # The following are non-core extensions
    v250,v241: flake8-future-import
    v250,v241: flake8-string-format
    v250,v241: flake8-debugger<3; python_version == '2.6'
    v250,v241: flake8-debugger; python_version > '2.6'
    v250,v241: flake8-print<3; python_version == '2.6'
    v250,v241: flake8-print; python_version > '2.6'
    v250,v241: pep8-naming<0.7; python_version == '2.6' or python_version == '3.2'
    v250,v241: pep8-naming; python_version == '2.7' or python_version > '3.2'
    # flake8-pep3101 depends on pycodestyle, which isnt a dependency on py26
    # with all the varied rules here for py26
    v250,v241: pycodestyle; python_version == '2.6'
    v250,v241: flake8-pep3101
    v250,v241: hacking<0.11; python_version == '3.3' or python_version == '3.2'
    v250,v241: hacking; python_version == '2.7' and python_version > '3.3'
    v250,v241: flake8-coding<1.3
    v250,v241: flake8-tuple
    # https://github.com/aleGpereira/flake8-mock/issues/3
    v250,v241: flake8-mock ; sys_platform != 'win32' or python_version < '3'
    v250,v241: flake8-dodgy
    v250,v241: flake8-tidy-imports; python_version > '2.6'
    # flake8-import-order is similar to a hacking rule:
    v250,v241: flake8-import-order<0.9; python_version == '2.6'
    v250,v241: flake8-import-order; python_version > '2.6'
    v250,v241: flake8-exact-pin
    v250,v241: ebb-lint<0.16.1.0; python_version == '3.2'
    v250,v241: ebb-lint; python_version > '2.6' and python_version != '3.2'
    v250,v241: flake8-strict ; python_version > '2.6'

    # The following are run in a different toxenv,
    # as they are similar to one of the above plugins

    # flake8-blind-except is similar to a hacking rule:
    v230,v224: flake8-blind-except

    # similar to flake8-tidy-imports/flake8-import-order:
    # isort uses customised rules in setup.cfg to behave like flake8-import-order
    v230,v224: isort<4.3.0; python_version == '2.6' or python_version == '3.3'
    v230,v224: testfixtures<6.0.0; python_version == '2.6'
    v230,v224: flake8-isort<2

    # flake8-future is similar to flake8-future-import:
    v230,v224: flake8-future ; python_version > '2.6'
    v230,v224: git+https://github.com/jayvdb/flake8-future@py26 ; python_version < '2.7'

    # flake8-todo is a blunter implementation of hacking H101
    v230,v224: flake8-todo

[flake8]
ignore = D105,D211,FI10,FI12,FI13,FI15,FI51,FI52,FI54,H301,H404,H405,L101
exclude = .tox,.git,./*.egg,build,
max_line_length = 99
require-code = true
min-version = 2.6
future-imports = absolute_import, unicode_literals
putty-auto-ignore = true
putty-ignore =
    /def [a-zA-Z0-9_]+\(/ : +S100
    /(any|all)\(/ : +S100
    /\):$/ : +S101
    setup.py : +FI11
    flake8_putty/config.py : +FI11
    flake8_putty/config.py , /return / : +S001
    /(__str__|__unicode__)/,/__repr__/ : +D105,N802
    /(__str__|__unicode__)/, python_version == '2.6' or python_version == '3.2' : +N807
    tests/ : +D102,F481,FI11,I100,L103,T000
    tests/test_integration.py : +L102
    # https://github.com/timothycrosley/isort/issues/737
    tests/test_config.py,tests/test_integration.py, sys_platform == 'win32' : +I001
<commit_msg>tox.ini: Deselect ebb-lint on Python 3.6+<commit_after>[tox]
skip_missing_interpreters = True
envlist = flakes-v{25x,250,240,241,230,224,220,210,200},green,pytest,test

[testenv]
passenv =
    CI
    TRAVIS TRAVIS_BUILD_ID TRAVIS_BRANCH TRAVIS_JOB_NUMBER TRAVIS_PULL_REQUEST
    TRAVIS_JOB_ID TRAVIS_REPO_SLUG TRAVIS_COMMIT
    APPVEYOR APPVEYOR_ACCOUNT_NAME APPVEYOR_PROJECT_SLUG APPVEYOR_REPO_NAME
    APPVEYOR_REPO_COMMIT APPVEYOR_REPO_BRANCH APPVEYOR_BUILD_VERSION
    APPVEYOR_JOB_ID APPVEYOR_PULL_REQUEST_NUMBER
commands =
    flakes,v26x,v255,v241,v240,v230,v224,v220,v210,v200: flake8 --version
    # --jobs 32 is default, and is ignored on Microsoft Windows
    # See https://github.com/travis-ci/travis-ci/issues/4696
    v255,v241,v240,v230,v224: flake8 --jobs 32 {posargs}
    # Use --jobs 1 to force single process configuration
    flakes,v26x: flake8 --jobs 1 {posargs}
    # use --jobs 2 to force BaseQReport to reuse a subprocess
    # Note v220 with --jobs fails on Windows.
    v220: flake8 --jobs 2 {posargs}
    # --jobs was added in v2.2.0
    v210,v200: flake8 {posargs}
    green: green -vv {posargs}
    pytest: python setup.py install
    pytest: python setup.py pytest --addopts "--cov=flake8_putty" {posargs}
    pytest: codecov
    test: python setup.py test {posargs}
deps =
    test,green,pytest: mock ; python_version < '3.3'
    green,pytest: coverage<5; python_version == '2.6' or python_version == '3.3'
    green,pytest: coverage<4; python_version == '3.2'
    green: backports.shutil_get_terminal_size>=1.0.0; python_version=="3.2"
    green: green
    pytest: pytest-runner; python_version != '2.6'
    pytest: pytest-runner<2.12; python_version == '2.6'
    pytest: pytest-cov
    pytest: codecov
    v26x: flake8>=2.6.2,<2.7
    v255: flake8==2.5.5
    v241: flake8==2.4.1
    v240: flake8==2.4.0
    v230: flake8==2.3.0
    v224: flake8==2.2.4
    v220: flake8==2.2.0
    v210: flake8==2.1.0
    v200: flake8==2.0
    v240,v230,v224,v220: mccabe==0.2.1
    v200,v210: pyflakes<2; python_version != '2.7' and python_version < '3.4'
    v230,v220,v224: pyflakes==0.8.1
    v220: pep8==1.5.7
    # pydocstyle 2 uses syntax incompatible with Python 2.6
    # pydocstyle 2 needs snowballstemmer, which doesnt support 3.2
    v25x,v250,v241: pydocstyle<2; python_version == '2.6' or python_version == '3.2'
    v25x,v250,v241: flake8-docstrings<1.1.0; python_version == '2.6' or python_version == '3.2'
    v25x,v250,v241: flake8-docstrings; python_version == '2.7' or python_version > '3.3'
    v240,v230: flake8-docstrings==0.2.1
    v224,v220: flake8-docstrings==0.2.0
    # The following are non-core extensions
    v250,v241: flake8-future-import
    v250,v241: flake8-string-format
    v250,v241: flake8-debugger<3; python_version == '2.6'
    v250,v241: flake8-debugger; python_version > '2.6'
    v250,v241: flake8-print<3; python_version == '2.6'
    v250,v241: flake8-print; python_version > '2.6'
    v250,v241: pep8-naming<0.7; python_version == '2.6' or python_version == '3.2'
    v250,v241: pep8-naming; python_version == '2.7' or python_version > '3.2'
    # flake8-pep3101 depends on pycodestyle, which isnt a dependency on py26
    # with all the varied rules here for py26
    v250,v241: pycodestyle; python_version == '2.6'
    v250,v241: flake8-pep3101
    v250,v241: hacking<0.11; python_version == '3.3' or python_version == '3.2'
    v250,v241: hacking; python_version == '2.7' and python_version > '3.3'
    v250,v241: flake8-coding<1.3
    v250,v241: flake8-tuple
    # https://github.com/aleGpereira/flake8-mock/issues/3
    v250,v241: flake8-mock ; sys_platform != 'win32' or python_version < '3'
    v250,v241: flake8-dodgy
    v250,v241: flake8-tidy-imports; python_version > '2.6'
    # flake8-import-order is similar to a hacking rule:
    v250,v241: flake8-import-order<0.9; python_version == '2.6'
    v250,v241: flake8-import-order; python_version > '2.6'
    v250,v241: flake8-exact-pin
    v250,v241: ebb-lint<0.16.1.0; python_version == '3.2'
    v250,v241: ebb-lint; python_version > '2.6' and python_version != '3.2' and python_version < '3.6'
    v250,v241: flake8-strict ; python_version > '2.6'

    # The following are run in a different toxenv,
    # as they are similar to one of the above plugins

    # flake8-blind-except is similar to a hacking rule:
    v230,v224: flake8-blind-except

    # similar to flake8-tidy-imports/flake8-import-order:
    # isort uses customised rules in setup.cfg to behave like flake8-import-order
    v230,v224: isort<4.3.0; python_version == '2.6' or python_version == '3.3'
    v230,v224: testfixtures<6.0.0; python_version == '2.6'
    v230,v224: flake8-isort<2

    # flake8-future is similar to flake8-future-import:
    v230,v224: flake8-future ; python_version > '2.6'
    v230,v224: git+https://github.com/jayvdb/flake8-future@py26 ; python_version < '2.7'

    # flake8-todo is a blunter implementation of hacking H101
    v230,v224: flake8-todo

[flake8]
ignore = D105,D211,FI10,FI12,FI13,FI15,FI51,FI52,FI54,H301,H404,H405,L101
exclude = .tox,.git,./*.egg,build,
max_line_length = 99
require-code = true
min-version = 2.6
future-imports = absolute_import, unicode_literals
putty-auto-ignore = true
putty-ignore =
    /def [a-zA-Z0-9_]+\(/ : +S100
    /(any|all)\(/ : +S100
    /\):$/ : +S101
    setup.py : +FI11
    flake8_putty/config.py : +FI11
    flake8_putty/config.py , /return / : +S001
    /(__str__|__unicode__)/,/__repr__/ : +D105,N802
    /(__str__|__unicode__)/, python_version == '2.6' or python_version == '3.2' : +N807
    tests/ : +D102,F481,FI11,I100,L103,T000
    tests/test_integration.py : +L102
    # https://github.com/timothycrosley/isort/issues/737
    tests/test_config.py,tests/test_integration.py, sys_platform == 'win32' : +I001

{'fraction_non_alphanumeric': 0.1359332927994441, 'fraction_numerical': 0.12281768435681403, 'mean_word_length': 3.6166800320769847, 'pattern_counts': {'":': 0, '<': 46, '<?xml version=': 0, '>': 27, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1382070', 'n_tokens_mistral': 5496, 'n_tokens_neox': 4786, 'n_words': 942}