gitlab-projects-settings 6.3.0__tar.gz → 6.4.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 (82) hide show
  1. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.cz.yaml +22 -17
  2. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.gitlab-ci.yml +14 -13
  3. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.pre-commit-config.yaml +12 -11
  4. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/CHANGELOG.md +44 -0
  5. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/LICENSE +1 -1
  6. {gitlab_projects_settings-6.3.0/gitlab_projects_settings.egg-info → gitlab_projects_settings-6.4.0}/PKG-INFO +4 -5
  7. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/README.md +1 -0
  8. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/containers/rehost/images.txt +2 -2
  9. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0/gitlab_projects_settings.egg-info}/PKG-INFO +4 -5
  10. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/gitlab_projects_settings.egg-info/SOURCES.txt +2 -0
  11. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/gitlab_projects_settings.egg-info/requires.txt +2 -2
  12. gitlab_projects_settings-6.4.0/gitlab_projects_settings.egg-info/scm_file_list.json +76 -0
  13. gitlab_projects_settings-6.4.0/gitlab_projects_settings.egg-info/scm_version.json +8 -0
  14. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/mkdocs.yml +1 -1
  15. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/requirements/pages.txt +1 -1
  16. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/requirements/runtime.txt +2 -2
  17. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/setup.py +0 -2
  18. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/sonar-project.properties +1 -1
  19. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/cli/entrypoint.py +12 -5
  20. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/features/gitlab.py +4 -4
  21. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/package/settings.py +2 -2
  22. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/package/updates.py +7 -1
  23. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.coveragerc +0 -0
  24. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.gitattributes +0 -0
  25. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.gitignore +0 -0
  26. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.gitmodules +0 -0
  27. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.markdownlint.json +0 -0
  28. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.style.yapf +0 -0
  29. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.vscode/extensions.json +0 -0
  30. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/.vscode/settings.json +0 -0
  31. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/config/cliff.toml +0 -0
  32. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/containers/build/Dockerfile +0 -0
  33. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/containers/codestyle/Dockerfile +0 -0
  34. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/containers/deploy/Dockerfile +0 -0
  35. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/containers/pages/Dockerfile +0 -0
  36. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/containers/test-coverage-linux/Dockerfile +0 -0
  37. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/containers/test-coverage-windows/Dockerfile +0 -0
  38. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/containers/test-linux/Dockerfile +0 -0
  39. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/docs/.pages.in +0 -0
  40. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/docs/assets/images/favicon.png +0 -0
  41. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/docs/assets/scripts/mkdocs-exporter.js +0 -0
  42. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/docs/assets/stylesheets/custom.css +0 -0
  43. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/docs/assets/stylesheets/pdf.scss +0 -0
  44. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/docs/prepare.sh +0 -0
  45. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/docs/robots.txt +0 -0
  46. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/docs/templates/covers/back.html.j2 +0 -0
  47. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/docs/templates/covers/front.html.j2 +0 -0
  48. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/gitlab_projects_settings.egg-info/dependency_links.txt +0 -0
  49. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/gitlab_projects_settings.egg-info/entry_points.txt +0 -0
  50. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/gitlab_projects_settings.egg-info/top_level.txt +0 -0
  51. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/mypy.ini +0 -0
  52. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/requirements/build.txt +0 -0
  53. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/requirements/coverage.txt +0 -0
  54. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/requirements/deploy.txt +0 -0
  55. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/requirements/quality.txt +0 -0
  56. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/requirements/tests.txt +0 -0
  57. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/setup.cfg +0 -0
  58. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/__init__.py +0 -0
  59. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/__main__.py +0 -0
  60. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/cli/__init__.py +0 -0
  61. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/cli/main.py +0 -0
  62. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/features/__init__.py +0 -0
  63. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/package/__init__.py +0 -0
  64. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/package/bundle.py +0 -0
  65. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/package/version.py +0 -0
  66. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/prints/__init__.py +0 -0
  67. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/prints/boxes.py +0 -0
  68. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/prints/colors.py +0 -0
  69. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/prints/themes.py +0 -0
  70. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/system/__init__.py +0 -0
  71. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/system/platform.py +0 -0
  72. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/types/__init__.py +0 -0
  73. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/types/environments.py +0 -0
  74. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/types/gitlab.py +0 -0
  75. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/types/namespaces.py +0 -0
  76. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/src/types/strings.py +0 -0
  77. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/tests/arguments/test.sh +0 -0
  78. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/tests/colors/test.sh +0 -0
  79. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/tests/macos/test.sh +0 -0
  80. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/tests/settings/test.sh +0 -0
  81. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/tests/versions/test.sh +0 -0
  82. {gitlab_projects_settings-6.3.0 → gitlab_projects_settings-6.4.0}/tests/windows/test.sh +0 -0
