old_contents: import codecs
  import os
  import re
  
  from setuptools import setup
  
  
  def read(*parts):
      """
      Build an absolute path from *parts* and and return the contents of the
      resulting file.  Assume UTF-8 encoding.
      """
      here = os.path.abspath(os.path.dirname(__file__))
      with codecs.open(os.path.join(here, *parts), 'r', 'utf-8') as f:
          return f.read()
  
  
  def find_version(*file_paths):
      """
      Build a path from *file_paths* and search for a ``__version__``
      string inside.
      """
      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.")
  
  
  if __name__ == "__main__":
      setup(
          classifiers=[
              'Environment :: Web Environment',
              'Intended Audience :: Developers',
              'License :: OSI Approved :: MIT License',
              'Operating System :: OS Independent',
              'Programming Language :: Python',
              'Programming Language :: Python :: 2.6',
              'Programming Language :: Python :: 2.7',
              'Programming Language :: Python :: Implementation :: CPython',
              'Programming Language :: Python :: Implementation :: PyPy',
              'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
              'Topic :: Software Development :: Libraries :: Python Modules'
          ],
          description="werkzeug + twisted.web",
          long_description=read('README.rst'),
          install_requires=[
              "Twisted>=12.1",
              "werkzeug"
          ],
          keywords="twisted flask werkzeug web",
          license="MIT",
          name="klein",
          packages=["klein", "klein.test"],
          url="https://github.com/twisted/klein",
          version=find_version('klein', '__init__.py'),
          maintainer='David Reid',
          maintainer_email='dreid@dreid.org',
      )
  
new_contents: import codecs
  import os
  import re
  
  from setuptools import setup
  
  
  def read(*parts):
      """
      Build an absolute path from *parts* and and return the contents of the
      resulting file.  Assume UTF-8 encoding.
      """
      here = os.path.abspath(os.path.dirname(__file__))
      with codecs.open(os.path.join(here, *parts), 'r', 'utf-8') as f:
          return f.read()
  
  
  def find_version(*file_paths):
      """
      Build a path from *file_paths* and search for a ``__version__``
      string inside.
      """
      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.")
  
  
  if __name__ == "__main__":
      setup(
          classifiers=[
              'Environment :: Web Environment',
              'Intended Audience :: Developers',
              'License :: OSI Approved :: MIT License',
              'Operating System :: OS Independent',
              'Programming Language :: Python',
              'Programming Language :: Python :: 2.6',
              'Programming Language :: Python :: 2.7',
              'Programming Language :: Python :: Implementation :: CPython',
              'Programming Language :: Python :: Implementation :: PyPy',
              'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
              'Topic :: Software Development :: Libraries :: Python Modules'
          ],
          description="werkzeug + twisted.web",
          long_description=read('README.rst'),
          install_requires=[
              "Twisted>=12.1",
              "werkzeug"
          ],
          keywords="twisted flask werkzeug web",
          license="MIT",
          name="klein",
          packages=["klein", "klein.test"],
          url="https://github.com/twisted/klein",
          version=find_version('klein', '__init__.py'),
          maintainer='HawkOwl',
          maintainer_email='hawkowl@atleastfornow.net',
      )
  
subject: set myself as the maintainer