-
Notifications
You must be signed in to change notification settings - Fork 95
/
setup.py
57 lines (48 loc) · 1.8 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
"""Setup script for parliament"""
import os
import re
from setuptools import find_packages, setup
HERE = os.path.dirname(__file__)
VERSION_RE = re.compile(r"""__version__ = ['"]([0-9.]+)['"]""")
TESTS_REQUIRE = ["coverage", "nose"]
def get_version():
init = open(os.path.join(HERE, "parliament", "__init__.py")).read()
return VERSION_RE.search(init).group(1)
def get_description():
return open(
os.path.join(os.path.abspath(HERE), "README.md"), encoding="utf-8"
).read()
setup(
name="parliament",
version=get_version(),
author="Duo Security",
author_email="scott@summitroute.com",
description=("parliament audits your AWS IAM policies"),
long_description=get_description(),
long_description_content_type="text/markdown",
url="https://github.com/duo-labs/parliament",
entry_points={"console_scripts": "parliament=parliament.cli:main"},
test_suite="tests/unit",
tests_require=TESTS_REQUIRE,
extras_require={"dev": TESTS_REQUIRE + ["autoflake", "autopep8", "pylint"]},
install_requires=["boto3", "jmespath", "pyyaml", "json-cfg"],
setup_requires=["nose"],
packages=find_packages(exclude=["tests*"]),
package_data={
"parliament": ["iam_definition.json", "config.yaml"],
"parliament.community_auditors": ["config_override.yaml"],
},
zip_safe=True,
license="BSD 3",
keywords="aws parliament iam lint audit",
python_requires=">=3.6",
classifiers=[
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3 :: Only",
"Development Status :: 5 - Production/Stable",
],
)