@@ -1,6 +1,5 @@
1
1
  ---
2
2
  commitizen:
3
-
4
3
  # commitizen configurations
5
4
  always_signoff: true
6
5
  bump_message: 'docs(changelog): regenerate release tag changes history'
@@ -21,6 +20,7 @@ commitizen:
21
20
  # - Breaking change reimplemented with the standard '!' scope suffix
22
21
  # - Questions simplified for professional usage
23
22
  # - Type 'security' implemented for security related commits
23
+ # - Type 'deps' implemented for dependencies related commits
24
24
  # - Accept temporary commits starting with 'wip' or 'WIP'
25
25
  name: cz_customize
26
26
  customize:
@@ -50,8 +50,10 @@ commitizen:
50
50
  - security: Changes resolve security related issues
51
51
  - test: Adding missing or correcting existing tests
52
52
  - build: Changes to the build system or dependencies (example: makefile, pip, docker)
53
+ - deps: Changes to the dependencies (example: requirements, package, renovate)
53
54
  - ci: Changes to CI configuration files and scripts (example: gitlab-ci)
54
55
  - improvement: Changes that improve sources without any impact
56
+ - revert: Changes that revert a previous commit
55
57
  - wip: Temporary commits meant for local developments and rebases
56
58
 
57
59
  ### Commit scope
@@ -88,7 +90,7 @@ commitizen:
88
90
  {% if body %}\n{{body}}{% endif %}\
89
91
  {% if footer %}\n{{footer}}{% endif %}\
90
92
  {% if body or footer %}\n---{% endif %}\
91
- "
93
+ "
92
94
  questions:
93
95
  - type: list
94
96
  name: prefix
@@ -124,6 +126,9 @@ commitizen:
124
126
  - value: build
125
127
  name: 'build: Changes to the build system or dependencies (example: makefile, pip, docker)'
126
128
  key: b
129
+ - value: deps
130
+ name: 'deps: Changes to the dependencies (example: requirements, package, renovate)'
131
+ key: n
127
132
  - value: ci
128
133
  name: 'ci: Changes to CI configuration files and scripts (example: gitlab-ci)'
129
134
  key: c
@@ -144,7 +149,7 @@ commitizen:
144
149
  name: body
145
150
  message: 'Additional contextual message (Empty to skip) :'
146
151
  default: 'Issue: #...'
147
- filter: 'multiple_line_breaker'
152
+ filter: 'break_multiple_line'
148
153
  - type: input
149
154
  name: footer
150
155
  message: 'Footer information and references (Empty to skip) :'
@@ -163,26 +168,26 @@ commitizen:
163
168
  (?s)\
164
169
  ^([Ww][Ii][Pp]).*$\
165
170
  |\
166
- (fix|feat|chore|docs|style|refactor|perf|test|build|ci|improvement|security|revert)\
171
+ (fix|feat|chore|docs|style|refactor|perf|security|test|build|deps|ci|improvement|revert)\
167
172
  (\\([^\\n\\r]+\\))\
168
173
  !?\
169
174
  :\
170
- \
171
- ([^\\n\\r]+)\
175
+ [ ]\
176
+ ([^\\n\\r ][^\\n\\r]*)\
172
177
  ((\\n\\n.*)|(\\s*))?\
173
178
  (\\n[^\\n\r]+-by:.*)*\
174
179
  $\
175
- "
180
+ "
176
181
 
177
182
  # commitizen styles
178
183
  style:
179
- - ["qmark", "fg:#FF9D00 bold"]
180
- - ["question", "bold"]
181
- - ["answer", "fg:#FF9D00 bold"]
182
- - ["pointer", "fg:#FF9D00 bold"]
183
- - ["highlighted", "fg:#FF9D00 bold"]
184
- - ["selected", "fg:#CC5454"]
185
- - ["separator", "fg:#CC5454"]
186
- - ["instruction", ""]
187
- - ["text", ""]
188
- - ["disabled", "fg:#858585 italic"]
184
+ - ['qmark', 'fg:#FF9D00 bold']
185
+ - ['question', 'bold']
186
+ - ['answer', 'fg:#FF9D00 bold']
187
+ - ['pointer', 'fg:#FF9D00 bold']
188
+ - ['highlighted', 'fg:#FF9D00 bold']
189
+ - ['selected', 'fg:#CC5454']
190
+ - ['separator', 'fg:#CC5454']
191
+ - ['instruction', '']
192
+ - ['text', '']
193
+ - ['disabled', 'fg:#858585 italic']
@@ -1,5 +1,5 @@
1
1
  include:
