| | |
| | |
| |
|
| | 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) |
| |
|
| | |
| | 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,<3.1.0', |
| | 'idna>=2.5,<2.7', |
| | 'urllib3>=1.21.1,<1.23', |
| | '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>=2.8.0'] |
| |
|
| | about = {} |
| | with open(os.path.join(here, 'requests', '__version__.py'), 'r', 'utf-8') as f: |
| | exec(f.read(), about) |
| |
|
| | with open('README.rst', 'r', 'utf-8') as f: |
| | readme = f.read() |
| | with open('HISTORY.rst', 'r', 'utf-8') as f: |
| | history = f.read() |
| |
|
| | setup( |
| | name=about['__title__'], |
| | version=about['__version__'], |
| | description=about['__description__'], |
| | long_description=readme + '\n\n' + history, |
| | 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, |
| | 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.6', |
| | 'Programming Language :: Python :: 2.7', |
| | 'Programming Language :: Python :: 3', |
| | 'Programming Language :: Python :: 3.4', |
| | 'Programming Language :: Python :: 3.5', |
| | 'Programming Language :: Python :: 3.6', |
| | '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', 'idna>=2.0.0'], |
| | 'socks': ['PySocks>=1.5.6, !=1.5.7'], |
| | 'socks:sys_platform == "win32" and (python_version == "2.7" or python_version == "2.6")': ['win_inet_pton'], |
| | }, |
| | ) |
| |
|