SOFTWARE BILL OF MATERIALS#
1[metadata]
2name = victorykit-aws-spitzel
3author = T. Rodney (victory-k.it)
4author_email = py-aws-spitzel@victoryk.it
5description = Advanced CloudTrail Event History Lookup for AWS IAM Forensics
6long_description = file: README.md
7long_description_content_type = text/markdown
8url = https://victorykit.bitbucket.io/py-aws-spitzel
9project_urls =
10 Bug Tracker = https://bitbucket.org/victorykit/py-aws-spitzel/issues
11classifiers =
12 Development Status :: 4 - Beta
13 Environment :: Other Environment
14 Intended Audience :: Developers
15 Topic :: Utilities
16 Topic :: Security
17 Programming Language :: Python :: 3.7
18 Programming Language :: Python :: 3.8
19 Programming Language :: Python :: 3.9
20 Operating System :: OS Independent
21 License :: Other/Proprietary License
22
23[options]
24install_requires =
25 boto3>=1.24.2,<2
26 jsonpath>=0.82,<1
27zip_safe = true
28package_dir =
29 =src
30python_requires = >=3.7
31test_suite = test
32packages = find:
33
34[options.entry_points]
35console_scripts =
36 aws-spitzel = aws_spitzel.__main__:main
37
38[options.packages.find]
39where = src
1[[source]]
2url = 'https://pypi.python.org/simple'
3verify_ssl = true
4name = 'pypi'
5
6[requires]
7python_version = '3'
8
9[scripts]
10"build" = "tox"
11"htmldocgen" = "tox -e htmldocgen"
12"mddocgen" = "tox -e mddocgen"
13"pdfdocgen" = "tox -e pdfdocgen"
14"publish" = "tox -e publish -e publish-docs"
15
16[dev-packages]
17tox = '==3.23.0'
18
19[packages]
20aws-spitzel = {editable = true, path = "."}
1[tox]
2skipsdist = true
3minversion = 3.7.0
4isolated_build = True
5envlist = lint, mddocgen, build, pdfdocgen, htmldocgen
6
7
8[testenv:lint]
9description = lint with pylint
10setenv = PYTHONPATH = {toxinidir}/src
11deps =
12 {toxinidir}
13 pylint >= 2.12.2, < 3
14commands =
15 python3 -m pylint {toxinidir}/src {posargs}
16
17
18[testenv:format]
19description = format code
20basepython = python3
21deps =
22 autopep8 >= 1.6.0, < 2
23commands =
24 python3 -m autopep8 -v src/ {posargs}
25
26
27[testenv:build]
28description = build and package
29basepython = python3
30setenv = PYTHONPATH = {toxinidir}/src
31deps =
32 build >= 0.5.1, < 1
33commands =
34 python3 -m build {posargs}
35
36
37[testenv:htmldocgen]
38description = build HTML documentation
39basepython = python3
40allowlist_externals =
41 sphinx-build
42deps =
43 sphinx >= 4.3.2, < 5
44 furo
45 sphinx-argparse
46 setuptools-scm >= 7.1.0, < 8
47 sphinx-autodoc-typehints >= 1.17.0, < 2
48 {toxinidir}
49setenv =
50 PLANTUML_LIMIT_SIZE=20000
51commands =
52 sphinx-build -d "{toxinidir}/build/docs/_tree/html" docs "build/docs/html" --color -W -bhtml {posargs}
53
54
55[testenv:mddocgen]
56description = build markdown repository documentation
57basepython = python3
58allowlist_externals =
59 sphinx-build
60deps =
61 sphinx >= 4.3.2, < 5
62 sphinx-markdown-builder >= 0.5.4, < 1
63 sphinx-argparse
64 sphinx-autodoc-typehints >= 1.17.0, < 2
65 setuptools-scm >= 7.1.0, < 8
66 {toxinidir}
67commands =
68 sphinx-build -d "{toxinidir}/build/docs/_tree/_" docs {toxinidir} --color -W -bmarkdown -treadme {posargs}
69
70
71[testenv:pdfdocgen]
72description = build single PDF document documentation
73basepython = python3
74allowlist_externals =
75 sphinx-build
76deps =
77 sphinx >= 4.3.2, < 5
78 furo
79 sphinx-argparse
80 rst2pdf >= 0.100, < 1
81 sphinx-autodoc-typehints >= 1.17.0, < 2
82 setuptools-scm >= 7.1.0, < 8
83 {toxinidir}
84commands =
85 sphinx-build -d "{toxinidir}/build/docs/_tree/_" docs "build/docs/pdf" --color -W -bpdf -tpdf {posargs}
86
87
88[testenv:publish]
89description = publish to pypi repository
90passenv =
91 #https://twine.readthedocs.io/en/stable/#environment-variables
92 TWINE_USERNAME
93 TWINE_PASSWORD
94 TWINE_REPOSITORY
95 TWINE_REPOSITORY_URL
96 TWINE_CERT
97 TWINE_NON_INTERACTIVE
98deps =
99 twine
100commands =
101 python3 -m twine upload "dist/*"
102
103
104[testenv:publish-docs]
105description = publish documentation
106setenv =
107 tmppath = {envdir}/git/vicytorykit.bitbucket.io
108passenv =
109 #https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/
110 BITBUCKET_REPO_SLUG
111allowlist_externals =
112 /bin/sh
113 /bin/rm
114 /bin/cp
115 /bin/mkdir
116 /usr/bin/git
117commands =
118 python3 -c "exec('import os\nif \'BITBUCKET_REPO_SLUG\' not in os.environ.keys(): exit(1)')"
119 rm -rf {env:tmppath}
120 git clone git@bitbucket.org:victorykit/victorykit.bitbucket.io.git {env:tmppath}
121 mkdir -p "{env:tmppath}/{env:BITBUCKET_REPO_SLUG}"
122 cp -r build/docs/html/. "{env:tmppath}/{env:BITBUCKET_REPO_SLUG}"
123 sh -c "cd {env:tmppath}; git add {env:BITBUCKET_REPO_SLUG}"
124 sh -c "cd {env:tmppath}; git -c 'user.name=victoryk.it Bot' -c 'user.email=commits-noreply@victoryk.it' commit -m 'updated {env:BITBUCKET_REPO_SLUG}'"
125 sh -c "cd {env:tmppath}; git push"