awx-plugins-core 0.0.1a0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. awx_plugins_core-0.0.1a0/.codecov.yml +43 -0
  2. awx_plugins_core-0.0.1a0/.codespellrc +3 -0
  3. awx_plugins_core-0.0.1a0/.coveragerc +33 -0
  4. awx_plugins_core-0.0.1a0/.darglint +9 -0
  5. awx_plugins_core-0.0.1a0/.editorconfig +18 -0
  6. awx_plugins_core-0.0.1a0/.flake8 +134 -0
  7. awx_plugins_core-0.0.1a0/.git-blame-ignore-revs +71 -0
  8. awx_plugins_core-0.0.1a0/.git_archival.txt +3 -0
  9. awx_plugins_core-0.0.1a0/.gitattributes +8 -0
  10. awx_plugins_core-0.0.1a0/.github/workflows/ci-cd.yml +1072 -0
  11. awx_plugins_core-0.0.1a0/.github/workflows/pip-tools.yml +398 -0
  12. awx_plugins_core-0.0.1a0/.github/workflows/reusable-tox.yml +401 -0
  13. awx_plugins_core-0.0.1a0/.gitignore +330 -0
  14. awx_plugins_core-0.0.1a0/.isort.cfg +17 -0
  15. awx_plugins_core-0.0.1a0/.mypy.ini +34 -0
  16. awx_plugins_core-0.0.1a0/.pep8 +3 -0
  17. awx_plugins_core-0.0.1a0/.pip-tools.toml +5 -0
  18. awx_plugins_core-0.0.1a0/.pre-commit-config.yaml +234 -0
  19. awx_plugins_core-0.0.1a0/.pylintrc.toml +622 -0
  20. awx_plugins_core-0.0.1a0/.readthedocs.yaml +31 -0
  21. awx_plugins_core-0.0.1a0/.yamllint +18 -0
  22. awx_plugins_core-0.0.1a0/CHANGELOG.md +3 -0
  23. awx_plugins_core-0.0.1a0/CODE-OF-CONDUCT.md +3 -0
  24. awx_plugins_core-0.0.1a0/CONTRIBUTING.md +59 -0
  25. awx_plugins_core-0.0.1a0/DCO +37 -0
  26. awx_plugins_core-0.0.1a0/LICENSE +202 -0
  27. awx_plugins_core-0.0.1a0/PKG-INFO +291 -0
  28. awx_plugins_core-0.0.1a0/PROJECT +41 -0
  29. awx_plugins_core-0.0.1a0/README.md +50 -0
  30. awx_plugins_core-0.0.1a0/SECURITY.md +3 -0
  31. awx_plugins_core-0.0.1a0/bin/.gitignore +3 -0
  32. awx_plugins_core-0.0.1a0/bin/pip_constraint_helpers.py +105 -0
  33. awx_plugins_core-0.0.1a0/bin/pip_wrapper.py +38 -0
  34. awx_plugins_core-0.0.1a0/bin/print_lockfile_base_name.py +29 -0
  35. awx_plugins_core-0.0.1a0/bin/resolve_platform_lock_file.py +44 -0
  36. awx_plugins_core-0.0.1a0/dependencies/.gitignore +5 -0
  37. awx_plugins_core-0.0.1a0/dependencies/README.md +6 -0
  38. awx_plugins_core-0.0.1a0/dependencies/direct/.gitignore +4 -0
  39. awx_plugins_core-0.0.1a0/dependencies/direct/README.md +13 -0
  40. awx_plugins_core-0.0.1a0/dependencies/direct/build-dists.in +1 -0
  41. awx_plugins_core-0.0.1a0/dependencies/direct/build-docs.in +8 -0
  42. awx_plugins_core-0.0.1a0/dependencies/direct/linkcheck-docs.in +3 -0
  43. awx_plugins_core-0.0.1a0/dependencies/direct/metadata-validation.in +2 -0
  44. awx_plugins_core-0.0.1a0/dependencies/direct/pip-compile-build-lock.in +1 -0
  45. awx_plugins_core-0.0.1a0/dependencies/direct/pip-compile-tox-env-lock.in +1 -0
  46. awx_plugins_core-0.0.1a0/dependencies/direct/pip-compile.in +1 -0
  47. awx_plugins_core-0.0.1a0/dependencies/direct/pre-commit.in +1 -0
  48. awx_plugins_core-0.0.1a0/dependencies/direct/py-constraints.in +15 -0
  49. awx_plugins_core-0.0.1a0/dependencies/direct/py.in +8 -0
  50. awx_plugins_core-0.0.1a0/dependencies/direct/spellcheck-docs.in +3 -0
  51. awx_plugins_core-0.0.1a0/dependencies/direct/tox.in +1 -0
  52. awx_plugins_core-0.0.1a0/dependencies/lock-files/.gitignore +4 -0
  53. awx_plugins_core-0.0.1a0/dependencies/lock-files/README.md +24 -0
  54. awx_plugins_core-0.0.1a0/dependencies/lock-files/dist-build-constraints.txt +16 -0
  55. awx_plugins_core-0.0.1a0/dependencies/lock-files/pip-compile-cp311-linux-x86_64.txt +26 -0
  56. awx_plugins_core-0.0.1a0/dependencies/lock-files/pip-compile-cp312-linux-x86_64.txt +26 -0
  57. awx_plugins_core-0.0.1a0/dependencies/lock-files/pip-compile-cp313-linux-x86_64.txt +26 -0
  58. awx_plugins_core-0.0.1a0/dependencies/lock-files/py311-cp311-linux-x86_64.txt +33 -0
  59. awx_plugins_core-0.0.1a0/dependencies/lock-files/py312-cp312-linux-x86_64.txt +33 -0
  60. awx_plugins_core-0.0.1a0/dependencies/lock-files/py313-cp313-linux-x86_64.txt +33 -0
  61. awx_plugins_core-0.0.1a0/docs/.gitignore +1 -0
  62. awx_plugins_core-0.0.1a0/docs/_ext/spelling_stub_ext.py +86 -0
  63. awx_plugins_core-0.0.1a0/docs/_static/images/Ansible-Mark-RGB_Black.svg +14 -0
  64. awx_plugins_core-0.0.1a0/docs/_static/images/Ansible-Mark-RGB_White.svg +1 -0
  65. awx_plugins_core-0.0.1a0/docs/changelog.md +2 -0
  66. awx_plugins_core-0.0.1a0/docs/conf.py +199 -0
  67. awx_plugins_core-0.0.1a0/docs/contributing/code_of_conduct.md +2 -0
  68. awx_plugins_core-0.0.1a0/docs/contributing/guidelines.md +2 -0
  69. awx_plugins_core-0.0.1a0/docs/contributing/release_guide.md +63 -0
  70. awx_plugins_core-0.0.1a0/docs/contributing/security.md +2 -0
  71. awx_plugins_core-0.0.1a0/docs/index.md +48 -0
  72. awx_plugins_core-0.0.1a0/docs/pkg/.gitignore +3 -0
  73. awx_plugins_core-0.0.1a0/docs/pkg/_templates/.gitignore +2 -0
  74. awx_plugins_core-0.0.1a0/docs/pkg/_templates/toc.rst.jinja +9 -0
  75. awx_plugins_core-0.0.1a0/docs/spelling_wordlist.txt +6 -0
  76. awx_plugins_core-0.0.1a0/nitpick-style.toml +127 -0
  77. awx_plugins_core-0.0.1a0/pyproject.toml +134 -0
  78. awx_plugins_core-0.0.1a0/pytest.ini +84 -0
  79. awx_plugins_core-0.0.1a0/setup.cfg +4 -0
  80. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/aim.py +137 -0
  81. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/aws_secretsmanager.py +79 -0
  82. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/azure_kv.py +92 -0
  83. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/centrify_vault.py +192 -0
  84. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/conjur.py +157 -0
  85. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/dsv.py +126 -0
  86. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/hashivault.py +458 -0
  87. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/injectors.py +168 -0
  88. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/plugin.py +71 -0
  89. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/plugins.py +901 -0
  90. awx_plugins_core-0.0.1a0/src/awx_plugins/credentials/tss.py +101 -0
  91. awx_plugins_core-0.0.1a0/src/awx_plugins/inventory/plugins.py +410 -0
  92. awx_plugins_core-0.0.1a0/src/awx_plugins_core.egg-info/PKG-INFO +291 -0
  93. awx_plugins_core-0.0.1a0/src/awx_plugins_core.egg-info/SOURCES.txt +98 -0
  94. awx_plugins_core-0.0.1a0/src/awx_plugins_core.egg-info/dependency_links.txt +1 -0
  95. awx_plugins_core-0.0.1a0/src/awx_plugins_core.egg-info/entry_points.txt +24 -0
  96. awx_plugins_core-0.0.1a0/src/awx_plugins_core.egg-info/requires.txt +9 -0
  97. awx_plugins_core-0.0.1a0/src/awx_plugins_core.egg-info/top_level.txt +1 -0
  98. awx_plugins_core-0.0.1a0/tests/credential_plugins_test.py +155 -0
  99. awx_plugins_core-0.0.1a0/tests/importable_test.py +190 -0
  100. awx_plugins_core-0.0.1a0/tox.ini +652 -0
