The following issues were found

certbot/certbot/display/util.py
2 issues
Too many arguments (6/5)
Error

Line: 128 Column: 1

                                                 force_interactive=force_interactive)


def yesno(message: str, yes_label: str = "Yes", no_label: str = "No",
          default: Optional[bool] = None, cli_flag: Optional[str] = None,
          force_interactive: bool = False) -> bool:
    """Query the user with a yes/no question.

    Yes and No label must begin with different letters, and must contain at

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 207
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

                  if cli_flag:
        msg += ("\nYou can set an answer to "
                "this prompt with the {0} flag".format(cli_flag))
    assert default is not None or force_interactive, msg


# This class takes a similar approach to the cryptography project to deprecate attributes
# in public modules. See the _ModuleWithDeprecation class here:
# https://github.com/pyca/cryptography/blob/91105952739442a74582d3e62b3d2111365b0dc7/src/cryptography/utils.py#L129

            

Reported by Bandit.

certbot-dns-gehirn/setup.py
2 issues
Missing module docstring
Error

Line: 1 Column: 1

              import os
import sys

from setuptools import find_packages
from setuptools import setup

version = '1.19.0.dev0'

install_requires = [

            

Reported by Pylint.

Constant name "version" doesn't conform to UPPER_CASE naming style
Error

Line: 7 Column: 1

              from setuptools import find_packages
from setuptools import setup

version = '1.19.0.dev0'

install_requires = [
    'dns-lexicon>=3.2.1',
    'setuptools>=39.0.1',
]

            

Reported by Pylint.

tools/extract_changelog.py
2 issues
Missing module docstring
Error

Line: 1 Column: 1

              #!/usr/bin/env python
from __future__ import print_function

import os
import re
import sys

CERTBOT_ROOT = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))


            

Reported by Pylint.

Missing function or method docstring
Error

Line: 13 Column: 1

              NEW_SECTION_PATTERN = re.compile(r'^##\s*[\d.]+\s*-\s*[\d-]+$')


def main():
    version = sys.argv[1]

    section_pattern = re.compile(r'^##\s*{0}\s*-\s*[\d-]+$'
                                 .format(version.replace('.', '\\.')))


            

Reported by Pylint.

certbot-dns-dnsmadeeasy/setup.py
2 issues
Missing module docstring
Error

Line: 1 Column: 1

              import os
import sys

from setuptools import find_packages
from setuptools import setup

version = '1.19.0.dev0'

install_requires = [

            

Reported by Pylint.

Constant name "version" doesn't conform to UPPER_CASE naming style
Error

Line: 7 Column: 1

              from setuptools import find_packages
from setuptools import setup

version = '1.19.0.dev0'

install_requires = [
    'dns-lexicon>=3.2.1',
    'setuptools>=39.0.1',
]

            

Reported by Pylint.

certbot-dns-dnsimple/setup.py
2 issues
Missing module docstring
Error

Line: 1 Column: 1

              import os
import sys

from setuptools import find_packages
from setuptools import setup

version = '1.19.0.dev0'

install_requires = [

            

Reported by Pylint.

Constant name "version" doesn't conform to UPPER_CASE naming style
Error

Line: 7 Column: 1

              from setuptools import find_packages
from setuptools import setup

version = '1.19.0.dev0'

install_requires = [
    # This version of lexicon is required to address the problem described in
    # https://github.com/AnalogJ/lexicon/issues/387.
    'dns-lexicon>=3.2.1',

            

Reported by Pylint.

certbot-dns-digitalocean/setup.py
2 issues
Missing module docstring
Error

Line: 1 Column: 1

              import os
import sys

from setuptools import find_packages
from setuptools import setup

version = '1.19.0.dev0'

install_requires = [

            

Reported by Pylint.

Constant name "version" doesn't conform to UPPER_CASE naming style
Error

Line: 7 Column: 1

              from setuptools import find_packages
from setuptools import setup

version = '1.19.0.dev0'

install_requires = [
    'python-digitalocean>=1.11', # 1.15.0 or newer is recommended for TTL support
    'setuptools>=39.0.1',
]

            

Reported by Pylint.

tools/pip_install_editable.py
2 issues
Missing module docstring
Error

Line: 1 Column: 1

              #!/usr/bin/env python
# pip installs packages in editable mode using pip_install.py
#
# cryptography is currently using this script in their CI at
# https://github.com/pyca/cryptography/blob/a02fdd60d98273ca34427235c4ca96687a12b239/.travis/downstream.d/certbot.sh#L8-L9.
# We should try to remember to keep their repo updated if we make any changes
# to this script which may break things for them.
import sys


            

Reported by Pylint.

Missing function or method docstring
Error

Line: 13 Column: 1

              import pip_install


def main(args):
    new_args = []
    for arg in args:
        new_args.append('-e')
        new_args.append(arg)


            

Reported by Pylint.

letstest/scripts/version.py
1 issues
Missing function or method docstring
Error

Line: 22 Column: 1

                                   re.M).group(1)


def file_contents(path):
    with open(path) as file:
        return file.read()


if __name__ == '__main__':

            

Reported by Pylint.

certbot-apache/certbot_apache/_internal/parsernode_util.py
1 issues
Consider explicitly re-raising using the 'from' keyword
Error

Line: 19 Column: 13

                      try:
            validated_kwargs[name] = kwargs.pop(name)
        except KeyError:
            raise TypeError("Required keyword argument: {} undefined.".format(name))

    # Raise exception if unknown key word arguments are found.
    if kwargs:
        unknown = ", ".join(kwargs.keys())
        raise TypeError("Unknown keyword argument(s): {}".format(unknown))

            

Reported by Pylint.

certbot/certbot/configuration.py
1 issues
Too many public methods (32/20)
Error

Line: 14 Column: 1

              from certbot.compat import os


class NamespaceConfig:
    """Configuration wrapper around :class:`argparse.Namespace`.

    Please note that the following attributes are dynamically resolved using
    :attr:`~certbot.configuration.NamespaceConfig.work_dir` and relative
    paths defined in :py:mod:`certbot._internal.constants`:

            

Reported by Pylint.