| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #!/usr/bin/env python
- # Learn more: https://github.com/kennethreitz/setup.py
- import os
- import re
- import sys
- from codecs import open
- from setuptools import setup
- from setuptools.command.test import test as TestCommand
- here = os.path.abspath(os.path.dirname(__file__))
- class PyTest(TestCommand):
- user_options = [('pytest-args=', 'a', "Arguments to pass into py.test")]
- def initialize_options(self):
- TestCommand.initialize_options(self)
- try:
- from multiprocessing import cpu_count
- self.pytest_args = ['-n', str(cpu_count()), '--boxed']
- except (ImportError, NotImplementedError):
- self.pytest_args = ['-n', '1', '--boxed']
- def finalize_options(self):
- TestCommand.finalize_options(self)
- self.test_args = []
- self.test_suite = True
- def run_tests(self):
- import pytest
- errno = pytest.main(self.pytest_args)
- sys.exit(errno)
- # 'setup.py publish' shortcut.
- if sys.argv[-1] == 'publish':
- os.system('python setup.py sdist bdist_wheel')
- os.system('twine upload dist/*')
- sys.exit()
- packages = ['requests']
- requires = [
- #'chardet>=3.0.2,<4', # LGPL and imports have been removed
- 'idna>=2.5,<3',
- 'urllib3>=1.21.1,<1.26,!=1.25.0,!=1.25.1',
- 'certifi>=2017.4.17'
- ]
- test_requirements = [
- 'pytest-httpbin==0.0.7',
- 'pytest-cov',
- 'pytest-mock',
- 'pytest-xdist',
- 'PySocks>=1.5.6, !=1.5.7',
- 'pytest>=3'
- ]
- about = {}
- with open(os.path.join(here, 'requests', '__version__.py'), 'r', 'utf-8') as f:
- exec(f.read(), about)
- with open('README.md', 'r', 'utf-8') as f:
- readme = f.read()
- with open('HISTORY.md', 'r', 'utf-8') as f:
- history = f.read()
- setup(
- name=about['__title__'],
- version=about['__version__'],
- description=about['__description__'],
- long_description=readme,
- long_description_content_type='text/markdown',
- author=about['__author__'],
- author_email=about['__author_email__'],
- url=about['__url__'],
- packages=packages,
- package_data={'': ['LICENSE', 'NOTICE'], 'requests': ['*.pem']},
- package_dir={'requests': 'requests'},
- include_package_data=True,
- python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
- install_requires=requires,
- license=about['__license__'],
- zip_safe=False,
- classifiers=[
- 'Development Status :: 5 - Production/Stable',
- 'Intended Audience :: Developers',
- 'Natural Language :: English',
- 'License :: OSI Approved :: Apache Software License',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
- 'Programming Language :: Python :: 3.8',
- 'Programming Language :: Python :: Implementation :: CPython',
- 'Programming Language :: Python :: Implementation :: PyPy'
- ],
- cmdclass={'test': PyTest},
- tests_require=test_requirements,
- extras_require={
- 'security': ['pyOpenSSL >= 0.14', 'cryptography>=1.3.4'],
- 'socks': ['PySocks>=1.5.6, !=1.5.7'],
- 'socks:sys_platform == "win32" and python_version == "2.7"': ['win_inet_pton'],
- },
- project_urls={
- 'Documentation': 'https://requests.readthedocs.io',
- 'Source': 'https://github.com/psf/requests',
- },
- )
|