@@ -0,0 +1,43 @@
1
+ ---
2
+
3
+ codecov:
4
+ notify:
5
+ after_n_builds: 10 # Number of test matrix+lint jobs uploading coverage
6
+ wait_for_ci: false
7
+
8
+ require_ci_to_pass: false
9
+
10
+ token: cdeeaf15-22fb-4b66-ad64-f65790bf450b # repo-scoped
11
+
12
+ comment:
13
+ require_changes: true
14
+
15
+ coverage:
16
+ range: 100..100
17
+ status:
18
+ patch:
19
+ default:
20
+ target: 100%
21
+ flags:
22
+ - pytest
23
+ project:
24
+ default:
25
+ target: 100%
26
+ lib:
27
+ flags:
28
+ - pytest
29
+ paths:
30
+ - src/
31
+ target: 100%
32
+ tests:
33
+ flags:
34
+ - pytest
35
+ paths:
36
+ - tests/
37
+ target: 100%
38
+ typing:
39
+ flags:
40
+ - MyPy
41
+ target: 100%
42
+
43
+ ...
@@ -0,0 +1,3 @@
1
+ [codespell]
2
+ ignore-words = docs/spelling_wordlist.txt
3
+ ignore-words-list = THIRDPARTY
@@ -0,0 +1,33 @@
1
+ [html]
2
+ show_contexts = true
3
+ skip_covered = false
4
+
5
+ [paths]
6
+ source =
7
+ src
8
+ */src
9
+ *\src
10
+ */lib/pypy*/site-packages
11
+ */lib/python*/site-packages
12
+ *\Lib\site-packages
13
+
14
+ [report]
15
+ skip_covered = true
16
+ skip_empty = true
17
+ show_missing = true
18
+ exclude_also =
19
+ ^\s*@pytest\.mark\.xfail
20
+
21
+ [run]
22
+ branch = true
23
+ cover_pylib = false
24
+ # https://coverage.rtfd.io/en/latest/contexts.html#dynamic-contexts
25
+ # dynamic_context = test_function # conflicts with `pytest-cov` if set here
26
+ parallel = true
27
+ plugins =
28
+ covdefaults
29
+ relative_files = true
30
+ source =
31
+ .
32
+ source_pkgs =
33
+ awx_plugins
@@ -0,0 +1,9 @@
1
+ [darglint]
2
+ # NOTE: All `darglint` styles except for `sphinx` hit ridiculously low
3
+ # NOTE: performance on some of the in-project Python modules.
4
+ # Refs:
5
+ # * https://github.com/terrencepreilly/darglint/issues/186
6
+ # * https://github.com/wemake-services/wemake-python-styleguide/issues/2287
7
+ docstring_style = sphinx
8
+ enable = DAR104
9
+ strictness = full
@@ -0,0 +1,18 @@
1
+ root = True
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = lf
6
+ indent_size = 4
7
+ indent_style = space
8
+ insert_final_newline = True
9
+ trim_trailing_whitespace = True
10
+
11
+ [*.{bat,cmd,ps1}]
12
+ end_of_line = crlf
13
+
14
+ [*.{js,json,json5,yml,yaml,md,rb}]
15
+ indent_size = 2
16
+
17
+ [Makefile]
18
+ indent_style = tab
@@ -0,0 +1,134 @@
1
+ [flake8]
2
+
3
+ # Print the total number of errors:
4
+ count = true
5
+
6
+ # Don't even try to analyze these:
7
+ extend-exclude =
8
+ # Circle CI configs
9
+ .circleci,
10
+ # No need to traverse egg info dir
11
+ *.egg-info,
12
+ # GitHub configs
13
+ .github,
14
+ # Cache files of MyPy
15
+ .mypy_cache,
16
+ # Cache files of pytest
17
+ .pytest_cache,
18
+ # Temp dir of pytest-testmon
19
+ .tmontmp,
20
+ # Countless third-party libs in venvs
21
+ .tox,
22
+ # Occasional virtualenv dir
23
+ .venv,
24
+ # VS Code
25
+ .vscode,
26
+ # Temporary build dir
27
+ build,
28
+ # This contains sdists and wheels that we don't want to check
29
+ dist,
30
+ # Metadata of `pip wheel` cmd is autogenerated
31
+ pip-wheel-metadata,
32
+
33
+ # IMPORTANT: avoid using ignore option, always use extend-ignore instead
34
+ # Completely and unconditionally ignore the following errors:
35
+ extend-ignore =
36
+ # Legitimate cases, no need to "fix" these violations:
37
+ # E501: "line too long", its function is replaced by `flake8-length`
38
+ E501,
39
+ # W505: "doc line too long", its function is replaced by `flake8-length`
40
+ W505,
41
+ # S101: MyPy requires `asserts`, plus they're not bad if cooked well
42
+ S101,
43
+ # WPS300: "Found local folder import" -- nothing bad about this
44
+ WPS300,
45
+ # WPS305: "Found f string" -- nothing bad about this
46
+ WPS305,
47
+ # An opposite consistency expectation is currently enforced
48
+ # by pylint via: useless-object-inheritance (R0205):
49
+ # WPS306: "Found class without a base class: *" -- nothing bad about this
50
+ WPS306,
51
+ # WPS317 enforces weird indents
52
+ WPS317,
53
+ # WPS318 enforces weird indents too
54
+ WPS318,
55
+ # WPS326: "Found implicit string concatenation" -- nothing bad about this
56
+ WPS326,
57
+ # WPS422: "Found future import: *" -- we need these for multipython
58
+ WPS422,
59
+
60
+ # IMPORTANT: avoid using select option, always use extend-select instead
61
+ # Enable the following errors:
62
+ extend-select =
63
+ # B950: "line too long", longer than `max-line-length` + 10%
64
+ B950,
65
+
66
+ # https://wemake-python-stylegui.de/en/latest/pages/usage/formatter.html
67
+ format = wemake
68
+
69
+ # Let's not overcomplicate the code:
70
+ max-complexity = 10
71
+
72
+ # Accessibility/large fonts and PEP8 friendly.
73
+ # This is being flexibly extended through the `flake8-length`:
74
+ max-line-length = 79
75
+
76
+ # Allow certain violations in certain files:
77
+ # Please keep both sections of this list sorted, as it will be easier for others to find and add entries in the future
78
+ per-file-ignores =
79
+ # The following ignores have been researched and should be considered permanent
80
+ # each should be preceded with an explanation of each of the error codes
81
+ # If other ignores are added for a specific file in the section following this,
82
+ # these will need to be added to that line as well.
83
+
84
+ # There are multiple `assert`s (S101)
85
+ # and subprocesses (import – S404; call – S603) in tests;
86
+ # also, using fixtures looks like shadowing the outer scope (WPS442);
87
+ # furthermore, we should be able to import and test private attributes
88
+ # (WPS450) and modules (WPS436), and finally it's impossible to
89
+ # have <= members in tests (WPS202), including many local vars (WPS210),
90
+ # additionally test docstrings don't need param lists (DAR, DCO020):
91
+ tests/**.py: DAR, DCO020, S101, S404, S603, WPS202, WPS210, WPS436, WPS442, WPS450
92
+
93
+ # Count the number of occurrences of each error/warning code and print a report:
94
+ statistics = true
95
+
96
+ # ## Plugin-provided settings: ##
97
+
98
+ # flake8-eradicate
99
+ # E800:
100
+ eradicate-whitelist-extend = isort:\s+\w+|Ref:\s+https?:\/\/
101
+
102
+ # flake8-pytest-style
103
+ # PT001:
104
+ pytest-fixture-no-parentheses = true
105
+ # PT006:
106
+ pytest-parametrize-names-type = tuple
107
+ # PT007:
108
+ pytest-parametrize-values-type = tuple
109
+ pytest-parametrize-values-row-type = tuple
110
+ # PT023:
111
+ pytest-mark-no-parentheses = true
112
+
113
+ # flake8-rst-docstrings
114
+ rst-directives =
115
+ spelling
116
+ rst-roles =
117
+ # Built-in Sphinx roles:
118
+ class,
119
+ data,
120
+ file,
121
+ exc,
122
+ meth,
123
+ mod,
124
+ term,
125
+ py:class,
126
+ py:data,
127
+ py:exc,
128
+ py:meth,
129
+ py:term,
130
+ # Sphinx's internal role:
131
+ event,
132
+
133
+ # wemake-python-styleguide
134
+ show-source = true
@@ -0,0 +1,71 @@
1
+ # `git blame` master ignore list.
2
+ #
3
+ # This file contains a list of git hashes of revisions to be ignored
4
+ # by `git blame`. These revisions are considered "unimportant" in
5
+ # that they are unlikely to be what you are interested in when blaming.
6
+ # They are typically expected to be formatting-only changes.
7
+ #
8
+ # It can be used for `git blame` using `--ignore-revs-file` or by
9
+ # setting `blame.ignoreRevsFile` in the `git config`[1].
10
+ #
11
+ # Ignore these commits when reporting with blame. Calling
12
+ #
13
+ # git blame --ignore-revs-file .git-blame-ignore-revs
14
+ #
15
+ # will tell `git blame` to ignore changes made by these revisions when
16
+ # assigning blame, as if the change never happened.
17
+ #
18
+ # You can enable this as a default for your local repository by
19
+ # running
20
+ #
21
+ # git config blame.ignoreRevsFile .git-blame-ignore-revs
22
+ #
23
+ # This will probably be automatically picked by your IDE
24
+ # (VSCode+GitLens and JetBrains products are confirmed to do this).
25
+ #
26
+ # Important: if you are switching to a branch without this file,
27
+ # `git blame` will fail with an error.
28
+ #
29
+ # GitHub also excludes the commits listed below from its "Blame"
30
+ # views[2][3].
31
+ #
32
+ # [1]: https://git-scm.com/docs/git-blame#Documentation/git-blame.txt-blameignoreRevsFile
33
+ # [2]: https://github.blog/changelog/2022-03-24-ignore-commits-in-the-blame-view-beta/
34
+ # [3]: https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view
35
+ #
36
+ # Guidelines:
37
+ # - Only large (generally automated) reformatting or renaming PRs
38
+ # should be added to this list. Do not put things here just because
39
+ # you feel they are trivial or unimportant. If in doubt, do not put
40
+ # it on this list.
41
+ # - When adding a single revision, use inline comment to link relevant
42
+ # issue/PR. Alternatively, paste the commit title instead.
43
+ # Example:
44
+ # d4a8b7307acc2dc8a8833ccfa65426ad28b3ffc9 # https://github.com/sanitizers/octomachinery/issues/1
45
+ # - When adding multiple revisions (like a bulk of work over many
46
+ # commits), organize them in blocks. Precede each such block with a
47
+ # comment starting with the word "START", followed by a link to the
48
+ # relevant issue or PR. Add a similar comment after the last block
49
+ # line but use the word "END", followed by the same link.
50
+ # Alternatively, add or augment the link with a text motivation and
51
+ # description of work performed in each commit.
52
+ # After each individual commit in the block, add an inline comment
53
+ # with the commit title line.
54
+ # Example:
55
+ # # START https://github.com/sanitizers/octomachinery/issues/1
56
+ # 6f0bd2d8a1e6cd2e794cd39976e9756e0c85ac66 # Bulk-replace smile emojis with unicorns
57
+ # d53974df11dbc22cbea9dc7dcbc9896c25979a27 # Replace double with single quotes
58
+ # ... <rest of the list>
59
+ # # END https://github.com/sanitizers/octomachinery/issues/1
60
+ # - Only put full 40-character hashes on this list (not short hashes
61
+ # or any other revision reference).
62
+ # - Append to the bottom of the file, regardless of the chronological
63
+ # order of the revisions. Revisions within blocks should be in
64
+ # chronological order from oldest to newest.
65
+ # - Because you must use a hash, you need to append to this list in a
66
+ # follow-up PR to the actual reformatting PR that you are trying to
67
+ # ignore. This approach helps avoid issues with arbitrary rebases
68
+ # and squashes while the pull request is in progress.
69
+
70
+
71
+ 6a5f31597a8ffb5b58c1ff956bb7e9da20c77f62 # 💅 Auto-format the initial repository state
@@ -0,0 +1,3 @@
1
+ node: $Format:%H$
2
+ node-date: $Format:%cI$
3
+ describe-name: $Format:%(describe:tags=true,match=v[0-9]*)$
@@ -0,0 +1,8 @@
1
+ # Force LF line endings for text files
2
+ * text=auto eol=lf
3
+
4
+ # Needed for setuptools-scm to work with `git archive`-produced sources from GitHub's tar.gz URLs
5
+ .git_archival.txt export-subst
6
+
7
+ # Blame ignore list entries are expected to always be appended, never edited
8
+ .git-blame-ignore-revs merge=union