setup.py 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. try:
  2. from setuptools import setup, find_packages
  3. except ImportError:
  4. from ez_setup import use_setuptools
  5. use_setuptools()
  6. from setuptools import setup, find_packages
  7. _long_description = '''
  8. This is a HTTPS client implementation for httplib and urllib2 based on
  9. PyOpenSSL. PyOpenSSL provides a more fully featured SSL implementation over the
  10. default provided with Python and importantly enables full verification of the
  11. SSL peer.
  12. Prerequisites
  13. =============
  14. This has been developed and tested for Python 2.6 and 2.7 with pyOpenSSL 0.13.
  15. Note that proxy support is only available from Python 2.6.2 onwards. pyasn1 is
  16. required for correct SSL verification with subjectAltNames.
  17. Installation
  18. ============
  19. Installation can be performed using easy_install or pip.
  20. Running ndg_httpclient
  21. ======================
  22. A simple script for fetching data using HTTP or HTTPS GET from a specified URL.
  23. Parameter::
  24. url The URL of the resource to be fetched
  25. Options::
  26. -h, --help Show help message and exit.
  27. -c FILE, --certificate=FILE
  28. Certificate file - defaults to $HOME/credentials.pem
  29. -k FILE, --private-key=FILE
  30. Private key file - defaults to the certificate file
  31. -t DIR, --ca-certificate-dir=DIR
  32. Trusted CA certificate file directory.
  33. -d, --debug Print debug information - this may be useful in
  34. solving problems with HTTP or HTTPS access to a
  35. server.
  36. -f FILE, --fetch=FILE Output file
  37. -n, --no-verify-peer Skip verification of peer certificate.
  38. '''
  39. setup(
  40. name='ndg_httpsclient',
  41. version="0.2.1",
  42. description='Provides enhanced HTTPS support for httplib and urllib2 using '
  43. 'PyOpenSSL',
  44. author='Richard Wilkinson and Philip Kershaw',
  45. author_email='Philip.Kershaw@stfc.ac.uk',
  46. url='http://ndg-security.ceda.ac.uk/wiki/ndg_httpsclient/',
  47. long_description=_long_description,
  48. license='BSD - See LICENCE file for details',
  49. namespace_packages=['ndg'],
  50. packages=find_packages(),
  51. package_dir={'ndg.httpsclient': 'ndg/httpsclient'},
  52. package_data={
  53. 'ndg.httpsclient': [
  54. 'test/README',
  55. 'test/scripts/*.sh',
  56. 'test/pki/localhost.*',
  57. 'test/pki/ca/*.0'
  58. ],
  59. },
  60. install_requires = ['PyOpenSSL'],
  61. extras_require = {'subjectAltName_support': 'pyasn1'},
  62. classifiers = [
  63. 'Development Status :: 3 - Alpha',
  64. 'Environment :: Console',
  65. 'Environment :: Web Environment',
  66. 'Intended Audience :: End Users/Desktop',
  67. 'Intended Audience :: Developers',
  68. 'Intended Audience :: System Administrators',
  69. 'Intended Audience :: Science/Research',
  70. 'License :: OSI Approved :: BSD License',
  71. 'Natural Language :: English',
  72. 'Operating System :: Microsoft :: Windows',
  73. 'Operating System :: POSIX :: Linux',
  74. 'Programming Language :: Python',
  75. 'Topic :: Security',
  76. 'Topic :: Internet',
  77. 'Topic :: Scientific/Engineering',
  78. 'Topic :: System :: Distributed Computing',
  79. 'Topic :: System :: Systems Administration :: Authentication/Directory',
  80. 'Topic :: Software Development :: Libraries :: Python Modules'
  81. ],
  82. zip_safe = False,
  83. entry_points = {
  84. 'console_scripts': ['ndg_httpclient = ndg.httpsclient.utils:main',
  85. ],
  86. }
  87. )