old_contents: from setuptools import setup
  from codecs import open # For a consistent encoding
  from os import path
  import re
  
  
  here = path.dirname(__file__)
  
  
  with open(path.join(here, 'README.md'), encoding='utf-8') as f:
      long_description = f.read()
  
  
  def read(*names, **kwargs):
      with open(
          path.join(here, *names),
          encoding=kwargs.get("encoding", "utf8")
      ) as fp:
          return fp.read()
  
  
  def find_version(*file_paths):
      version_file = read(*file_paths)
      version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
                                version_file, re.M)
      if version_match:
          return version_match.group(1)
      raise RuntimeError("Unable to find version string.")
  
  
  setup(
      name='dotbot',
  
      version=find_version('dotbot', '__init__.py'),
  
      description='A tool that bootstraps your dotfiles',
      long_description=long_description,
      long_description_content_type='text/markdown',
  
      url='https://github.com/anishathalye/dotbot',
  
      author='Anish Athalye',
      author_email='me@anishathalye.com',
  
      license='MIT',
  
      classifiers=[
          'Development Status :: 5 - Production/Stable',
  
          'Intended Audience :: Developers',
  
          'License :: OSI Approved :: MIT License',
  
          'Programming Language :: Python :: 2',
          'Programming Language :: Python :: 2.7',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.2',
          'Programming Language :: Python :: 3.3',
          'Programming Language :: Python :: 3.4',
          'Programming Language :: Python :: 3.5',
          'Programming Language :: Python :: 3.6',
  
          'Topic :: Utilities',
      ],
  
      keywords='dotfiles',
  
      packages=['dotbot'],
  
      setup_requires=[
          'setuptools>=38.6.0',
          'wheel>=0.31.0',
      ],
  
      install_requires=[
          'PyYAML>=3.12,<4',
      ],
  
      # To provide executable scripts, use entry points in preference to the
      # "scripts" keyword. Entry points provide cross-platform support and allow
      # pip to create the appropriate form of executable for the target platform.
      entry_points={
          'console_scripts': [
              'dotbot=dotbot:main',
          ],
      },
  )
  
new_contents: from setuptools import setup, find_packages
  from codecs import open # For a consistent encoding
  from os import path
  import re
  
  
  here = path.dirname(__file__)
  
  
  with open(path.join(here, 'README.md'), encoding='utf-8') as f:
      long_description = f.read()
  
  
  def read(*names, **kwargs):
      with open(
          path.join(here, *names),
          encoding=kwargs.get("encoding", "utf8")
      ) as fp:
          return fp.read()
  
  
  def find_version(*file_paths):
      version_file = read(*file_paths)
      version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
                                version_file, re.M)
      if version_match:
          return version_match.group(1)
      raise RuntimeError("Unable to find version string.")
  
  
  setup(
      name='dotbot',
  
      version=find_version('dotbot', '__init__.py'),
  
      description='A tool that bootstraps your dotfiles',
      long_description=long_description,
      long_description_content_type='text/markdown',
  
      url='https://github.com/anishathalye/dotbot',
  
      author='Anish Athalye',
      author_email='me@anishathalye.com',
  
      license='MIT',
  
      classifiers=[
          'Development Status :: 5 - Production/Stable',
  
          'Intended Audience :: Developers',
  
          'License :: OSI Approved :: MIT License',
  
          'Programming Language :: Python :: 2',
          'Programming Language :: Python :: 2.7',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.2',
          'Programming Language :: Python :: 3.3',
          'Programming Language :: Python :: 3.4',
          'Programming Language :: Python :: 3.5',
          'Programming Language :: Python :: 3.6',
  
          'Topic :: Utilities',
      ],
  
      keywords='dotfiles',
  
      packages=find_packages(),
  
      setup_requires=[
          'setuptools>=38.6.0',
          'wheel>=0.31.0',
      ],
  
      install_requires=[
          'PyYAML>=3.12,<4',
      ],
  
      # To provide executable scripts, use entry points in preference to the
      # "scripts" keyword. Entry points provide cross-platform support and allow
      # pip to create the appropriate form of executable for the target platform.
      entry_points={
          'console_scripts': [
              'dotbot=dotbot:main',
          ],
      },
  )
  
subject: Fix missing packages in PyPI distribution