setup.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #!/usr/bin/env python
  2. import os
  3. import re
  4. import sys
  5. from codecs import open
  6. try:
  7. from setuptools import setup
  8. except ImportError:
  9. from distutils.core import setup
  10. if sys.argv[-1] == 'publish':
  11. os.system('python setup.py sdist upload')
  12. sys.exit()
  13. packages = [
  14. 'requests',
  15. 'requests.packages',
  16. 'requests.packages.chardet',
  17. 'requests.packages.urllib3',
  18. 'requests.packages.urllib3.packages',
  19. 'requests.packages.urllib3.contrib',
  20. 'requests.packages.urllib3.util',
  21. 'requests.packages.urllib3.packages.ssl_match_hostname',
  22. ]
  23. requires = []
  24. version = ''
  25. with open('requests/__init__.py', 'r') as fd:
  26. reg = re.compile(r'__version__\s*=\s*[\'"]([^\'"]*)[\'"]')
  27. for line in fd:
  28. m = reg.match(line)
  29. if m:
  30. version = m.group(1)
  31. break
  32. if not version:
  33. raise RuntimeError('Cannot find version information')
  34. with open('README.rst', 'r', 'utf-8') as f:
  35. readme = f.read()
  36. with open('HISTORY.rst', 'r', 'utf-8') as f:
  37. history = f.read()
  38. setup(
  39. name='requests',
  40. version=version,
  41. description='Python HTTP for Humans.',
  42. long_description=readme + '\n\n' + history,
  43. author='Kenneth Reitz',
  44. author_email='me@kennethreitz.com',
  45. url='http://python-requests.org',
  46. packages=packages,
  47. package_data={'': ['LICENSE', 'NOTICE'], 'requests': ['*.pem']},
  48. package_dir={'requests': 'requests'},
  49. include_package_data=True,
  50. install_requires=requires,
  51. license='Apache 2.0',
  52. zip_safe=False,
  53. classifiers=(
  54. 'Development Status :: 5 - Production/Stable',
  55. 'Intended Audience :: Developers',
  56. 'Natural Language :: English',
  57. 'License :: OSI Approved :: Apache Software License',
  58. 'Programming Language :: Python',
  59. 'Programming Language :: Python :: 2.6',
  60. 'Programming Language :: Python :: 2.7',
  61. 'Programming Language :: Python :: 3',
  62. 'Programming Language :: Python :: 3.3',
  63. 'Programming Language :: Python :: 3.4'
  64. ),
  65. extras_require={
  66. 'security': ['pyOpenSSL', 'ndg-httpsclient', 'pyasn1'],
  67. },
  68. )