First stab at extracting deps in setup.py to extras
This commit is contained in:
parent
3fb7cf75d4
commit
49b12ab7f5
@ -1,2 +1,2 @@
|
|||||||
# Please add requirements to setup.py
|
# Please add requirements to setup.py
|
||||||
-e .
|
-e .[all]
|
||||||
|
55
setup.py
55
setup.py
@ -33,22 +33,13 @@ install_requires = [
|
|||||||
"boto>=2.36.0",
|
"boto>=2.36.0",
|
||||||
"boto3>=1.9.201",
|
"boto3>=1.9.201",
|
||||||
"botocore>=1.12.201",
|
"botocore>=1.12.201",
|
||||||
"cryptography>=2.3.0",
|
|
||||||
"requests>=2.5",
|
"requests>=2.5",
|
||||||
"xmltodict",
|
"xmltodict",
|
||||||
"six>1.9",
|
"six>1.9",
|
||||||
"werkzeug",
|
"werkzeug",
|
||||||
"PyYAML>=5.1",
|
|
||||||
"pytz",
|
"pytz",
|
||||||
"ecdsa<0.15",
|
|
||||||
"python-dateutil<3.0.0,>=2.1",
|
"python-dateutil<3.0.0,>=2.1",
|
||||||
"python-jose[cryptography]>=3.1.0,<4.0.0",
|
|
||||||
"docker>=2.5.1",
|
|
||||||
"jsondiff>=1.1.2",
|
|
||||||
"aws-xray-sdk!=0.96,>=0.93",
|
|
||||||
"responses>=0.9.0",
|
"responses>=0.9.0",
|
||||||
"idna<3,>=2.5",
|
|
||||||
"cfn-lint>=0.4.0",
|
|
||||||
"MarkupSafe<2.0", # This is a Jinja2 dependency, 2.0.0a1 currently seems broken
|
"MarkupSafe<2.0", # This is a Jinja2 dependency, 2.0.0a1 currently seems broken
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -72,7 +63,6 @@ if PY2:
|
|||||||
"mock<=3.0.5",
|
"mock<=3.0.5",
|
||||||
"more-itertools==5.0.0",
|
"more-itertools==5.0.0",
|
||||||
"setuptools==44.0.0",
|
"setuptools==44.0.0",
|
||||||
"sshpubkeys>=3.1.0,<4.0",
|
|
||||||
"zipp==0.6.0",
|
"zipp==0.6.0",
|
||||||
]
|
]
|
||||||
else:
|
else:
|
||||||
@ -81,14 +71,57 @@ else:
|
|||||||
"mock",
|
"mock",
|
||||||
"more-itertools",
|
"more-itertools",
|
||||||
"setuptools",
|
"setuptools",
|
||||||
"sshpubkeys>=3.1.0",
|
|
||||||
"zipp",
|
"zipp",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
_dep_cryptography = "cryptography>=2.3.0"
|
||||||
|
_dep_PyYAML = "PyYAML>=5.1"
|
||||||
|
_dep_python_jose = "python-jose[cryptography]>=3.1.0,<4.0.0"
|
||||||
|
_dep_python_jose_ecdsa_pin = "ecdsa<0.15" # https://github.com/spulec/moto/pull/3263#discussion_r477404984
|
||||||
|
_dep_docker = "docker>=2.5.1"
|
||||||
|
_dep_jsondiff = "jsondiff>=1.1.2"
|
||||||
|
_dep_aws_xray_sdk = "aws-xray-sdk!=0.96,>=0.93"
|
||||||
|
_dep_idna = "idna<3,>=2.5"
|
||||||
|
_dep_cfn_lint = "cfn-lint>=0.4.0"
|
||||||
|
_dep_sshpubkeys_py2 = "sshpubkeys>=3.1.0,<4.0; python_version<'3'"
|
||||||
|
_dep_sshpubkeys_py3 = "sshpubkeys>=3.1.0; python_version>'3'"
|
||||||
|
|
||||||
|
all_extra_deps = [
|
||||||
|
_dep_cryptography,
|
||||||
|
_dep_PyYAML,
|
||||||
|
_dep_python_jose,
|
||||||
|
_dep_python_jose_ecdsa_pin,
|
||||||
|
_dep_docker,
|
||||||
|
_dep_jsondiff,
|
||||||
|
_dep_aws_xray_sdk,
|
||||||
|
_dep_idna,
|
||||||
|
_dep_cfn_lint,
|
||||||
|
_dep_sshpubkeys_py2,
|
||||||
|
_dep_sshpubkeys_py3,
|
||||||
|
]
|
||||||
|
|
||||||
|
# TODO: do we want to add ALL services here?
|
||||||
|
# i.e. even those without extra dependencies.
|
||||||
|
# Would be good for future-compatibility, I guess.
|
||||||
|
extras_per_service = {
|
||||||
|
"ec2": [_dep_cryptography, _dep_sshpubkeys_py2, _dep_sshpubkeys_py3],
|
||||||
|
'acm': [_dep_cryptography],
|
||||||
|
'iam': [_dep_cryptography],
|
||||||
|
'cloudformation': [_dep_PyYAML, _dep_cfn_lint],
|
||||||
|
'cognitoidp': [_dep_python_jose, _dep_python_jose_ecdsa_pin],
|
||||||
|
'awslambda': [_dep_docker],
|
||||||
|
'batch': [_dep_docker],
|
||||||
|
'iotdata': [_dep_jsondiff],
|
||||||
|
'xray': [_dep_aws_xray_sdk],
|
||||||
|
}
|
||||||
|
|
||||||
extras_require = {
|
extras_require = {
|
||||||
|
'all': all_extra_deps,
|
||||||
'server': ['flask'],
|
'server': ['flask'],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extras_require.update(extras_per_service)
|
||||||
|
|
||||||
# https://hynek.me/articles/conditional-python-dependencies/
|
# https://hynek.me/articles/conditional-python-dependencies/
|
||||||
if int(setuptools.__version__.split(".", 1)[0]) < 18:
|
if int(setuptools.__version__.split(".", 1)[0]) < 18:
|
||||||
if sys.version_info[0:2] < (3, 3):
|
if sys.version_info[0:2] < (3, 3):
|
||||||
|
Loading…
Reference in New Issue
Block a user