2
- - component: gitlab.com/RadianDevCore/tools/pre-commit-crocodile/commits@5.0.0
2
+ - component: gitlab.com/RadianDevCore/tools/pre-commit-crocodile/commits@8.2.0
3
3
  inputs:
4
4
  stage: prepare
5
5
  - project: RadianDevCore/gitlab-ci/components
@@ -13,6 +13,11 @@ include:
13
13
  ref: main
14
14
  inputs:
15
15
  stage: development
16
+ - project: RadianDevCore/gitlab-ci/components
17
+ file: /templates/gitlab-protections.yml
18
+ ref: main
19
+ inputs:
20
+ stage: development
16
21
  - project: RadianDevCore/gitlab-ci/components
17
22
  file: /templates/registry.yml
18
23
  ref: main
@@ -216,7 +221,7 @@ registry:test-oldest:
216
221
  extends:
217
222
  - .registry:container
218
223
  variables:
219
- BASEIMAGE_NAME: python:3.8
224
+ BASEIMAGE_NAME: python:3.10
220
225
  CONTAINER_FOLDER: test-linux
221
226
  CONTAINER_IMAGE_TAG: test-oldest
222
227
  rules:
@@ -366,23 +371,17 @@ coverage:windows:
366
371
  COVERAGE_XML: ${CI_PROJECT_DIR}/coverage-reports/coverage-windows.xml
367
372
  SUITE: 'colors\|versions\|windows'
368
373
 
369
- py3.8:
374
+ py3.10:
370
375
  extends:
371
376
  - .test:template
372
377
  - .test:rules
373
378
  image: registry.gitlab.com/radiandevcore/tools/gitlab-projects-settings/gitlab-projects-settings:test-oldest
374
- before_script:
375
- # Inherit before_script
376
- - !reference ['.test:template', before_script]
377
379
 
378
380
  py3.13:
379
381
  extends:
380
382
  - .test:template
381
383
  - .test:rules
382
384
  image: registry.gitlab.com/radiandevcore/tools/gitlab-projects-settings/gitlab-projects-settings:test-latest
383
- before_script:
384
- # Inherit before_script
385
- - !reference ['.test:template', before_script]
386
385
 
387
386
  quality:coverage:
388
387
  needs:
@@ -404,6 +403,8 @@ quality:sonarcloud:
404
403
  - job: coverage:linux
405
404
  - job: coverage:windows
406
405
  rules:
406
+ - if: $SONAR_HOST_URL == null || $SONAR_TOKEN == null
407
+ when: never
407
408
  - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
408
409
  changes:
409
410
  - 'CHANGELOG.md'
@@ -412,7 +413,7 @@ quality:sonarcloud:
412
413
  - 'src/**/*'
413
414
  - 'tests/**/*'
414
415
  when: always
415
- - if: $CI_COMMIT_REF_NAME == "main"
416
+ - if: $CI_COMMIT_REF_NAME == 'main'
416
417
  when: always
417
418
  - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
418
419
  when: always
@@ -428,7 +429,7 @@ deploy:release:
428
429
  artifacts: false
429
430
  - job: coverage:windows
430
431
  artifacts: false
431
- - job: py3.8
432
+ - job: py3.10
432
433
  artifacts: false
433
434
  - job: py3.13
434
435
  artifacts: false
@@ -443,7 +444,7 @@ deploy:trial:
443
444
  artifacts: false
444
445
  - job: coverage:windows
445
446
  artifacts: false
446
- - job: py3.8
447
+ - job: py3.10
447
448
  artifacts: false
448
449
  - job: py3.13
449
450
  artifacts: false
@@ -469,7 +470,7 @@ pages:
469
470
  - job: build
470
471
  artifacts: false
471
472
  optional: true
472
- - job: py3.8
473
+ - job: py3.10
473
474
  artifacts: false
474
475
  optional: true
475
476
  - job: py3.13
@@ -10,6 +10,7 @@ default_stages:
10
10
  - pre-push
11
11
  - prepare-commit-msg
12
12
  minimum_pre_commit_version: 3.8.0
13
+ minimum_prek_version: 0.2.1
13
14
 
14
15
  # pre-commit exclusions
15
16
  exclude: >
@@ -33,13 +34,13 @@ repos:
33
34
 
34
35
  # Repository: pre-commit
35
36
  - repo: meta
36
- hooks:
37
- - id: check-hooks-apply
38
- - id: check-useless-excludes
37
+ hooks: []
38
+ # - id: check-hooks-apply
39
+ # - id: check-useless-excludes
39
40
 
40
41
  # Repository: pre-commit-hooks
41
42
  - repo: https://github.com/pre-commit/pre-commit-hooks
42
- rev: v4.6.0
43
+ rev: v6.0.0
43
44
  hooks:
44
45
  - id: check-added-large-files
