mirror of
https://github.com/certbot/certbot.git
synced 2026-01-26 07:41:33 +03:00
102 lines
3.1 KiB
Python
102 lines
3.1 KiB
Python
from distutils.version import StrictVersion
|
|
import sys
|
|
|
|
from setuptools import __version__ as setuptools_version
|
|
from setuptools import find_packages
|
|
from setuptools import setup
|
|
from setuptools.command.test import test as TestCommand
|
|
|
|
version = '1.6.0.dev0'
|
|
|
|
# Please update tox.ini when modifying dependency version requirements
|
|
install_requires = [
|
|
# load_pem_private/public_key (>=0.6)
|
|
# rsa_recover_prime_factors (>=0.8)
|
|
'cryptography>=1.2.3',
|
|
# formerly known as acme.jose:
|
|
# 1.1.0+ is required to avoid the warnings described at
|
|
# https://github.com/certbot/josepy/issues/13.
|
|
'josepy>=1.1.0',
|
|
# Connection.set_tlsext_host_name (>=0.13)
|
|
'PyOpenSSL>=0.13.1',
|
|
'pyrfc3339',
|
|
'pytz',
|
|
'requests[security]>=2.6.0', # security extras added in 2.4.1
|
|
'requests-toolbelt>=0.3.0',
|
|
'setuptools',
|
|
'six>=1.9.0', # needed for python_2_unicode_compatible
|
|
]
|
|
|
|
setuptools_known_environment_markers = (StrictVersion(setuptools_version) >= StrictVersion('36.2'))
|
|
if setuptools_known_environment_markers:
|
|
install_requires.append('mock ; python_version < "3.3"')
|
|
elif 'bdist_wheel' in sys.argv[1:]:
|
|
raise RuntimeError('Error, you are trying to build certbot wheels using an old version '
|
|
'of setuptools. Version 36.2+ of setuptools is required.')
|
|
elif sys.version_info < (3,3):
|
|
install_requires.append('mock')
|
|
|
|
dev_extras = [
|
|
'pytest',
|
|
'pytest-xdist',
|
|
'tox',
|
|
]
|
|
|
|
docs_extras = [
|
|
'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags
|
|
'sphinx_rtd_theme',
|
|
]
|
|
|
|
|
|
class PyTest(TestCommand):
|
|
user_options = []
|
|
|
|
def initialize_options(self):
|
|
TestCommand.initialize_options(self)
|
|
self.pytest_args = ''
|
|
|
|
def run_tests(self):
|
|
import shlex
|
|
# import here, cause outside the eggs aren't loaded
|
|
import pytest
|
|
errno = pytest.main(shlex.split(self.pytest_args))
|
|
sys.exit(errno)
|
|
|
|
|
|
setup(
|
|
name='acme',
|
|
version=version,
|
|
description='ACME protocol implementation in Python',
|
|
url='https://github.com/letsencrypt/letsencrypt',
|
|
author="Certbot Project",
|
|
author_email='client-dev@letsencrypt.org',
|
|
license='Apache License 2.0',
|
|
python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*',
|
|
classifiers=[
|
|
'Development Status :: 5 - Production/Stable',
|
|
'Intended Audience :: Developers',
|
|
'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',
|
|
'Topic :: Internet :: WWW/HTTP',
|
|
'Topic :: Security',
|
|
],
|
|
|
|
packages=find_packages(),
|
|
include_package_data=True,
|
|
install_requires=install_requires,
|
|
extras_require={
|
|
'dev': dev_extras,
|
|
'docs': docs_extras,
|
|
},
|
|
test_suite='acme',
|
|
tests_require=["pytest"],
|
|
cmdclass={"test": PyTest},
|
|
)
|