lftools-uv 0.1.0__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 (204) hide show
  1. lftools_uv-0.1.0/.gitignore +60 -0
  2. lftools_uv-0.1.0/PKG-INFO +271 -0
  3. lftools_uv-0.1.0/README.md +132 -0
  4. lftools_uv-0.1.0/docs/_static/logo.png +0 -0
  5. lftools_uv-0.1.0/docs/_templates/relations.html +21 -0
  6. lftools_uv-0.1.0/docs/commands/config.rst +24 -0
  7. lftools_uv-0.1.0/docs/commands/dco.rst +25 -0
  8. lftools_uv-0.1.0/docs/commands/deploy.rst +49 -0
  9. lftools_uv-0.1.0/docs/commands/gerrit.rst +107 -0
  10. lftools_uv-0.1.0/docs/commands/github.rst +61 -0
  11. lftools_uv-0.1.0/docs/commands/index.rst +36 -0
  12. lftools_uv-0.1.0/docs/commands/infofile.rst +54 -0
  13. lftools_uv-0.1.0/docs/commands/lfidapi.rst +50 -0
  14. lftools_uv-0.1.0/docs/commands/license.rst +19 -0
  15. lftools_uv-0.1.0/docs/commands/nexus.rst +116 -0
  16. lftools_uv-0.1.0/docs/commands/nexus2.rst +45 -0
  17. lftools_uv-0.1.0/docs/commands/nexus3.rst +74 -0
  18. lftools_uv-0.1.0/docs/commands/openstack.rst +97 -0
  19. lftools_uv-0.1.0/docs/commands/rtd.rst +82 -0
  20. lftools_uv-0.1.0/docs/commands/schema.rst +17 -0
  21. lftools_uv-0.1.0/docs/commands/sign.rst +44 -0
  22. lftools_uv-0.1.0/docs/commands/version.rst +29 -0
  23. lftools_uv-0.1.0/docs/conf.py +94 -0
  24. lftools_uv-0.1.0/docs/conf.yaml +16 -0
  25. lftools_uv-0.1.0/docs/favicon.ico +0 -0
  26. lftools_uv-0.1.0/docs/index.rst +34 -0
  27. lftools_uv-0.1.0/docs/installation.rst +31 -0
  28. lftools_uv-0.1.0/docs/jenkins/index.rst +15 -0
  29. lftools_uv-0.1.0/docs/jenkins/plugins.rst +27 -0
  30. lftools_uv-0.1.0/docs/release-notes.rst +21 -0
  31. lftools_uv-0.1.0/docs/requirements.txt +13 -0
  32. lftools_uv-0.1.0/lftools_uv/__init__.py +44 -0
  33. lftools_uv-0.1.0/lftools_uv/api/__init__.py +10 -0
  34. lftools_uv-0.1.0/lftools_uv/api/client.py +92 -0
  35. lftools_uv-0.1.0/lftools_uv/api/endpoints/__init__.py +10 -0
  36. lftools_uv-0.1.0/lftools_uv/api/endpoints/gerrit.py +433 -0
  37. lftools_uv-0.1.0/lftools_uv/api/endpoints/nexus2.py +301 -0
  38. lftools_uv-0.1.0/lftools_uv/api/endpoints/nexus3.py +408 -0
  39. lftools_uv-0.1.0/lftools_uv/api/endpoints/readthedocs.py +269 -0
  40. lftools_uv-0.1.0/lftools_uv/api/exceptions.py +19 -0
  41. lftools_uv-0.1.0/lftools_uv/cli/__init__.py +125 -0
  42. lftools_uv-0.1.0/lftools_uv/cli/config.py +63 -0
  43. lftools_uv-0.1.0/lftools_uv/cli/dco.py +89 -0
  44. lftools_uv-0.1.0/lftools_uv/cli/deploy.py +329 -0
  45. lftools_uv-0.1.0/lftools_uv/cli/gerrit.py +233 -0
  46. lftools_uv-0.1.0/lftools_uv/cli/github_cli.py +282 -0
  47. lftools_uv-0.1.0/lftools_uv/cli/infofile.py +354 -0
  48. lftools_uv-0.1.0/lftools_uv/cli/jenkins/__init__.py +244 -0
  49. lftools_uv-0.1.0/lftools_uv/cli/jenkins/builds.py +53 -0
  50. lftools_uv-0.1.0/lftools_uv/cli/jenkins/jobs.py +68 -0
  51. lftools_uv-0.1.0/lftools_uv/cli/jenkins/nodes.py +42 -0
  52. lftools_uv-0.1.0/lftools_uv/cli/jenkins/plugins.py +188 -0
  53. lftools_uv-0.1.0/lftools_uv/cli/jenkins/token.py +176 -0
  54. lftools_uv-0.1.0/lftools_uv/cli/ldap_cli.py +187 -0
  55. lftools_uv-0.1.0/lftools_uv/cli/lfidapi.py +86 -0
  56. lftools_uv-0.1.0/lftools_uv/cli/license.py +64 -0
  57. lftools_uv-0.1.0/lftools_uv/cli/nexus.py +236 -0
  58. lftools_uv-0.1.0/lftools_uv/cli/nexus2/__init__.py +39 -0
  59. lftools_uv-0.1.0/lftools_uv/cli/nexus2/privilege.py +58 -0
  60. lftools_uv-0.1.0/lftools_uv/cli/nexus2/repository.py +61 -0
  61. lftools_uv-0.1.0/lftools_uv/cli/nexus2/role.py +60 -0
  62. lftools_uv-0.1.0/lftools_uv/cli/nexus2/user.py +61 -0
  63. lftools_uv-0.1.0/lftools_uv/cli/nexus3/__init__.py +46 -0
  64. lftools_uv-0.1.0/lftools_uv/cli/nexus3/asset.py +55 -0
  65. lftools_uv-0.1.0/lftools_uv/cli/nexus3/privilege.py +36 -0
  66. lftools_uv-0.1.0/lftools_uv/cli/nexus3/repository.py +36 -0
  67. lftools_uv-0.1.0/lftools_uv/cli/nexus3/role.py +50 -0
  68. lftools_uv-0.1.0/lftools_uv/cli/nexus3/script.py +87 -0
  69. lftools_uv-0.1.0/lftools_uv/cli/nexus3/tag.py +67 -0
  70. lftools_uv-0.1.0/lftools_uv/cli/nexus3/task.py +41 -0
  71. lftools_uv-0.1.0/lftools_uv/cli/nexus3/user.py +74 -0
  72. lftools_uv-0.1.0/lftools_uv/cli/no_cmd.py +26 -0
  73. lftools_uv-0.1.0/lftools_uv/cli/rtd.py +223 -0
  74. lftools_uv-0.1.0/lftools_uv/cli/schema.py +40 -0
  75. lftools_uv-0.1.0/lftools_uv/cli/sign.py +135 -0
  76. lftools_uv-0.1.0/lftools_uv/cli/utils.py +43 -0
  77. lftools_uv-0.1.0/lftools_uv/cli/version.py +110 -0
  78. lftools_uv-0.1.0/lftools_uv/config.py +64 -0
  79. lftools_uv-0.1.0/lftools_uv/conftest.py +9 -0
  80. lftools_uv-0.1.0/lftools_uv/deploy.py +945 -0
  81. lftools_uv-0.1.0/lftools_uv/git/__init__.py +10 -0
  82. lftools_uv-0.1.0/lftools_uv/git/gerrit.py +280 -0
  83. lftools_uv-0.1.0/lftools_uv/git/templates/config-params.yaml +3 -0
  84. lftools_uv-0.1.0/lftools_uv/git/templates/gitreview +5 -0
  85. lftools_uv-0.1.0/lftools_uv/git/templates/project.yaml +15 -0
  86. lftools_uv-0.1.0/lftools_uv/git/templates/serverCredentialMappings.yaml +18 -0
  87. lftools_uv-0.1.0/lftools_uv/github_helper.py +230 -0
  88. lftools_uv-0.1.0/lftools_uv/helpers.py +21 -0
  89. lftools_uv-0.1.0/lftools_uv/jenkins/__init__.py +73 -0
  90. lftools_uv-0.1.0/lftools_uv/jenkins/token.py +52 -0
  91. lftools_uv-0.1.0/lftools_uv/ldap_cli.py +21 -0
  92. lftools_uv-0.1.0/lftools_uv/lfidapi.py +212 -0
  93. lftools_uv-0.1.0/lftools_uv/license.py +81 -0
  94. lftools_uv-0.1.0/lftools_uv/nexus/__init__.py +332 -0
  95. lftools_uv-0.1.0/lftools_uv/nexus/cmd.py +544 -0
  96. lftools_uv-0.1.0/lftools_uv/nexus/release_docker_hub.py +919 -0
  97. lftools_uv-0.1.0/lftools_uv/nexus/util.py +34 -0
  98. lftools_uv-0.1.0/lftools_uv/oauth2_helper.py +42 -0
  99. lftools_uv-0.1.0/lftools_uv/openstack/__init__.py +12 -0
  100. lftools_uv-0.1.0/lftools_uv/openstack/cmd.py +256 -0
  101. lftools_uv-0.1.0/lftools_uv/openstack/image.py +241 -0
  102. lftools_uv-0.1.0/lftools_uv/openstack/no_cmd.py +26 -0
  103. lftools_uv-0.1.0/lftools_uv/openstack/object.py +25 -0
  104. lftools_uv-0.1.0/lftools_uv/openstack/server.py +95 -0
  105. lftools_uv-0.1.0/lftools_uv/openstack/stack.py +210 -0
  106. lftools_uv-0.1.0/lftools_uv/openstack/volume.py +98 -0
  107. lftools_uv-0.1.0/lftools_uv/schema.py +46 -0
  108. lftools_uv-0.1.0/lftools_uv/shell/__init__.py +11 -0
  109. lftools_uv-0.1.0/lftools_uv/shell/autocorrectinfofile.py +42 -0
  110. lftools_uv-0.1.0/lftools_uv/shell/dco.py +144 -0
  111. lftools_uv-0.1.0/lftools_uv/shell/deploy.py +42 -0
  112. lftools_uv-0.1.0/lftools_uv/shell/fix_yamllint.py +42 -0
  113. lftools_uv-0.1.0/lftools_uv/shell/gerrit_create.py +42 -0
  114. lftools_uv-0.1.0/lftools_uv/shell/inactivecommitters.py +42 -0
  115. lftools_uv-0.1.0/lftools_uv/shell/sign.py +42 -0
  116. lftools_uv-0.1.0/lftools_uv/shell/version.py +42 -0
  117. lftools_uv-0.1.0/lftools_uv/shell/yaml4info.py +42 -0
  118. lftools_uv-0.1.0/pyproject.toml +283 -0
  119. lftools_uv-0.1.0/shell/autocorrectinfofile +169 -0
  120. lftools_uv-0.1.0/shell/deploy +850 -0
  121. lftools_uv-0.1.0/shell/fix_yamllint +129 -0
  122. lftools_uv-0.1.0/shell/gerrit_create +253 -0
  123. lftools_uv-0.1.0/shell/inactivecommitters +108 -0
  124. lftools_uv-0.1.0/shell/sign +331 -0
  125. lftools_uv-0.1.0/shell/version +176 -0
  126. lftools_uv-0.1.0/shell/yaml4info +64 -0
  127. lftools_uv-0.1.0/tests/fixtures/deploy/m2repo/4.0.3-SNAPSHOT/maven-metadata.xml +20 -0
  128. lftools_uv-0.1.0/tests/fixtures/deploy/m2repo/4.0.3-SNAPSHOT/maven-metadata.xml.md5 +1 -0
  129. lftools_uv-0.1.0/tests/fixtures/deploy/m2repo/4.0.3-SNAPSHOT/maven-metadata.xml.sha1 +1 -0
  130. lftools_uv-0.1.0/tests/fixtures/deploy/m2repo/4.0.3-SNAPSHOT/odlparent-lite-4.0.3-20181120.113136-1.pom +542 -0
  131. lftools_uv-0.1.0/tests/fixtures/deploy/m2repo/4.0.3-SNAPSHOT/odlparent-lite-4.0.3-20181120.113136-1.pom.md5 +1 -0
  132. lftools_uv-0.1.0/tests/fixtures/deploy/m2repo/4.0.3-SNAPSHOT/odlparent-lite-4.0.3-20181120.113136-1.pom.sha1 +1 -0
  133. lftools_uv-0.1.0/tests/fixtures/deploy/m2repo/maven-metadata.xml +11 -0
  134. lftools_uv-0.1.0/tests/fixtures/deploy/m2repo/maven-metadata.xml.md5 +1 -0
  135. lftools_uv-0.1.0/tests/fixtures/deploy/m2repo/maven-metadata.xml.sha1 +1 -0
  136. lftools_uv-0.1.0/tests/fixtures/deploy/workspace/aaa/aaa-cert/target/surefire-reports/org.opendaylight.aaa.cert.test.AaaCertMdsalProviderTest-output.txt +4 -0
  137. lftools_uv-0.1.0/tests/fixtures/deploy/workspace/aaa/aaa-cert/target/surefire-reports/org.opendaylight.aaa.cert.test.AaaCertProviderTest-output.txt +4 -0
  138. lftools_uv-0.1.0/tests/fixtures/deploy/workspace/aaa/aaa-cert/target/surefire-reports/org.opendaylight.aaa.cert.test.AaaCertRpcServiceImplTest-output.txt +4 -0
  139. lftools_uv-0.1.0/tests/fixtures/deploy/workspace/aaa/aaa-cert/target/surefire-reports/org.opendaylight.aaa.cert.test.KeyStoresDataUtilsTest-output.txt +4 -0
  140. lftools_uv-0.1.0/tests/fixtures/deploy/workspace/abc.txt +1 -0
  141. lftools_uv-0.1.0/tests/fixtures/deploy/workspace-archivesfile/abc.txt +1 -0
  142. lftools_uv-0.1.0/tests/fixtures/deploy/workspace-archivesfile/archives +0 -0
  143. lftools_uv-0.1.0/tests/fixtures/deploy/workspace-noarchives/abc.txt +1 -0
  144. lftools_uv-0.1.0/tests/fixtures/deploy/workspace-patternfile/dir1/abc.txt +1 -0
  145. lftools_uv-0.1.0/tests/fixtures/deploy/workspace-patternfile/dir2/abc2.txt +1 -0
  146. lftools_uv-0.1.0/tests/fixtures/deploy/zip-test-files/test.tar.xz +0 -0
  147. lftools_uv-0.1.0/tests/fixtures/deploy/zip-test-files/test.zip +0 -0
  148. lftools_uv-0.1.0/tests/fixtures/license/license-header.txt +9 -0
  149. lftools_uv-0.1.0/tests/fixtures/license/license.py +10 -0
  150. lftools_uv-0.1.0/tests/fixtures/license/no_license1.py +1 -0
  151. lftools_uv-0.1.0/tests/fixtures/license/no_license2.py +1 -0
  152. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_bad_regexp +1 -0
  153. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_dockertags-gizmo.json +224 -0
  154. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_dockertags-gizmo2.json +38 -0
  155. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_dockertags-sdc-helm-validator-missing1.json +222 -0
  156. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_dockertags-sdc-helm-validator-missing2.json +191 -0
  157. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_dockertags-sdc-helm-validator.json +253 -0
  158. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_dockertags-sdnc-aaf-image-page1.json +317 -0
  159. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_dockertags-sdnc-aaf-image-page2.json +317 -0
  160. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_dockertags-sdnc-aaf-image-page3.json +317 -0
  161. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_dockertags-sdnc-aaf-image-page4.json +317 -0
  162. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_dockertags-sdnc-aaf-image-page5.json +69 -0
  163. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_good_regexp +1 -0
  164. lftools_uv-0.1.0/tests/fixtures/nexus/releasedockerhub_reponamelist1.txt +4 -0
  165. lftools_uv-0.1.0/tests/fixtures/nexus/role_config-good.yaml +15 -0
  166. lftools_uv-0.1.0/tests/fixtures/nexus/settings.yaml +4 -0
  167. lftools_uv-0.1.0/tests/fixtures/nexus/simplified_privs_list.json +40 -0
  168. lftools_uv-0.1.0/tests/fixtures/nexus/simplified_roles_list.json +30 -0
  169. lftools_uv-0.1.0/tests/fixtures/nexus/staging_activities_closed.xml +34 -0
  170. lftools_uv-0.1.0/tests/fixtures/nexus/staging_activities_released.xml +56 -0
  171. lftools_uv-0.1.0/tests/fixtures/nexus/staging_activities_releasing.xml +55 -0
  172. lftools_uv-0.1.0/tests/fixtures/rtd/project_build_details.json +3 -0
  173. lftools_uv-0.1.0/tests/fixtures/rtd/project_build_list.json +8 -0
  174. lftools_uv-0.1.0/tests/fixtures/rtd/project_details.json +3 -0
  175. lftools_uv-0.1.0/tests/fixtures/rtd/project_list.json +8 -0
  176. lftools_uv-0.1.0/tests/fixtures/rtd/project_version_details.json +3 -0
  177. lftools_uv-0.1.0/tests/fixtures/rtd/project_version_list.json +8 -0
  178. lftools_uv-0.1.0/tests/fixtures/rtd/subproject_create.json +3 -0
  179. lftools_uv-0.1.0/tests/fixtures/rtd/subproject_details.json +5 -0
  180. lftools_uv-0.1.0/tests/fixtures/rtd/subproject_list.json +10 -0
  181. lftools_uv-0.1.0/tests/fixtures/schema/ipv6-broken.yaml +28 -0
  182. lftools_uv-0.1.0/tests/fixtures/schema/release-broken.yaml +28 -0
  183. lftools_uv-0.1.0/tests/fixtures/schema/release.yaml +28 -0
  184. lftools_uv-0.1.0/tests/fixtures/schema/schema.yaml +56 -0
  185. lftools_uv-0.1.0/tests/fixtures/version_bump/bump_order/README +5 -0
  186. lftools_uv-0.1.0/tests/fixtures/version_bump/bump_order/pom.xml +23 -0
  187. lftools_uv-0.1.0/tests/fixtures/version_bump/bump_order/pom.xml.expected +23 -0
  188. lftools_uv-0.1.0/tests/fixtures/version_bump/release/README +2 -0
  189. lftools_uv-0.1.0/tests/fixtures/version_bump/release/pom.xml +8 -0
  190. lftools_uv-0.1.0/tests/fixtures/version_bump/release/pom.xml.expected +8 -0
  191. lftools_uv-0.1.0/tests/fixtures/version_bump/snapshot/README +2 -0
  192. lftools_uv-0.1.0/tests/fixtures/version_bump/snapshot/pom.xml +8 -0
  193. lftools_uv-0.1.0/tests/fixtures/version_bump/snapshot/pom.xml.expected +8 -0
  194. lftools_uv-0.1.0/tests/fixtures/version_release/snapshot/README +2 -0
  195. lftools_uv-0.1.0/tests/fixtures/version_release/snapshot/pom.xml +8 -0
  196. lftools_uv-0.1.0/tests/fixtures/version_release/snapshot/pom.xml.expected +8 -0
  197. lftools_uv-0.1.0/tests/test_api_client.py +54 -0
  198. lftools_uv-0.1.0/tests/test_deploy.py +841 -0
  199. lftools_uv-0.1.0/tests/test_license.py +60 -0
  200. lftools_uv-0.1.0/tests/test_nexus.py +141 -0
  201. lftools_uv-0.1.0/tests/test_release_docker_hub.py +907 -0
  202. lftools_uv-0.1.0/tests/test_rtd.py +209 -0
  203. lftools_uv-0.1.0/tests/test_schema.py +39 -0
  204. lftools_uv-0.1.0/tests/test_version.py +62 -0