45
46
  args: ['--maxkb=500']
@@ -56,7 +57,7 @@ repos:
56
57
  - id: check-yaml
57
58
  args: ['--unsafe']
58
59
  - id: destroyed-symlinks
59
- stages: [commit, push, manual] # Issue: https://github.com/pre-commit/pre-commit-hooks/pull/1085
60
+ stages: [pre-commit, pre-push, manual]
60
61
  - id: detect-private-key
61
62
  - id: double-quote-string-fixer
62
63
  - id: end-of-file-fixer
@@ -77,27 +78,27 @@ repos:
77
78
 
78
79
  # Repository: commitizen
79
80
  - repo: https://github.com/commitizen-tools/commitizen
80
- rev: v3.29.0
81
+ rev: v4.9.1
81
82
  hooks:
82
83
  - id: commitizen
83
84
  stages:
84
85
  - commit-msg
85
86
  - id: commitizen-branch
86
- entry: cz
87
- args: [--no-raise, '3', check, --rev-range, origin/HEAD..HEAD]
87
+ entry: check-commitizen-branch
88
+ args: []
88
89
  stages:
89
- - push
90
+ - pre-push
90
91
 
91
92
  # Repository: pre-commit-crocodile
92
93
  - repo: https://gitlab.com/RadianDevCore/tools/pre-commit-crocodile
93
- rev: 5.0.0
94
+ rev: 8.2.0
94
95
  hooks:
95
96
  - id: check-yaml-ruamel-pure
96
97
  - id: prepare-commit-message
97
98
 
98
99
  # Repository: gcil
99
100
  - repo: https://gitlab.com/RadianDevCore/tools/gcil
100
- rev: 11.1.0
101
+ rev: 13.0.1
101
102
  hooks:
102
103
  - id: run-gcil-push
103
104
  name: Run GitLab CI job with gcil (codestyle)
@@ -1,5 +1,49 @@
1
1
  # Changelog
2
2
 
3
+ <a name="6.4.0"></a>
4
+ ## [6.4.0](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/compare/6.3.0...6.4.0) (2026-08-20)
5
+
6
+ ### ✨ Features
7
+
8
+ - **entrypoint:** show inactive archived projects automatically ([b98d49e](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/b98d49ee86acdcd6d985db5e460f1696d4c57fe2))
9
+
10
+ ### 🐛 Bug Fixes
11
+
12
+ - **🚨 BREAKING CHANGE 🚨 |** **updates, requirements:** migrate to 'update_checker' 1.0.0 API ([242e1b1](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/242e1b11d8312f358d891fa396395f760bbda095))
13
+
14
+ ### 📚 Documentation
15
+
16
+ - **license, mkdocs:** raise copyright year to 2026 ([bdc57dc](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/bdc57dc6df404005639bcf763a348be1dc7cad4a))
17
+
18
+ ### 🎨 Styling
19
+
20
+ - **src:** migrate to '|' types unions (python:S6546) ([2868600](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/286860090f08f9be958c554b667c60fe84931b47))
21
+
22
+ ### ⚙️ Cleanups
23
+
24
+ - **pre-commit:** migrate to 'pre-commit-crocodile' 6.1.0 ([79e6028](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/79e60280d250d3732fdeea888c9d11cee7384811))
25
+ - **pre-commit:** migrate to 'pre-commit-crocodile' 6.2.0 ([258f081](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/258f081b9d89d7cfbfc43b71f0f3818cb15bec3e))
26
+ - **pre-commit:** migrate to 'pre-commit-crocodile' 8.0.0 ([3534a15](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/3534a152149cf811e05cb5ff78a2e4323e723329))
27
+ - **pre-commit:** migrate to 'pre-commit-crocodile' 8.0.1 ([5bbd926](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/5bbd9264440895afe73ae46b9c404a354f459ef7))
28
+ - **pre-commit:** migrate to 'pre-commit-crocodile' 8.2.0 ([a0e6b30](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/a0e6b3039f81aa23836b0ccf34acf658a147b4e9))
29
+ - **updates:** enforce 'typings' [arg-type] error on 'date' ([af7f84b](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/af7f84b85e0ba31b6d5c51e841beb564e91fc8da))
30
+
31
+ ### 🚀 CI
32
+
33
+ - **gitlab-ci:** implement GitLab tags protection jobs ([c1b9a76](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/c1b9a76fe8f2edad6ac08580bfdcaa1b1691a2b5))
34
+ - **gitlab-ci:** remove redundant 'before_script:' references ([c6ecdd5](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/c6ecdd514da12fe66ed32f41f9a85acfd128a49b))
35
+ - **gitlab-ci:** resolve 'CI_COMMIT_REF_NAME' quoting syntax ([6ed9e5c](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/6ed9e5cb9f460c779977356ae57af3467fe779ee))
36
+ - **gitlab-ci:** disable 'quality:sonarcloud' without 'SONAR_{HOST_URL,TOKEN}' ([80c4d6e](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/80c4d6eb08ac51b64eb0fff68b9e344ad57d60e1))
37
+ - **gitlab-ci:** raise oldest Python test images from 3.8 to 3.9 ([5cab00e](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/5cab00eeebee1f2b43bfbbd0205562b20bd2755e))
38
+
39
+ ### 📦 Build
40
+
41
+ - **containers/rehost:** revert to Debian 12 'python:3.13-slim-bookworm' ([b0f183b](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/b0f183b5c9789f815e4474956dd37af75db9bfd4))
42
+ - **🚨 BREAKING CHANGE 🚨 |** **gitlab-ci, setup:** raise oldest Python from 3.9 to 3.10 ([5cf4c6f](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/5cf4c6fe8b0450dc87b520c17b3a04d80c5b761c))
43
+ - **requirements:** upgrade to 'playwright' 1.54.0 ([795d47a](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/795d47ad8b15c58d137f099a353c1c43d6742097))
44
+ - **requirements:** migrate to 'questionary' 2.1.1 ([c5e0622](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/commit/c5e06221d2c09fd035601adb23a4a7279af6dd35))
45
+
46
+
3
47
  <a name="6.3.0"></a>
