forked from extern/httpie-cli
1274d869f6
Since Python 3, the mock dependency is no more required as it is already part of the unittest module.
117 lines
3.0 KiB
Python
117 lines
3.0 KiB
Python
# This is purely the result of trial and error.
|
|
|
|
import sys
|
|
import codecs
|
|
|
|
from setuptools import setup, find_packages
|
|
from setuptools.command.test import test as TestCommand
|
|
|
|
import httpie
|
|
|
|
|
|
class PyTest(TestCommand):
|
|
"""
|
|
Running `$ python setup.py test' simply installs minimal requirements
|
|
and runs the tests with no fancy stuff like parallel execution.
|
|
|
|
"""
|
|
|
|
def finalize_options(self):
|
|
TestCommand.finalize_options(self)
|
|
self.test_args = [
|
|
'--doctest-modules',
|
|
'--verbose',
|
|
'./httpie',
|
|
'./tests',
|
|
]
|
|
self.test_suite = True
|
|
|
|
def run_tests(self):
|
|
import pytest
|
|
sys.exit(pytest.main(self.test_args))
|
|
|
|
|
|
tests_require = [
|
|
'pytest-httpbin',
|
|
'pytest',
|
|
]
|
|
|
|
|
|
install_requires = [
|
|
'requests[socks]>=2.22.0',
|
|
'Pygments>=2.5.2',
|
|
'requests-toolbelt>=0.9.1',
|
|
'setuptools',
|
|
]
|
|
install_requires_win_only = [
|
|
'colorama>=0.2.4',
|
|
]
|
|
|
|
# Conditional dependencies:
|
|
|
|
# sdist
|
|
if 'bdist_wheel' not in sys.argv:
|
|
|
|
if 'win32' in str(sys.platform).lower():
|
|
# Terminal colors for Windows
|
|
install_requires.extend(install_requires_win_only)
|
|
|
|
|
|
# bdist_wheel
|
|
extras_require = {
|
|
# https://wheel.readthedocs.io/en/latest/#defining-conditional-dependencies
|
|
':sys_platform == "win32"': install_requires_win_only,
|
|
}
|
|
|
|
|
|
def long_description():
|
|
with codecs.open('README.rst', encoding='utf8') as f:
|
|
return f.read()
|
|
|
|
|
|
setup(
|
|
name='httpie',
|
|
version=httpie.__version__,
|
|
description=httpie.__doc__.strip(),
|
|
long_description=long_description(),
|
|
long_description_content_type='text/x-rst',
|
|
url='https://httpie.org/',
|
|
download_url=f'https://github.com/httpie/httpie/archive/{httpie.__version__}.tar.gz',
|
|
author=httpie.__author__,
|
|
author_email='jakub@roztocil.co',
|
|
license=httpie.__licence__,
|
|
packages=find_packages(),
|
|
entry_points={
|
|
'console_scripts': [
|
|
'http = httpie.__main__:main',
|
|
'https = httpie.__main__:main',
|
|
],
|
|
},
|
|
python_requires='>=3.6',
|
|
extras_require=extras_require,
|
|
install_requires=install_requires,
|
|
tests_require=tests_require,
|
|
cmdclass={'test': PyTest},
|
|
classifiers=[
|
|
'Development Status :: 5 - Production/Stable',
|
|
'Programming Language :: Python',
|
|
'Programming Language :: Python :: 3 :: Only',
|
|
'Environment :: Console',
|
|
'Intended Audience :: Developers',
|
|
'Intended Audience :: System Administrators',
|
|
'License :: OSI Approved :: BSD License',
|
|
'Topic :: Internet :: WWW/HTTP',
|
|
'Topic :: Software Development',
|
|
'Topic :: System :: Networking',
|
|
'Topic :: Terminals',
|
|
'Topic :: Text Processing',
|
|
'Topic :: Utilities'
|
|
],
|
|
project_urls={
|
|
'GitHub': 'https://github.com/httpie/httpie',
|
|
'Twitter': 'https://twitter.com/httpie',
|
|
'Documentation': 'https://httpie.org/docs',
|
|
'Online Demo': 'https://httpie.org/run',
|
|
},
|
|
)
|