SOFTWARE BILL OF MATERIALS#

 1[metadata]
 2name = victorykit-aws-myfa
 3author = Tiara Rodney (victory-k.it)
 4author_email = py-aws-mfa@victoryk.it
 5description = Convenience wrapper for MFA-authenticated AWS STS sessions
 6long_description = file: README.md
 7long_description_content_type = text/markdown
 8url = https://victorykit.bitbucket.io/py-aws-myfa
 9project_urls = 
10	Bug Tracker = https://bitbucket.org/victorykit/py-aws-myfa/jira
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]
24zip_safe = true
25package_dir = 
26	=src
27python_requires = >=3.7
28test_suite = test
29packages = find:
30
31[options.entry_points]
32console_scripts = 
33	aws-myfa = aws_myfa.__main__:main
34
35[options.packages.find]
36where = src
 1[[source]]
 2url = 'https://pypi.python.org/simple'
 3verify_ssl = true
 4name = 'pypi'
 5
 6[requires]
 7python_version = '3'
 8
 9[scripts]
10"docgen" = "tox"
11"htmldocgen" = "tox -e htmldocgen"
12"mddocgen" = "tox -e mddocgen"
13"pdfdocgen" = "tox -e pdfdocgen"
14
15[dev-packages]
16tox                    = '==3.23.0'
17
18[packages]
19aws-myfa = {editable = true, path = "."}
  1[tox]
  2skipsdist = true
  3minversion = 3.7.0
  4isolated_build = True
  5envlist = lint, mddocgen, build, 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    {toxinidir}
 47setenv = 
 48    PLANTUML_LIMIT_SIZE=20000
 49commands =
 50    sphinx-build -d "{toxinidir}/build/docs/_tree/html" docs "build/docs/html" --color -W -bhtml {posargs}
 51
 52
 53[testenv:mddocgen]
 54description = build markdown repository documentation
 55basepython = python3
 56allowlist_externals =
 57    sphinx-build
 58deps = 
 59    sphinx >= 4.3.2, < 5
 60    sphinx-markdown-builder >= 0.5.4, < 1
 61    sphinx-argparse
 62    {toxinidir}
 63commands =
 64    sphinx-build -d "{toxinidir}/build/docs/_tree/_" docs {toxinidir} --color -W -bmarkdown -treadme {posargs}
 65
 66
 67[testenv:pdfdocgen]
 68description = build single PDF document documentation
 69basepython = python3
 70allowlist_externals =
 71    sphinx-build
 72deps = 
 73    sphinx >= 4.3.2, < 5
 74    furo
 75    sphinx-argparse
 76    rst2pdf >= 0.100, < 1
 77    {toxinidir}
 78commands =
 79    sphinx-build -d "{toxinidir}/build/docs/_tree/_" docs "dist/docs/pdf" --color -W -bpdf -tpdf {posargs}
 80
 81
 82[testenv:publish]
 83description = publish to pypi repository
 84passenv =
 85    #https://twine.readthedocs.io/en/stable/#environment-variables
 86    TWINE_USERNAME
 87    TWINE_PASSWORD
 88    TWINE_REPOSITORY
 89    TWINE_REPOSITORY_URL
 90    TWINE_CERT
 91    TWINE_NON_INTERACTIVE
 92deps = 
 93    twine
 94commands =
 95    python3 -m twine upload "dist/*"
 96
 97
 98[testenv:publish-docs]
 99description = publish documentation
100setenv =
101    tmppath = {envdir}/git/vicytorykit.bitbucket.io
102passenv =
103    #https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/
104    BITBUCKET_REPO_SLUG
105allowlist_externals =
106    /bin/sh
107    /bin/rm
108    /bin/cp
109    /bin/mkdir
110    /usr/bin/git
111commands =
112    python3 -c "exec('import os\nif \'BITBUCKET_REPO_SLUG\' not in os.environ.keys(): exit(1)')"
113    rm -rf {env:tmppath}
114    git clone git@bitbucket.org:victorykit/victorykit.bitbucket.io.git {env:tmppath}
115    mkdir -p "{env:tmppath}/{env:BITBUCKET_REPO_SLUG}"
116    cp -r build/docs/html/. "{env:tmppath}/{env:BITBUCKET_REPO_SLUG}"
117    sh -c "cd {env:tmppath}; git add {env:BITBUCKET_REPO_SLUG}"
118    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}'"
119    sh -c "cd {env:tmppath}; git push"