4
48
  ## [6.3.0](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/compare/6.2.0...6.3.0) (2025-07-13)
5
49
 
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2024-2025 Adrian DC
189
+ Copyright 2024-2026 Adrian DC
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitlab-projects-settings
3
- Version: 6.3.0
3
+ Version: 6.4.0
4
4
  Summary: Configure GitLab groups and projects settings automatically
5
5
  Home-page: https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings
6
6
  Author: Adrian DC
@@ -17,8 +17,6 @@ Classifier: Intended Audience :: Developers
17
17
  Classifier: License :: OSI Approved :: Apache Software License
18
18
  Classifier: Operating System :: OS Independent
19
19
  Classifier: Programming Language :: Python :: 3
20
- Classifier: Programming Language :: Python :: 3.8
21
- Classifier: Programming Language :: Python :: 3.9
22
20
  Classifier: Programming Language :: Python :: 3.10
23
21
  Classifier: Programming Language :: Python :: 3.11
24
22
  Classifier: Programming Language :: Python :: 3.12
@@ -32,9 +30,9 @@ Requires-Dist: colored>=1.4.2
32
30
  Requires-Dist: importlib-metadata>=8.5.0
33
31
  Requires-Dist: packaging>=24.0
34
32
  Requires-Dist: python-gitlab>=4.4.0
35
- Requires-Dist: questionary>=2.0.1
33
+ Requires-Dist: questionary>=2.1.1
36
34
  Requires-Dist: setuptools>=45.1.0
37
- Requires-Dist: update_checker>=0.18.0
35
+ Requires-Dist: update_checker>=1.0.0
38
36
  Dynamic: author
39
37
  Dynamic: author-email
40
38
  Dynamic: classifier
