text: from distutils.version import LooseVersion
  import os
  import sys
  
  from setuptools import __version__ as setuptools_version
  from setuptools import find_packages
  from setuptools import setup
  from setuptools.command.test import test as TestCommand
  
  version = '1.7.0.dev0'
  
  # Remember to update local-oldest-requirements.txt when changing the minimum
  # acme/certbot version.
  install_requires = [
      'dns-lexicon>=2.2.1',  # Support for >1 TXT record per name
      'setuptools',
      'zope.interface',
  ]
  
  if not os.environ.get('EXCLUDE_CERTBOT_DEPS'):
      install_requires.extend([
          'acme>=0.31.0',
          'certbot>=1.1.0',
      ])
  elif 'bdist_wheel' in sys.argv[1:]:
      raise RuntimeError('Unset EXCLUDE_CERTBOT_DEPS when building wheels '
                         'to include certbot dependencies.')
  
  setuptools_known_environment_markers = (LooseVersion(setuptools_version) >= LooseVersion('36.2'))
  if setuptools_known_environment_markers:
      install_requires.append('mock ; python_version < "3.3"')
  elif 'bdist_wheel' in sys.argv[1:]:
      raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
                         'of setuptools. Version 36.2+ of setuptools is required.')
  elif sys.version_info < (3,3):
      install_requires.append('mock')
  
  docs_extras = [
      'Sphinx>=1.0',  # autodoc_member_order = 'bysource', autodoc_default_flags
      'sphinx_rtd_theme',
  ]
  
  class PyTest(TestCommand):
      user_options = []
  
      def initialize_options(self):
          TestCommand.initialize_options(self)
          self.pytest_args = ''
  
      def run_tests(self):
          import shlex
          # import here, cause outside the eggs aren't loaded
          import pytest
          errno = pytest.main(shlex.split(self.pytest_args))
          sys.exit(errno)
  
  setup(
      name='certbot-dns-luadns',
      version=version,
      description="LuaDNS Authenticator plugin for Certbot",
      url='https://github.com/certbot/certbot',
      author="Certbot Project",
      author_email='client-dev@letsencrypt.org',
      license='Apache License 2.0',
      python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*',
      classifiers=[
          'Development Status :: 5 - Production/Stable',
          'Environment :: Plugins',
          'Intended Audience :: System Administrators',
          'License :: OSI Approved :: Apache Software License',
          'Operating System :: POSIX :: Linux',
          'Programming Language :: Python',
          'Programming Language :: Python :: 2',
          'Programming Language :: Python :: 2.7',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.5',
          'Programming Language :: Python :: 3.6',
          'Programming Language :: Python :: 3.7',
          'Programming Language :: Python :: 3.8',
          'Topic :: Internet :: WWW/HTTP',
          'Topic :: Security',
          'Topic :: System :: Installation/Setup',
          'Topic :: System :: Networking',
          'Topic :: System :: Systems Administration',
          'Topic :: Utilities',
      ],
  
      packages=find_packages(),
      include_package_data=True,
      install_requires=install_requires,
      extras_require={
          'docs': docs_extras,
      },
      entry_points={
          'certbot.plugins': [
              'dns-luadns = certbot_dns_luadns._internal.dns_luadns:Authenticator',
          ],
      },
      tests_require=["pytest"],
      test_suite='certbot_dns_luadns',
      cmdclass={"test": PyTest},
  )
  