text: import os
  import re
  from setuptools import setup
  
  
  here = os.path.abspath(os.path.dirname(__file__))
  
  
  # Read the version number from a source file.
  # Why read it, and not import?
  # see https://groups.google.com/d/topic/pypa-dev/0PkjVpcxTzQ/discussion
  def find_version(*file_paths):
      # Open in Latin-1 so that we avoid encoding errors.
      with open(os.path.join(here, *file_paths), encoding='latin1') as f:
          version_file = f.read()
  
      # The version line must have the form
      # __version__ = 'ver'
      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')
  
  
  def read_description(filename):
      with open(filename, encoding='utf-8') as f:
          return f.read()
  
  
  def read_requirements(filename):
      try:
          with open(filename) as f:
              return [line.rstrip() for line in f]
      except OSError:
          raise OSError(os.getcwd())
  
  
  setup(
      name='http-prompt',
      version=find_version('http_prompt', '__init__.py'),
      url='https://github.com/httpie/http-prompt',
      description='An interactive HTTP command-line client',
      long_description=read_description('README.rst'),
      author='Chang-Hung Liang',
      author_email='eliang.cs@gmail.com',
      license='MIT',
      packages=['http_prompt', 'http_prompt.context'],
      entry_points="""
          [console_scripts]
          http-prompt=http_prompt.cli:cli
      """,
      install_requires=read_requirements('requirements.txt'),
      classifiers=[
          'Development Status :: 3 - Alpha',
          'Environment :: Console',
          'Intended Audience :: Developers',
          'Intended Audience :: System Administrators',
          'License :: OSI Approved :: MIT License',
          'Topic :: Internet :: WWW/HTTP',
          'Topic :: Software Development',
          'Topic :: System :: Networking',
          'Topic :: Terminals',
          'Topic :: Text Processing',
          'Topic :: Utilities',
          'Operating System :: OS Independent',
          'Programming Language :: Python',
          'Programming Language :: Python :: 3.6',
          'Programming Language :: Python :: 3.7',
          'Programming Language :: Python :: 3.8',
          'Programming Language :: Python :: 3.9',
          'Programming Language :: Python :: 3.10',
      ]
  )
  