@@ -69,6 +67,7 @@ Dynamic: summary
69
67
  [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](https://commitizen-tools.github.io/commitizen/)
70
68
  [![gcil](https://img.shields.io/badge/gcil-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/gcil)
71
69
  [![pre-commit-crocodile](https://img.shields.io/badge/pre--commit--crocodile-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/pre-commit-crocodile)
70
+ [![guidelines](https://img.shields.io/badge/radiandevcore-guidelines-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/wiki/guidelines)
72
71
 
73
72
  Configure GitLab groups and projects settings automatically
74
73
 
@@ -18,6 +18,7 @@
18
18
  [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](https://commitizen-tools.github.io/commitizen/)
19
19
  [![gcil](https://img.shields.io/badge/gcil-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/gcil)
20
20
  [![pre-commit-crocodile](https://img.shields.io/badge/pre--commit--crocodile-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/pre-commit-crocodile)
21
+ [![guidelines](https://img.shields.io/badge/radiandevcore-guidelines-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/wiki/guidelines)
21
22
 
22
23
  Configure GitLab groups and projects settings automatically
23
24
 
@@ -1,6 +1,6 @@
1
- python:3.8
1
+ python:3.10
2
2
  python:3.13
3
3
  python:3.13-alpine
4
- python:3.13-slim
4
+ python:3.13-slim-bookworm|python:3.13-slim
5
5
  sonarsource/sonar-scanner-cli:latest
6
6
  tobix/pywine:3.10
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitlab-projects-settings
3
- Version: 6.3.0
3
+ Version: 6.4.0
4
4
  Summary: Configure GitLab groups and projects settings automatically
5
5
  Home-page: https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings
6
6
  Author: Adrian DC
@@ -17,8 +17,6 @@ Classifier: Intended Audience :: Developers
17
17
  Classifier: License :: OSI Approved :: Apache Software License
18
18
  Classifier: Operating System :: OS Independent
19
19
  Classifier: Programming Language :: Python :: 3
20
- Classifier: Programming Language :: Python :: 3.8
21
- Classifier: Programming Language :: Python :: 3.9
22
20
  Classifier: Programming Language :: Python :: 3.10
23
21
  Classifier: Programming Language :: Python :: 3.11
24
22
  Classifier: Programming Language :: Python :: 3.12
@@ -32,9 +30,9 @@ Requires-Dist: colored>=1.4.2
32
30
  Requires-Dist: importlib-metadata>=8.5.0
33
31
  Requires-Dist: packaging>=24.0
34
32
  Requires-Dist: python-gitlab>=4.4.0
35
- Requires-Dist: questionary>=2.0.1
33
+ Requires-Dist: questionary>=2.1.1
36
34
  Requires-Dist: setuptools>=45.1.0
37
- Requires-Dist: update_checker>=0.18.0
35
+ Requires-Dist: update_checker>=1.0.0
38
36
  Dynamic: author
39
37
  Dynamic: author-email
40
38
  Dynamic: classifier
@@ -69,6 +67,7 @@ Dynamic: summary
69
67
  [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](https://commitizen-tools.github.io/commitizen/)
70
68
  [![gcil](https://img.shields.io/badge/gcil-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/gcil)
71
69
  [![pre-commit-crocodile](https://img.shields.io/badge/pre--commit--crocodile-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/pre-commit-crocodile)
70
+ [![guidelines](https://img.shields.io/badge/radiandevcore-guidelines-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/wiki/guidelines)
72
71
 
73
72
  Configure GitLab groups and projects settings automatically
74
73
 
@@ -39,6 +39,8 @@ gitlab_projects_settings.egg-info/SOURCES.txt
39
39
  gitlab_projects_settings.egg-info/dependency_links.txt
40
40
  gitlab_projects_settings.egg-info/entry_points.txt
41
41
  gitlab_projects_settings.egg-info/requires.txt
42
+ gitlab_projects_settings.egg-info/scm_file_list.json
43
+ gitlab_projects_settings.egg-info/scm_version.json
42
44
  gitlab_projects_settings.egg-info/top_level.txt
43
45
  requirements/build.txt
44
46
  requirements/coverage.txt
@@ -2,6 +2,6 @@ colored>=1.4.2
2
2
  importlib-metadata>=8.5.0
3
3
  packaging>=24.0
4
4
  python-gitlab>=4.4.0
5
- questionary>=2.0.1
5
+ questionary>=2.1.1
6
6
  setuptools>=45.1.0
7
- update_checker>=0.18.0
7
+ update_checker>=1.0.0
@@ -0,0 +1,76 @@
1
+ {
2
+ "files": [
3
+ ".coveragerc",
4
+ ".cz.yaml",
5
+ ".gitattributes",
6
+ ".gitignore",
7
+ ".gitlab-ci.yml",
8
+ ".gitmodules",
9
+ ".markdownlint.json",
10
+ ".pre-commit-config.yaml",
11
+ ".style.yapf",
12
+ ".vscode/extensions.json",
13
+ ".vscode/settings.json",
14
+ "CHANGELOG.md",
15
+ "LICENSE",
16
+ "README.md",
17
+ "config/cliff.toml",
18
+ "containers/build/Dockerfile",
19
+ "containers/codestyle/Dockerfile",
20
+ "containers/deploy/Dockerfile",
21
+ "containers/pages/Dockerfile",
22
+ "containers/rehost/images.txt",
23
+ "containers/test-coverage-linux/Dockerfile",
24
+ "containers/test-coverage-windows/Dockerfile",
25
+ "containers/test-linux/Dockerfile",
26
+ "docs/.pages.in",
27
+ "docs/assets/images/favicon.png",
28
+ "docs/assets/scripts/mkdocs-exporter.js",
29
+ "docs/assets/stylesheets/custom.css",
30
+ "docs/assets/stylesheets/pdf.scss",
31
+ "docs/prepare.sh",
32
+ "docs/robots.txt",
33
+ "docs/templates/covers/back.html.j2",
34
+ "docs/templates/covers/front.html.j2",
35
+ "mkdocs.yml",
36
+ "mypy.ini",
37
+ "requirements/build.txt",
38
+ "requirements/coverage.txt",
39
+ "requirements/deploy.txt",
40
+ "requirements/pages.txt",
41
+ "requirements/quality.txt",
42
+ "requirements/runtime.txt",
43
+ "requirements/tests.txt",
44
+ "setup.py",
45
+ "sonar-project.properties",
46
+ "src/__init__.py",
47
+ "src/__main__.py",
48
+ "src/cli/__init__.py",
49
+ "src/cli/entrypoint.py",
50
+ "src/cli/main.py",
51
+ "src/features/__init__.py",
52
+ "src/features/gitlab.py",
53
+ "src/package/__init__.py",
54
+ "src/package/bundle.py",
55
+ "src/package/settings.py",
56
+ "src/package/updates.py",
57
+ "src/package/version.py",
58
+ "src/prints/__init__.py",
59
+ "src/prints/boxes.py",
60
+ "src/prints/colors.py",
61
+ "src/prints/themes.py",
62
+ "src/system/__init__.py",
63
+ "src/system/platform.py",
64
+ "src/types/__init__.py",
65
+ "src/types/environments.py",
66
+ "src/types/gitlab.py",
67
+ "src/types/namespaces.py",
68
+ "src/types/strings.py",
69
+ "tests/arguments/test.sh",
70
+ "tests/colors/test.sh",
71
+ "tests/macos/test.sh",
72
+ "tests/settings/test.sh",
73
+ "tests/versions/test.sh",
74
+ "tests/windows/test.sh"
75
+ ]
76
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "6.4.0",
3
+ "distance": 0,
4
+ "node": "gea55d7d8a36115b9b1a2368b4f92f7593b41d786",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-08-20"
8
+ }
@@ -19,7 +19,7 @@ site_name: gitlab-projects-settings
19
19
  site_url: https://radiandevcore.gitlab.io/tools/gitlab-projects-settings
20
20
 
21
21
  # Project copyright
22
- copyright: Copyright &copy; 2024-2025 - <a href="https://gitlab.com/AdrianDC">Adrian DC</a>
22
+ copyright: Copyright &copy; 2024-2026 - <a href="https://gitlab.com/AdrianDC">Adrian DC</a>
23
23
 
24
24
  # Excluded sources
25
25
  exclude_docs: |
@@ -7,4 +7,4 @@ mkdocs-git-revision-date-localized-plugin>=0.7.2
7
7
  mkdocs-macros-plugin>=1.0.5
8
8
  mkdocs-material>=9.5.32
9
9
  mkdocs-minify-plugin>=0.8.0
10
- playwright>=1.48.0
10
+ playwright>=1.54.0
@@ -2,6 +2,6 @@ colored>=1.4.2
2
2
  importlib-metadata>=8.5.0
3
3
  packaging>=24.0
4
4
  python-gitlab>=4.4.0
5
- questionary>=2.0.1
5
+ questionary>=2.1.1
6
6
  setuptools>=45.1.0
7
- update_checker>=0.18.0
7
+ update_checker>=1.0.0
@@ -68,8 +68,6 @@ setup(
68
68
  'License :: OSI Approved :: Apache Software License',
69
69
  'Operating System :: OS Independent',
70
70
  'Programming Language :: Python :: 3',
71
- 'Programming Language :: Python :: 3.8',
72
- 'Programming Language :: Python :: 3.9',
73
71
  'Programming Language :: Python :: 3.10',
74
72
  'Programming Language :: Python :: 3.11',
75
73
  'Programming Language :: Python :: 3.12',
@@ -15,7 +15,7 @@ sonar.sources=src
15
15
  #sonar.sourceEncoding=UTF-8
16
16
 
17
17
  # Python versions
18
- sonar.python.version=3.8, 3.9, 3.10, 3.11, 3.12, 3.13
18
+ sonar.python.version=3.10, 3.11, 3.12, 3.13
19
19
 
20
20
  # Patterns used to exclude some files from coverage report.
21
21
  sonar.coverage.exclusions=setup.py
@@ -4,7 +4,7 @@
4
4
  from argparse import Namespace
5
5
  from enum import Enum
6
6
  import json
7
- from typing import Dict, List, Optional, Union
7
+ from typing import Dict, List, Optional
8
8
  import urllib.parse
9
9
 
10
10
  # Modules libraries
@@ -71,7 +71,7 @@ class Entrypoint:
71
71
  # Prepare credentials
72
72
  private_token: str = environments.value('gitlab_token')
73
73
  job_token: str = environments.value('ci_job_token')
74
- ssl_verify: Union[bool, str] = True
74
+ ssl_verify: bool | str = True
75
75
 
76
76
  # Parse configuration files
77
77
  try:
@@ -692,6 +692,13 @@ class Entrypoint:
692
692
  f'{Colors.RESET}')
693
693
  Platform.flush()
694
694
 
695
+ # Show archived project
696
+ elif project.archived:
697
+ print(f'{Colors.BOLD} - Project inactive: '
698
+ f'{Colors.YELLOW_LIGHT}Archived'
699
+ f'{Colors.RESET}')
700
+ Platform.flush()
701
+
695
702
  # Protect project branches
696
703
  if options.protect_branches:
697
704
  branches = ', '.join(gitlab.project_protect_branches(criteria))
@@ -855,8 +862,8 @@ class Entrypoint:
855
862
  if issues_boards_objects:
856
863
  print(f'{Colors.BOLD} - Get issues boards to JSON: '
857
864
  f'{Colors.RESET}', end='')
858
- issues_boards_list: List[Dict[str, Union[bool, str, List[Dict[str, str]],
859
- None]]] = []
865
+ issues_boards_list: List[Dict[str, bool | str | List[Dict[str, str]]
866
+ | None]] = []
860
867
  for board in issues_boards_objects:
861
868
  board_lists: List[Dict[str, str]] = []
862
869
  for board_list in board.lists.list(get_all=True):
@@ -902,7 +909,7 @@ class Entrypoint:
902
909
  if labels_objects:
903
910
  print(f'{Colors.BOLD} - Get labels to JSON: '
904
911
  f'{Colors.RESET}', end='')
905
- labels_list: List[Dict[str, Union[str, None]]] = []
912
+ labels_list: List[Dict[str, str | None]] = []
906
913
  for label in labels_objects:
907
914
  labels_list += [{
908
915
  'name': label.name,
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Standard libraries
4
4
  from time import sleep
5
- from typing import Dict, List, Optional, Union
5
+ from typing import Dict, List, Optional
6
6
 
7
7
  # Modules libraries
8
8
  from gitlab import Gitlab
@@ -49,7 +49,7 @@ class GitLabFeature:
49
49
  url: str,
50
50
  private_token: str,
51
51
  job_token: str,
52
- ssl_verify: Union[bool, str] = True,
52
+ ssl_verify: bool | str = True,
53
53
  dry_run: bool = False,
54
54
  ) -> None:
55
55
 
@@ -831,7 +831,7 @@ class GitLabFeature:
831
831
  self,
832
832
  criteria: str,
833
833
  name: str,
834
- value: Union[bool, str],
834
+ value: bool | str,
835
835
  ) -> Optional[bool]:
836
836
 
837
837
  # Variables
@@ -964,7 +964,7 @@ class GitLabFeature:
964
964
  description: str,
965
965
  text_color: str,
966
966
  color: str,
967
- priority: Union[int, None],
967
+ priority: int | None,
968
968
  ) -> ProjectLabel:
969
969
 
970
970
  # Create project label
@@ -4,7 +4,7 @@
4
4
  from configparser import ConfigParser
5
5
  from pathlib import Path
6
6
  from sys import stdout
7
- from typing import Optional, Union
7
+ from typing import Optional
8
8
 
9
9
  # Components
10
10
  from ..prints.colors import Colors
@@ -14,7 +14,7 @@ from ..system.platform import Platform
14
14
  class Settings:
15
15
 
16
16
  # Types
17
- Value = Union[int, str]
17
+ Value = int | str
18
18
 
19
19
  # Constants
20
20
  SETTINGS_FILE: str = 'settings.ini'
@@ -91,7 +91,10 @@ class Updates:
91
91
  from update_checker import UpdateChecker
92
92
 
93
93
  # Check for updates
94
- check = UpdateChecker(bypass_cache=True).check(self.__name, version)
94
+ check = UpdateChecker(bypass_cache=True).check(
95
+ package_name=self.__name,
96
+ package_version=version,
97
+ )
95
98
  if check: # pragma: no cover
96
99
 
97
100
  # Show updates message
@@ -194,12 +197,14 @@ class Updates:
194
197
 
195
198
  # Updated version message
196
199
  elif same:
200
+ assert date is not None
197
201
  box.add(
198
202
  f'{version_prefix} {Colors.BOLD}was released {pretty_date(date)}{Colors.BOLD}!'
199
203
  )
200
204
 
201
205
  # Older version message
202
206
  elif older:
207
+ assert date is not None
203
208
  box.add(
204
209
  f'{version_prefix} {Colors.BOLD}newer than {Colors.RED}{available}' \
205
210
  f' {Colors.BOLD}from {pretty_date(date)}{Colors.BOLD}!'
@@ -207,6 +212,7 @@ class Updates:
207
212
 
208
213
  # Newer version message
209
214
  else:
215
+ assert date is not None
210
216
  box.add(
211
217
  f'{version_prefix} {Colors.BOLD}updated {pretty_date(date)}' \
212
218
  f' to {Colors.GREEN}{available}{Colors.BOLD}!'