old_contents: import codecs
  import os
  import re
  
  import setuptools
  from setuptools import find_packages, setup
  from setuptools.command.develop import develop
  from setuptools.command.install import install
  
  PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__))
  REQUIREMENTS_FILE = os.path.join(PROJECT_ROOT, "requirements.txt")
  REQUIREMENTS_OPTIONAL_FILE = os.path.join(PROJECT_ROOT, "requirements-optional.txt")
  REQUIREMENTS_DEV_FILE = os.path.join(PROJECT_ROOT, "requirements-dev.txt")
  README_FILE = os.path.join(PROJECT_ROOT, "README.md")
  VERSION_FILE = os.path.join(PROJECT_ROOT, "arviz", "__init__.py")
  
  
  def get_requirements():
      with codecs.open(REQUIREMENTS_FILE) as buff:
          return buff.read().splitlines()
  
  
  def get_requirements_dev():
      with codecs.open(REQUIREMENTS_DEV_FILE) as buff:
          return buff.read().splitlines()
  
  
  def get_requirements_optional():
      with codecs.open(REQUIREMENTS_OPTIONAL_FILE) as buff:
          return buff.read().splitlines()
  
  
  def get_long_description():
      with codecs.open(README_FILE, "rt") as buff:
          return buff.read()
  
  
  def get_version():
      lines = open(VERSION_FILE, "rt").readlines()
      version_regex = r"^__version__ = ['\"]([^'\"]*)['\"]"
      for line in lines:
          mo = re.search(version_regex, line, re.M)
          if mo:
              return mo.group(1)
      raise RuntimeError("Unable to find version in %s." % (VERSION_FILE,))
  
  
  setup(
      name="arviz",
      license="Apache-2.0",
      version=get_version(),
      description="Exploratory analysis of Bayesian models",
      author="ArviZ Developers",
      url="http://github.com/arviz-devs/arviz",
      packages=find_packages(),
      install_requires=get_requirements(),
      extras_require=dict(all=get_requirements_optional()),  # test=get_requirements_dev(),
      long_description=get_long_description(),
      long_description_content_type="text/markdown",
      include_package_data=True,
      classifiers=[
          "Development Status :: 4 - Beta",
          "Framework :: Matplotlib",
          "Intended Audience :: Science/Research",
          "Intended Audience :: Education",
          "License :: OSI Approved :: Apache Software License",
          "Programming Language :: Python",
          "Programming Language :: Python :: 3",
          "Programming Language :: Python :: 3.7",
          "Programming Language :: Python :: 3.8",
          "Programming Language :: Python :: 3.9",
          "Topic :: Scientific/Engineering",
          "Topic :: Scientific/Engineering :: Visualization",
          "Topic :: Scientific/Engineering :: Mathematics",
      ],
  )
  
new_contents: import codecs
  import os
  import re
  
  import setuptools
  from setuptools import find_packages, setup
  from setuptools.command.develop import develop
  from setuptools.command.install import install
  
  PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__))
  REQUIREMENTS_FILE = os.path.join(PROJECT_ROOT, "requirements.txt")
  REQUIREMENTS_OPTIONAL_FILE = os.path.join(PROJECT_ROOT, "requirements-optional.txt")
  REQUIREMENTS_DEV_FILE = os.path.join(PROJECT_ROOT, "requirements-dev.txt")
  README_FILE = os.path.join(PROJECT_ROOT, "README.md")
  VERSION_FILE = os.path.join(PROJECT_ROOT, "arviz", "__init__.py")
  
  
  def get_requirements():
      with codecs.open(REQUIREMENTS_FILE) as buff:
          return buff.read().splitlines()
  
  
  def get_requirements_dev():
      with codecs.open(REQUIREMENTS_DEV_FILE) as buff:
          return buff.read().splitlines()
  
  
  def get_requirements_optional():
      with codecs.open(REQUIREMENTS_OPTIONAL_FILE) as buff:
          return buff.read().splitlines()
  
  
  def get_long_description():
      with codecs.open(README_FILE, "rt") as buff:
          return buff.read()
  
  
  def get_version():
      lines = open(VERSION_FILE, "rt").readlines()
      version_regex = r"^__version__ = ['\"]([^'\"]*)['\"]"
      for line in lines:
          mo = re.search(version_regex, line, re.M)
          if mo:
              return mo.group(1)
      raise RuntimeError("Unable to find version in %s." % (VERSION_FILE,))
  
  
  setup(
      name="arviz",
      license="Apache-2.0",
      version=get_version(),
      description="Exploratory analysis of Bayesian models",
      author="ArviZ Developers",
      url="http://github.com/arviz-devs/arviz",
      packages=find_packages(),
      install_requires=get_requirements(),
      extras_require=dict(all=get_requirements_optional()),  # test=get_requirements_dev(),
      long_description=get_long_description(),
      long_description_content_type="text/markdown",
      include_package_data=True,
      python_requires='>=3.7',
      classifiers=[
          "Development Status :: 4 - Beta",
          "Framework :: Matplotlib",
          "Intended Audience :: Science/Research",
          "Intended Audience :: Education",
          "License :: OSI Approved :: Apache Software License",
          "Programming Language :: Python",
          "Programming Language :: Python :: 3",
          "Programming Language :: Python :: 3.7",
          "Programming Language :: Python :: 3.8",
          "Programming Language :: Python :: 3.9",
          "Topic :: Scientific/Engineering",
          "Topic :: Scientific/Engineering :: Visualization",
          "Topic :: Scientific/Engineering :: Mathematics",
      ],
  )
  
subject: Update setup.py to require python >= 3.7 (#1608)