text: #!/usr/bin/env python
  # -*- coding: utf-8 -*-
  from __future__ import absolute_import, print_function
  
  #
  # Copyright 2007-2016 The Python-Twitter Developers
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  # http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  import os
  import re
  import codecs
  
  from setuptools import setup, find_packages
  
  
  cwd = os.path.abspath(os.path.dirname(__file__))
  
  def read(filename):
      with codecs.open(os.path.join(cwd, filename), 'rb', 'utf-8') as h:
          return h.read()
  
  metadata = read(os.path.join(cwd, 'twitter', '__init__.py'))
  
  def extract_metaitem(meta):
      # swiped from https://hynek.me 's attr package
      meta_match = re.search(r"""^__{meta}__\s+=\s+['\"]([^'\"]*)['\"]""".format(meta=meta),
                             metadata, re.MULTILINE)
      if meta_match:
          return meta_match.group(1)
      raise RuntimeError('Unable to find __{meta}__ string.'.format(meta=meta))
  
  setup(
      name='python-twitter',
      version=extract_metaitem('version'),
      license=extract_metaitem('license'),
      description=extract_metaitem('description'),
      long_description=(read('README.rst') + '\n\n' +
                        read('AUTHORS.rst') + '\n\n' +
                        read('CHANGES')),
      author=extract_metaitem('author'),
      author_email=extract_metaitem('email'),
      maintainer=extract_metaitem('author'),
      maintainer_email=extract_metaitem('email'),
      url=extract_metaitem('url'),
      download_url=extract_metaitem('download_url'),
      packages=find_packages(exclude=('tests', 'docs')),
      platforms=['Any'],
      install_requires=['future', 'requests', 'requests-oauthlib'],
      setup_requires=['pytest-runner'],
      tests_require=['pytest'],
      keywords='twitter api',
      classifiers=[
          'Development Status :: 5 - Production/Stable',
          'Intended Audience :: Developers',
          'License :: OSI Approved :: Apache Software License',
          'Operating System :: OS Independent',
          'Topic :: Software Development :: Libraries :: Python Modules',
          'Topic :: Communications :: Chat',
          'Topic :: Internet',
          'Programming Language :: Python',
          'Programming Language :: Python :: 2',
          'Programming Language :: Python :: 2.7',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.6',
      ],
  )
  