@@ -0,0 +1,60 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ # SPDX-FileCopyrightText: 2025 The Linux Foundation
3
+
4
+ # Temporary and binary files
5
+ *~
6
+ *.py[cod]
7
+ *.so
8
+ *.cfg
9
+ !.isort.cfg
10
+ !setup.cfg
11
+ *.orig
12
+ *.log
13
+ *.pot
14
+ __pycache__/*
15
+ .cache/*
16
+ .*.swp
17
+ */.ipynb_checkpoints/*
18
+ .DS_Store
19
+
20
+ # Project files
21
+ .ropeproject
22
+ .project
23
+ .pydevproject
24
+ .settings
25
+ .idea
26
+ .vscode
27
+ tags
28
+
29
+ # Package files
30
+ *.egg
31
+ *.eggs/
32
+ .installed.cfg
33
+ *.egg-info
34
+
35
+ # Unittest and coverage
36
+ htmlcov/*
37
+ .coverage
38
+ .coverage.*
39
+ .tox
40
+ junit*.xml
41
+ coverage.xml
42
+ .pytest_cache/
43
+
44
+ # Build and docs folder/files
45
+ build/*
46
+ dist/*
47
+ sdist/*
48
+ docs/api/*
49
+ docs/_rst/*
50
+ docs/_build/*
51
+ cover/*
52
+ MANIFEST
53
+
54
+ # Per-project virtualenvs
55
+ .venv*/
56
+ .conda*/
57
+ .python-version
58
+
59
+ # Node
60
+ node_modules/*
@@ -0,0 +1,271 @@
1
+ Metadata-Version: 2.4
2
+ Name: lftools-uv
3
+ Version: 0.1.0
4
+ Summary: Linux Foundation Release Engineering Tools
5
+ Project-URL: Homepage, https://docs.releng.linuxfoundation.org/projects/lftools-uv
6
+ Project-URL: Bug Tracker, https://github.com/lfit/lftools-uv/issues
7
+ Project-URL: Documentation, https://docs.releng.linuxfoundation.org/projects/lftools-uv
8
+ Project-URL: GitHub Pages, https://modeseven-lfit.github.io/lftools-uv/
9
+ Project-URL: Source Code, https://github.com/lfit/lftools-uv
10
+ Project-URL: Repository, https://github.com/lfit/lftools-uv
11
+ Project-URL: Changelog, https://github.com/lfit/lftools-uv/releases
12
+ Author-email: LF Release Engineering <releng@linuxfoundation.org>
13
+ Maintainer-email: LF Release Engineering <releng@linuxfoundation.org>
14
+ License: EPL-1.0 OR Apache-2.0
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: Information Technology
17
+ Classifier: License :: OSI Approved :: Eclipse Public License 1.0 (EPL-1.0)
18
+ Classifier: Operating System :: POSIX :: Linux
19
+ Classifier: Programming Language :: Python
20
+ Classifier: Programming Language :: Python :: 3.8
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python :: 3.13
26
+ Requires-Python: >=3.8
27
+ Requires-Dist: appdirs
28
+ Requires-Dist: aspy-yaml
29
+ Requires-Dist: attrs
30
+ Requires-Dist: beautifulsoup4
31
+ Requires-Dist: boto3
32
+ Requires-Dist: bs4
33
+ Requires-Dist: certifi
34
+ Requires-Dist: cfgv
35
+ Requires-Dist: chardet
36
+ Requires-Dist: click
37
+ Requires-Dist: defusedxml
38
+ Requires-Dist: deprecated
39
+ Requires-Dist: dnspython
40
+ Requires-Dist: docker
41
+ Requires-Dist: email-validator
42
+ Requires-Dist: filelock
43
+ Requires-Dist: gitpython
44
+ Requires-Dist: httplib2
45
+ Requires-Dist: identify
46
+ Requires-Dist: idna
47
+ Requires-Dist: jinja2
48
+ Requires-Dist: jsonschema
49
+ Requires-Dist: lxml
50
+ Requires-Dist: multi-key-dict
51
+ Requires-Dist: munch
52
+ Requires-Dist: nodeenv
53
+ Requires-Dist: oauth2client
54
+ Requires-Dist: openstacksdk>=2.1.0
55
+ Requires-Dist: pbr
56
+ Requires-Dist: pyasn1
57
+ Requires-Dist: pyasn1-modules
58
+ Requires-Dist: pygerrit2
59
+ Requires-Dist: pygithub
60
+ Requires-Dist: pyjwt
61
+ Requires-Dist: pyrsistent
62
+ Requires-Dist: python-jenkins
63
+ Requires-Dist: pyyaml
64
+ Requires-Dist: requests>=2.32.0
65
+ Requires-Dist: rsa
66
+ Requires-Dist: ruamel-yaml
67
+ Requires-Dist: ruamel-yaml-clib
68
+ Requires-Dist: six
69
+ Requires-Dist: soupsieve
70
+ Requires-Dist: tabulate
71
+ Requires-Dist: toml
72
+ Requires-Dist: tqdm
73
+ Requires-Dist: urllib3<3.0.0,>=2.2.3
74
+ Requires-Dist: websocket-client
75
+ Requires-Dist: wrapt
76
+ Requires-Dist: xdg
77
+ Provides-Extra: all
78
+ Requires-Dist: bandit; extra == 'all'
79
+ Requires-Dist: black; extra == 'all'
80
+ Requires-Dist: boto3-stubs; extra == 'all'
81
+ Requires-Dist: isort; extra == 'all'
82
+ Requires-Dist: mypy; extra == 'all'
83
+ Requires-Dist: osc-lib~=2.2.0; extra == 'all'
84
+ Requires-Dist: pre-commit; extra == 'all'
85
+ Requires-Dist: pytest-click>=1.1.0; extra == 'all'
86
+ Requires-Dist: pytest-cov>=5.0.0; extra == 'all'
87
+ Requires-Dist: pytest-datafiles>=3.0.0; extra == 'all'
88
+ Requires-Dist: pytest-mock>=3.14.0; extra == 'all'
89
+ Requires-Dist: pytest-responses>=0.5.1; extra == 'all'
90
+ Requires-Dist: pytest>=8.3.0; extra == 'all'
91
+ Requires-Dist: python-ldap~=3.1.0; extra == 'all'
92
+ Requires-Dist: ruff; extra == 'all'
93
+ Requires-Dist: safety; extra == 'all'
94
+ Requires-Dist: tox; extra == 'all'
95
+ Requires-Dist: types-deprecated; extra == 'all'
96
+ Requires-Dist: types-httplib2; extra == 'all'
97
+ Requires-Dist: types-jsonschema; extra == 'all'
98
+ Requires-Dist: types-pyxdg; extra == 'all'
99
+ Requires-Dist: types-pyyaml; extra == 'all'
100
+ Requires-Dist: types-requests; extra == 'all'
101
+ Requires-Dist: types-six; extra == 'all'
102
+ Requires-Dist: types-tabulate; extra == 'all'
103
+ Requires-Dist: types-tqdm; extra == 'all'
104
+ Provides-Extra: dev
105
+ Requires-Dist: bandit; extra == 'dev'
106
+ Requires-Dist: black; extra == 'dev'
107
+ Requires-Dist: boto3-stubs; extra == 'dev'
108
+ Requires-Dist: isort; extra == 'dev'
109
+ Requires-Dist: mypy; extra == 'dev'
110
+ Requires-Dist: pre-commit; extra == 'dev'
111
+ Requires-Dist: ruff; extra == 'dev'
112
+ Requires-Dist: safety; extra == 'dev'
113
+ Requires-Dist: tox; extra == 'dev'
114
+ Requires-Dist: types-deprecated; extra == 'dev'
115
+ Requires-Dist: types-httplib2; extra == 'dev'
116
+ Requires-Dist: types-jsonschema; extra == 'dev'
117
+ Requires-Dist: types-pyxdg; extra == 'dev'
118
+ Requires-Dist: types-pyyaml; extra == 'dev'
119
+ Requires-Dist: types-requests; extra == 'dev'
120
+ Requires-Dist: types-six; extra == 'dev'
121
+ Requires-Dist: types-tabulate; extra == 'dev'
122
+ Requires-Dist: types-tqdm; extra == 'dev'
123
+ Provides-Extra: docs
124
+ Requires-Dist: furo; extra == 'docs'
125
+ Requires-Dist: sphinx>=4.0.0; extra == 'docs'
126
+ Requires-Dist: sphinxcontrib-programoutput; extra == 'docs'
127
+ Provides-Extra: ldap
128
+ Requires-Dist: python-ldap~=3.1.0; extra == 'ldap'
129
+ Provides-Extra: openstack
130
+ Requires-Dist: osc-lib~=2.2.0; extra == 'openstack'
131
+ Provides-Extra: test
132
+ Requires-Dist: pytest-click>=1.1.0; extra == 'test'
133
+ Requires-Dist: pytest-cov>=5.0.0; extra == 'test'
134
+ Requires-Dist: pytest-datafiles>=3.0.0; extra == 'test'
135
+ Requires-Dist: pytest-mock>=3.14.0; extra == 'test'
136
+ Requires-Dist: pytest-responses>=0.5.1; extra == 'test'
137
+ Requires-Dist: pytest>=8.3.0; extra == 'test'
138
+ Description-Content-Type: text/markdown
139
+
140
+ <!--
141
+ SPDX-License-Identifier: EPL-1.0
142
+ SPDX-FileCopyrightText: 2025 The Linux Foundation
143
+ -->
144
+
145
+ # LF Tools UV
146
+
147
+ This project's documentation is available on ReadTheDocs (RTD) and GitHub Pages:
148
+
149
+ - **Official Documentation**: <https://lf-releng-tools.readthedocs.io>
150
+ - **GitHub Pages**: <https://modeseven-lfit.github.io/lftools-uv/>
151
+
152
+ LF Tools UV is a collection of scripts and utilities that are useful to Linux
153
+ Foundation projects' CI and Releng related activities. We try to create
154
+ these tools to be as generic as possible such that they are reusable in other
155
+ CI environments.
156
+
157
+ ## Installation
158
+
159
+ ### Using uv (Recommended)
160
+
161
+ This project uses [uv](https://docs.astral.sh/uv/) for fast Python package management.
162
+
163
+ 1. Install uv:
164
+
165
+ ```bash
166
+ curl -LsSf https://astral.sh/uv/install.sh | sh
167
+ ```
168
+
169
+ 2. Install lftools-uv:
170
+
171
+ ```bash
172
+ uv pip install lftools-uv
173
+ ```
174
+
175
+ 3. Or install with all extras for development:
176
+
177
+ ```bash
178
+ uv pip install "lftools-uv[all]"
179
+ ```
180
+
181
+ ### Using pip
182
+
183
+ ```bash
184
+ pip install lftools-uv
185
+ ```
186
+
187
+ ## Development Setup
188
+
189
+ ### Prerequisites
190
+
191
+ - Python 3.8+
192
+ - uv (recommended) or pip
193
+
194
+ ### Quick Start with uv
195
+
196
+ 1. Clone the repository:
197
+
198
+ ```bash
199
+ git clone https://github.com/lfit/lftools-uv.git
200
+ cd lftools-uv
201
+ ```
202
+
203
+ 2. Install development dependencies:
204
+
205
+ ```bash
206
+ make install-dev
207
+ # or manually:
208
+ uv sync --extra dev --extra test --extra docs --extra ldap --extra openstack
209
+ ```
210
+
211
+ 3. Run tests:
212
+
213
+ ```bash
214
+ make test
215
+ # or manually:
216
+ uv run pytest
217
+ ```
218
+
219
+ 4. Format and lint code:
220
+
221
+ ```bash
222
+ make format
223
+ make lint
224
+ ```
225
+
226
+ ### Available Make Targets
227
+
228
+ - `make help` - Show all available targets
229
+ - `make install` - Install project dependencies
230
+ - `make install-dev` - Install with all development dependencies
231
+ - `make test` - Run tests
232
+ - `make lint` - Run linting
233
+ - `make format` - Format code
234
+ - `make build` - Build package
235
+ - `make docs` - Build documentation
236
+ - `make clean` - Clean build artifacts
237
+ - `make all` - Run full development pipeline
238
+
239
+ ### Ubuntu Dependencies
240
+
241
+ For development on Ubuntu, you may need:
242
+
243
+ - build-essential
244
+ - python3-dev
245
+ - libldap2-dev
246
+ - libsasl2-dev
247
+ - libssl-dev
248
+
249
+ ## Repository Information
250
+
251
+ ### Development Repository
252
+
253
+ For development and testing, we maintain this project at:
254
+
255
+ - **Development**: `https://github.com/modeseven-lfit/lftools-uv.git`
256
+
257
+ ### Production Repository
258
+
259
+ Once tested and approved, we publish releases from:
260
+
261
+ - **Production**: `https://github.com/lfit/lftools-uv.git`
262
+
263
+ ### Local Git Setup
264
+
265
+ Configure your local git remote for the development repository:
266
+
267
+ ```bash
268
+ git remote -v
269
+ # origin https://github.com/modeseven-lfit/lftools-uv.git (fetch)
270
+ # origin https://github.com/modeseven-lfit/lftools-uv.git (push)
271
+ ```
@@ -0,0 +1,132 @@
1
+ <!--
2
+ SPDX-License-Identifier: EPL-1.0
3
+ SPDX-FileCopyrightText: 2025 The Linux Foundation
4
+ -->
5
+
6
+ # LF Tools UV
7
+
8
+ This project's documentation is available on ReadTheDocs (RTD) and GitHub Pages:
9
+
10
+ - **Official Documentation**: <https://lf-releng-tools.readthedocs.io>
11
+ - **GitHub Pages**: <https://modeseven-lfit.github.io/lftools-uv/>
12
+
13
+ LF Tools UV is a collection of scripts and utilities that are useful to Linux
14
+ Foundation projects' CI and Releng related activities. We try to create
15
+ these tools to be as generic as possible such that they are reusable in other
16
+ CI environments.
17
+
18
+ ## Installation
19
+
20
+ ### Using uv (Recommended)
21
+
22
+ This project uses [uv](https://docs.astral.sh/uv/) for fast Python package management.
23
+
24
+ 1. Install uv:
25
+
26
+ ```bash
27
+ curl -LsSf https://astral.sh/uv/install.sh | sh
28
+ ```
29
+
30
+ 2. Install lftools-uv:
31
+
32
+ ```bash
33
+ uv pip install lftools-uv
34
+ ```
35
+
36
+ 3. Or install with all extras for development:
37
+
38
+ ```bash
39
+ uv pip install "lftools-uv[all]"
40
+ ```
41
+
42
+ ### Using pip
43
+
44
+ ```bash
45
+ pip install lftools-uv
46
+ ```
47
+
48
+ ## Development Setup
49
+
50
+ ### Prerequisites
51
+
52
+ - Python 3.8+
53
+ - uv (recommended) or pip
54
+
55
+ ### Quick Start with uv
56
+
57
+ 1. Clone the repository:
58
+
59
+ ```bash
60
+ git clone https://github.com/lfit/lftools-uv.git
61
+ cd lftools-uv
62
+ ```
63
+
64
+ 2. Install development dependencies:
65
+
66
+ ```bash
67
+ make install-dev
68
+ # or manually:
69
+ uv sync --extra dev --extra test --extra docs --extra ldap --extra openstack
70
+ ```
71
+
72
+ 3. Run tests:
73
+
74
+ ```bash
75
+ make test
76
+ # or manually:
77
+ uv run pytest
78
+ ```
79
+
80
+ 4. Format and lint code:
81
+
82
+ ```bash
83
+ make format
84
+ make lint
85
+ ```
86
+
87
+ ### Available Make Targets
88
+
89
+ - `make help` - Show all available targets
90
+ - `make install` - Install project dependencies
91
+ - `make install-dev` - Install with all development dependencies
92
+ - `make test` - Run tests
93
+ - `make lint` - Run linting
94
+ - `make format` - Format code
95
+ - `make build` - Build package
96
+ - `make docs` - Build documentation
97
+ - `make clean` - Clean build artifacts
98
+ - `make all` - Run full development pipeline
99
+
100
+ ### Ubuntu Dependencies
101
+
102
+ For development on Ubuntu, you may need:
103
+
104
+ - build-essential
105
+ - python3-dev
106
+ - libldap2-dev
107
+ - libsasl2-dev
108
+ - libssl-dev
109
+
110
+ ## Repository Information
111
+
112
+ ### Development Repository
113
+
114
+ For development and testing, we maintain this project at:
115
+
116
+ - **Development**: `https://github.com/modeseven-lfit/lftools-uv.git`
117
+
118
+ ### Production Repository
119
+
120
+ Once tested and approved, we publish releases from:
121
+
122
+ - **Production**: `https://github.com/lfit/lftools-uv.git`
123
+
124
+ ### Local Git Setup
125
+
126
+ Configure your local git remote for the development repository:
127
+
128
+ ```bash
129
+ git remote -v
130
+ # origin https://github.com/modeseven-lfit/lftools-uv.git (fetch)
131
+ # origin https://github.com/modeseven-lfit/lftools-uv.git (push)
132
+ ```
Binary file
@@ -0,0 +1,21 @@
1
+ <!--
2
+ SPDX-FileCopyrightText: 2025 2025 The Linux Foundation
3
+
4
+ SPDX-License-Identifier: EPL-1.0
5
+ -->
6
+
7
+ <center>
8
+ <div class="btn-group" role="group" aria-label="...">
9
+ {% if prev %}
10
+ <a class="btn btn-default" href="{{ prev.link|e }}">Prev Page</a>
11
+ {% else %}
12
+ <button type="button" class="btn btn-default disabled">Prev Page</button>
13
+ {% endif %}
14
+
15
+ {% if next %}
16
+ <a class="btn btn-default" href="{{ next.link|e }}">Next Page</a>
17
+ {% else %}
18
+ <button type="button" class="btn btn-default disabled">Next Page</button>
19
+ {% endif %}
20
+ </div>
21
+ </center>
@@ -0,0 +1,24 @@
1
+ .. SPDX-FileCopyrightText: 2025 The Linux Foundation
2
+ ..
3
+ .. SPDX-License-Identifier: EPL-1.0
4
+
5
+ ******
6
+ config
7
+ ******
8
+
9
+ .. program-output:: lftools-uv config --help
10
+
11
+ Commands
12
+ ========
13
+
14
+
15
+
16
+ get
17
+ ---
18
+
19
+ .. program-output:: lftools-uv config get --help
20
+
21
+ set
22
+ ----
23
+
24
+ .. program-output:: lftools-uv config set --help
@@ -0,0 +1,25 @@
1
+ .. SPDX-FileCopyrightText: 2025 The Linux Foundation
2
+ ..
3
+ .. SPDX-License-Identifier: EPL-1.0
4
+
5
+ ***
6
+ dco
7
+ ***
8
+
9
+ .. program-output:: lftools-uv dco --help
10
+
11
+ Commands
12
+ ========
13
+
14
+
15
+
16
+ check
17
+ ---------
18
+
19
+ .. program-output:: lftools-uv dco check --help
20
+ List of git commit hash missing the DCO (Signed-off-by line).
21
+
22
+
23
+ .. note::
24
+
25
+ Check for exit status to determine if the DCO check passed.
@@ -0,0 +1,49 @@
1
+ .. SPDX-FileCopyrightText: 2025 The Linux Foundation
2
+ ..
3
+ .. SPDX-License-Identifier: EPL-1.0
4
+
5
+ ******
6
+ deploy
7
+ ******
8
+
9
+ .. program-output:: lftools-uv deploy --help
10
+
11
+ Commands
12
+ ========
13
+
14
+
15
+
16
+ archives
17
+ --------
18
+
19
+ .. program-output:: lftools-uv deploy archives --help
20
+
21
+ copy-archives
22
+ -------------
23
+
24
+ .. program-output:: lftools-uv deploy copy-archives --help
25
+
26
+ logs
27
+ ----
28
+
29
+ .. program-output:: lftools-uv deploy logs --help
30
+
31
+ maven-file
32
+ ----------
33
+
34
+ .. program-output:: lftools-uv deploy maven-file --help
35
+
36
+ nexus
37
+ -----
38
+
39
+ .. program-output:: lftools-uv deploy nexus --help
40
+
41
+ nexus-stage
42
+ -----------
43
+
44
+ .. program-output:: lftools-uv deploy nexus-stage --help
45
+
46
+ nexus-zip
47
+ ---------
48
+
49
+ .. program-output:: lftools-uv deploy nexus-zip --help
@@ -0,0 +1,107 @@
1
+ .. SPDX-FileCopyrightText: 2025 The Linux Foundation
2
+ ..
3
+ .. SPDX-License-Identifier: EPL-1.0
4
+
5
+ ******
6
+ gerrit
7
+ ******
8
+
9
+ .. program-output:: lftools-uv gerrit --help
10
+
11
+ Commands
12
+ ========
13
+
14
+ list-project-permissions
15
+ ------------------------
16
+
17
+ .. program-output:: lftools-uv gerrit list-project-permissions --help
18
+
19
+
20
+ list-project-inherits-from
21
+ --------------------------
22
+
23
+ .. program-output:: lftools-uv gerrit list-project-inherits-from --help
24
+
25
+
26
+ abandonchanges
27
+ --------------
28
+
29
+ .. program-output:: lftools-uv gerrit abandonchanges --help
30
+
31
+ addgitreview
32
+ ------------
33
+
34
+ .. program-output:: lftools-uv gerrit addgitreview --help
35
+
36
+
37
+ addgithubrights
38
+ ---------------
39
+
40
+ .. program-output:: lftools-uv gerrit addgithubrights --help
41
+
42
+
43
+ addfile
44
+ -------
45
+
46
+ .. program-output:: lftools-uv gerrit addfile --help
47
+
48
+
49
+ createproject
50
+ -------------
51
+
52
+ .. program-output:: lftools-uv gerrit createproject --help
53
+
54
+
55
+ create-saml-group
56
+ -----------------
57
+
58
+ .. program-output:: lftools-uv gerrit create-saml-group --help
59
+
60
+
61
+ addinfojob
62
+ ----------
63
+ .. program-output:: lftools-uv gerrit addinfojob --help
64
+
65
+
66
+ .. note::
67
+
68
+ Gerrit API methods require configuration in lftools-uv.ini
69
+ in a global [gerrit] section.
70
+ support for [gerrit.umbrella.tld] exists as well
71
+ signed_off_by required to push changes.
72
+ Projects that do not allow self merge will require
73
+ as project.example.org.second section for submission
74
+ of their .gitreview on project creation.
75
+
76
+
77
+ .. code-block:: none
78
+
79
+ [gerrit.example.org]
80
+ username = lfid
81
+ password = password
82
+ signed_off_by = Your Name <your@email.org>
83
+
84
+ [gerrit.example.org.second]
85
+ username = lfid2
86
+ password = password2
87
+ signed_off_by = Your Name <your@email.org>
88
+
89
+ addmavenconfig
90
+ --------------
91
+ .. program-output:: lftools-uv gerrit addmavenconfig --help
92
+
93
+
94
+ An example of the lftools-uv.ini entry for a Gerrit server making use of a full
95
+ configuration:
96
+
97
+ .. code-block:: none
98
+
99
+ [gerrit.example.org]
100
+ username = lfid
101
+ password = password
102
+ signed_off_by = Your Name <your@email.org>
103
+ endpoint = https://gerrit.example.org/
104
+ default_servers = releases,snapshots,staging,site
105
+ nexus3 = nexus3.example.org
106
+ nexus3_ports = 10001,10002,10003,10004
107
+ additional_credentials = {"docker.io": "dockerhub-cred", "nexus-iq": "nexus-iq-cred"}