gitlab-projects-settings


Namegitlab-projects-settings JSON
Version 5.4.0 PyPI version JSON
download
home_pagehttps://gitlab.com/RadianDevCore/tools/gitlab-projects-settings
SummaryConfigure GitLab groups and projects settings automatically
upload_time2024-10-28 22:19:15
maintainerNone
docs_urlNone
authorAdrian DC
requires_python!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3
licenseApache License 2.0
keywords gitlab projects issues sync
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # gitlab-projects-settings

<!-- markdownlint-disable no-inline-html -->

[![Release](https://img.shields.io/pypi/v/gitlab-projects-settings?color=blue)](https://pypi.org/project/gitlab-projects-settings)
[![Python](https://img.shields.io/pypi/pyversions/gitlab-projects-settings?color=blue)](https://pypi.org/project/gitlab-projects-settings)
[![Downloads](https://img.shields.io/pypi/dm/gitlab-projects-settings?color=blue)](https://pypi.org/project/gitlab-projects-settings)
[![License](https://img.shields.io/gitlab/license/RadianDevCore/tools/gitlab-projects-settings?color=blue)](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/-/blob/main/LICENSE)
<br />
[![Build](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/badges/main/pipeline.svg)](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/-/commits/main/)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=RadianDevCore_gitlab-projects-settings&metric=bugs)](https://sonarcloud.io/dashboard?id=RadianDevCore_gitlab-projects-settings)
[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=RadianDevCore_gitlab-projects-settings&metric=code_smells)](https://sonarcloud.io/dashboard?id=RadianDevCore_gitlab-projects-settings)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=RadianDevCore_gitlab-projects-settings&metric=coverage)](https://sonarcloud.io/dashboard?id=RadianDevCore_gitlab-projects-settings)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=RadianDevCore_gitlab-projects-settings&metric=ncloc)](https://sonarcloud.io/dashboard?id=RadianDevCore_gitlab-projects-settings)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=RadianDevCore_gitlab-projects-settings&metric=alert_status)](https://sonarcloud.io/dashboard?id=RadianDevCore_gitlab-projects-settings)
<br />
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](https://commitizen-tools.github.io/commitizen/)
[![gcil](https://img.shields.io/badge/gcil-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/gcil)
[![pre-commit-crocodile](https://img.shields.io/badge/pre--commit--crocodile-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/pre-commit-crocodile)

Configure GitLab groups and projects settings automatically

**Documentation:** <https://radiandevcore.gitlab.io/tools/gitlab-projects-settings>  
**Package:** <https://pypi.org/project/gitlab-projects-settings/>

---

## Purpose

This tool can automatically configure and update the GitLab settings  
of groups, subgroups and projects, using multiple available options.

Repetitive tasks can be performed accross multiple projects at once,  
for example protecting tags and branches, or setting a new avatar recursively.

The following step is required before using the tool:

- The GitLab user tokens must be created with an `api` scope (a short expiration date is recommended)

---

## Examples

<!-- prettier-ignore-start -->

```bash
# Show the helper menu
gitlab-projects-settings

# Protect all projects' tags under a group
gitlab-projects-settings --protect-tags -- 'https://gitlab.com/group'

# Update all avatars and descriptions under a group
gitlab-projects-settings --set-avatar ./avatar.png --update-description 'https://gitlab.com/group'

# Automatically detect and reset features of projects based on usage
gitlab-projects-settings --reset-features 'https://gitlab.com/group/project'
```

<!-- prettier-ignore-end -->

---

## Usage

<!-- prettier-ignore-start -->
<!-- readme-help-start -->

```yaml
usage: gitlab-projects-settings [-h] [--version] [--no-color] [--update-check] [--settings] [--set GROUP KEY VAL]
                                [-c FILES] [--confirm] [--dry-run] [--dump] [--exclude-group] [--exclude-subgroups]
                                [--exclude-projects] [--available-features] [--reset-features [KEEP_FEATURES]]
                                [--disable-features FEATURES] [--enable-features FEATURES] [--reset-members]
                                [--set-avatar FILE] [--set-description TEXT] [--update-descriptions]
                                [--run-housekeeping] [--prune-unreachable-objects]
                                [--archive-projects | --unarchive-projects] [--delete-groups] [--delete-projects]
                                [--protect-branches] [--protect-tags [LEVEL]] [--set-merge-method [METHOD]]
                                [--set-merge-squash [SQUASH]] [--set-merge-pipelines [CHECK]]
                                [--set-merge-skipped [CHECK]] [--set-merge-resolved [CHECK]]
                                [--erase-jobs-artifacts | --erase-jobs-contents]
                                [--get-group-labels | --set-group-labels JSON]
                                [--get-project-labels | --set-project-labels JSON] [--]
                                [url_path]

gitlab-projects-settings: Configure GitLab groups and projects settings automatically

internal arguments:
  -h, --help                        # Show this help message
  --version                         # Show the current version
  --no-color                        # Disable colors outputs with 'NO_COLOR=1'
                                    # (or default settings: [themes] > no_color)
  --update-check                    # Check for newer package updates
  --settings                        # Show the current settings path and contents
  --set GROUP KEY VAL               # Set settings specific 'VAL' value to [GROUP] > KEY
                                    # or unset by using 'UNSET' as 'VAL'

credentials arguments:
  -c FILES, --config FILES          # Python GitLab configuration files (default: PYTHON_GITLAB_CFG environment)

common settings arguments:
  --confirm                         # Automatically confirm all removal and contents warnings
  --dry-run                         # Enable dry run mode to check without saving
  --dump                            # Dump Python objects of groups and projects
  --exclude-group                   # Exclude parent group settings
  --exclude-subgroups               # Exclude children subgroups settings
  --exclude-projects                # Exclude children projects settings

general settings arguments:
  --available-features              # List the available GitLab project features known by the tool
  --reset-features [KEEP_FEATURES]  # Reset features of GitLab projects based on usage
                                    # (Optionally keep features separated by ",")
  --disable-features FEATURES       # List of features to disable separated by ","
  --enable-features FEATURES        # List of features to enable separated by ","
  --reset-members                   # Reset members of GitLab projects and groups
  --set-avatar FILE                 # Set avatar of GitLab projects and groups
  --set-description TEXT            # Set description of GitLab projects and groups
  --update-descriptions             # Update description of GitLab projects and groups automatically

advanced settings arguments:
  --run-housekeeping                # Run housekeeping of GitLab project or projects in groups
  --prune-unreachable-objects       # Prune unreachable objects of GitLab project or projects in groups
  --archive-projects                # Archive project or projects in GitLab groups
  --unarchive-projects              # Unarchive project or projects in GitLab groups
  --delete-groups                   # Delete group or groups in GitLab groups
  --delete-projects                 # Delete project or projects in GitLab groups

repository settings arguments:
  --protect-branches                # Protect branches with default master/main, develop and staging
  --protect-tags [LEVEL]            # Protect tags at level [no-one,admins,maintainers,developers] (default: no-one)

merge requests settings arguments:
  --set-merge-method [METHOD]       # Set project merge requests method (Merge, Semi-linear, Fast-forward, default: Fast-forward)
  --set-merge-squash [SQUASH]       # Set project merge requests squashing (Do not allow, Allow, Encourage, Require, default: Allow)
  --set-merge-pipelines [CHECK]     # Set project merge requests check for successful pipelines (true, false, default: True)
  --set-merge-skipped [CHECK]       # Set project merge requests check for skipped pipelines (true, false, default: True)
  --set-merge-resolved [CHECK]      # Set project merge requests check for resolved threads (true, false, default: True)

ci/cd settings arguments:
  --erase-jobs-artifacts            # Erase all CI/CD jobs artifacts
  --erase-jobs-contents             # Erase all CI/CD jobs artifacts and traces

labels arguments:
  --get-group-labels                # Get the GitLab group labels in JSON format
  --set-group-labels JSON           # Set the GitLab group labels from JSON format
  --get-project-labels              # Get the GitLab project labels in JSON format
  --set-project-labels JSON         # Set the GitLab project labels from JSON format

positional arguments:
  --                                # Positional arguments separator (recommended)
  url_path                          # GitLab group or project path URL

environment variables:
  GITLAB_TOKEN                      # GitLab API token environment variable
  CI_JOB_TOKEN                      # GitLab CI job token environment variable (CI only)
```

<!-- readme-help-stop -->
<!-- prettier-ignore-end -->

---

<span class="page-break"></span>

## Python GitLab configuration file

`gitlab-projects-settings` uses the same configuration files as the `python-gitlab` API,  
holding domains, URL and private tokens credentials for the GitLab instances.

The default user configuration file can be created at `~/.python-gitlab.cfg`.

The `-c` or `--config` parameters can provide specific configuration files,  
otherwise the `PYTHON_GITLAB_CFG` environment variable can be used.

**Example `~/.python-gitlab.cfg` configuration file:**

```ini title="~/.python-gitlab.cfg"
[global]
default = gitlab.com
ssl_verify = true
timeout = 5

[gitlab.com]
url = https://gitlab.com
private_token = glpat-...

[gitlab.local.dev]
url = https://gitlab.local.dev
private_token = glpat-...

[gitlab.private.dev:4243]
url = https://gitlab.private.dev:4243
private_token = glpat-...
ssl_verify = /usr/local/share/ca-certificates/gitlab.private.dev.crt
```


**`python-gitlab` configuration files documentation:** [Getting started with the CLI / Configuration files](https://python-gitlab.readthedocs.io/en/stable/cli-usage.html#configuration-files)

---

<span class="page-break"></span>

## Userspace available settings

`gitlab-projects-settings` creates a `settings.ini` configuration file in a userspace folder.

For example, it allows to disable the automated updates daily check (`[updates] > enabled`)

The `settings.ini` file location and contents can be shown with the following command:

```bash
gitlab-projects-settings --settings
```

---

## Environment available configurations

`gitlab-projects-settings` uses `colored` for colors outputs and `questionary` for interactive menus.

If colors of both outputs types do not match the terminal's theme,  
an environment variable `NO_COLOR=1` can be defined to disable colors.

---

<span class="page-break"></span>

## Dependencies

- [colored](https://pypi.org/project/colored/): Terminal colors and styles
- [python-gitlab](https://pypi.org/project/python-gitlab/): A python wrapper for the GitLab API
- [questionary](https://pypi.org/project/questionary/): Interactive terminal user interfaces
- [setuptools](https://pypi.org/project/setuptools/): Build and manage Python packages
- [update-checker](https://pypi.org/project/update-checker/): Check for package updates on PyPI

---

## References

- [commitizen](https://pypi.org/project/commitizen/): Simple commit conventions for internet citizens
- [git-cliff](https://github.com/orhun/git-cliff): CHANGELOG generator
- [gitlab-release](https://pypi.org/project/gitlab-release/): Utility for publishing on GitLab
- [gcil](https://radiandevcore.gitlab.io/tools/gcil): Launch .gitlab-ci.yml jobs locally
- [mkdocs](https://www.mkdocs.org/): Project documentation with Markdown
- [mkdocs-exporter](https://adrienbrignon.github.io/mkdocs-exporter/): Exporter plugin for mkdocs documentation
- [mkdocs-material](https://squidfunk.github.io/mkdocs-material/): Material theme for mkdocs documentation
- [mypy](https://pypi.org/project/mypy/): Optional static typing for Python
- [pre-commit](https://pre-commit.com/): A framework for managing and maintaining pre-commit hooks
- [pre-commit-crocodile](https://radiandevcore.gitlab.io/tools/pre-commit-crocodile): Git hooks intended for developers using pre-commit
- [PyPI](https://pypi.org/): The Python Package Index
- [twine](https://pypi.org/project/twine/): Utility for publishing on PyPI

            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings",
    "name": "gitlab-projects-settings",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3",
    "maintainer_email": null,
    "keywords": "gitlab projects issues sync",
    "author": "Adrian DC",
    "author_email": "radian.dc@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/fb/bd/858b760e7a34484d2d98d5c1e38554c26e8b21ee4949d37695a42ab908b9/gitlab_projects_settings-5.4.0.tar.gz",
    "platform": null,
    "description": "# gitlab-projects-settings\n\n<!-- markdownlint-disable no-inline-html -->\n\n[![Release](https://img.shields.io/pypi/v/gitlab-projects-settings?color=blue)](https://pypi.org/project/gitlab-projects-settings)\n[![Python](https://img.shields.io/pypi/pyversions/gitlab-projects-settings?color=blue)](https://pypi.org/project/gitlab-projects-settings)\n[![Downloads](https://img.shields.io/pypi/dm/gitlab-projects-settings?color=blue)](https://pypi.org/project/gitlab-projects-settings)\n[![License](https://img.shields.io/gitlab/license/RadianDevCore/tools/gitlab-projects-settings?color=blue)](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/-/blob/main/LICENSE)\n<br />\n[![Build](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/badges/main/pipeline.svg)](https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/-/commits/main/)\n[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=RadianDevCore_gitlab-projects-settings&metric=bugs)](https://sonarcloud.io/dashboard?id=RadianDevCore_gitlab-projects-settings)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=RadianDevCore_gitlab-projects-settings&metric=code_smells)](https://sonarcloud.io/dashboard?id=RadianDevCore_gitlab-projects-settings)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=RadianDevCore_gitlab-projects-settings&metric=coverage)](https://sonarcloud.io/dashboard?id=RadianDevCore_gitlab-projects-settings)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=RadianDevCore_gitlab-projects-settings&metric=ncloc)](https://sonarcloud.io/dashboard?id=RadianDevCore_gitlab-projects-settings)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=RadianDevCore_gitlab-projects-settings&metric=alert_status)](https://sonarcloud.io/dashboard?id=RadianDevCore_gitlab-projects-settings)\n<br />\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](https://commitizen-tools.github.io/commitizen/)\n[![gcil](https://img.shields.io/badge/gcil-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/gcil)\n[![pre-commit-crocodile](https://img.shields.io/badge/pre--commit--crocodile-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/pre-commit-crocodile)\n\nConfigure GitLab groups and projects settings automatically\n\n**Documentation:** <https://radiandevcore.gitlab.io/tools/gitlab-projects-settings>  \n**Package:** <https://pypi.org/project/gitlab-projects-settings/>\n\n---\n\n## Purpose\n\nThis tool can automatically configure and update the GitLab settings  \nof groups, subgroups and projects, using multiple available options.\n\nRepetitive tasks can be performed accross multiple projects at once,  \nfor example protecting tags and branches, or setting a new avatar recursively.\n\nThe following step is required before using the tool:\n\n- The GitLab user tokens must be created with an `api` scope (a short expiration date is recommended)\n\n---\n\n## Examples\n\n<!-- prettier-ignore-start -->\n\n```bash\n# Show the helper menu\ngitlab-projects-settings\n\n# Protect all projects' tags under a group\ngitlab-projects-settings --protect-tags -- 'https://gitlab.com/group'\n\n# Update all avatars and descriptions under a group\ngitlab-projects-settings --set-avatar ./avatar.png --update-description 'https://gitlab.com/group'\n\n# Automatically detect and reset features of projects based on usage\ngitlab-projects-settings --reset-features 'https://gitlab.com/group/project'\n```\n\n<!-- prettier-ignore-end -->\n\n---\n\n## Usage\n\n<!-- prettier-ignore-start -->\n<!-- readme-help-start -->\n\n```yaml\nusage: gitlab-projects-settings [-h] [--version] [--no-color] [--update-check] [--settings] [--set GROUP KEY VAL]\n                                [-c FILES] [--confirm] [--dry-run] [--dump] [--exclude-group] [--exclude-subgroups]\n                                [--exclude-projects] [--available-features] [--reset-features [KEEP_FEATURES]]\n                                [--disable-features FEATURES] [--enable-features FEATURES] [--reset-members]\n                                [--set-avatar FILE] [--set-description TEXT] [--update-descriptions]\n                                [--run-housekeeping] [--prune-unreachable-objects]\n                                [--archive-projects | --unarchive-projects] [--delete-groups] [--delete-projects]\n                                [--protect-branches] [--protect-tags [LEVEL]] [--set-merge-method [METHOD]]\n                                [--set-merge-squash [SQUASH]] [--set-merge-pipelines [CHECK]]\n                                [--set-merge-skipped [CHECK]] [--set-merge-resolved [CHECK]]\n                                [--erase-jobs-artifacts | --erase-jobs-contents]\n                                [--get-group-labels | --set-group-labels JSON]\n                                [--get-project-labels | --set-project-labels JSON] [--]\n                                [url_path]\n\ngitlab-projects-settings: Configure GitLab groups and projects settings automatically\n\ninternal arguments:\n  -h, --help                        # Show this help message\n  --version                         # Show the current version\n  --no-color                        # Disable colors outputs with 'NO_COLOR=1'\n                                    # (or default settings: [themes] > no_color)\n  --update-check                    # Check for newer package updates\n  --settings                        # Show the current settings path and contents\n  --set GROUP KEY VAL               # Set settings specific 'VAL' value to [GROUP] > KEY\n                                    # or unset by using 'UNSET' as 'VAL'\n\ncredentials arguments:\n  -c FILES, --config FILES          # Python GitLab configuration files (default: PYTHON_GITLAB_CFG environment)\n\ncommon settings arguments:\n  --confirm                         # Automatically confirm all removal and contents warnings\n  --dry-run                         # Enable dry run mode to check without saving\n  --dump                            # Dump Python objects of groups and projects\n  --exclude-group                   # Exclude parent group settings\n  --exclude-subgroups               # Exclude children subgroups settings\n  --exclude-projects                # Exclude children projects settings\n\ngeneral settings arguments:\n  --available-features              # List the available GitLab project features known by the tool\n  --reset-features [KEEP_FEATURES]  # Reset features of GitLab projects based on usage\n                                    # (Optionally keep features separated by \",\")\n  --disable-features FEATURES       # List of features to disable separated by \",\"\n  --enable-features FEATURES        # List of features to enable separated by \",\"\n  --reset-members                   # Reset members of GitLab projects and groups\n  --set-avatar FILE                 # Set avatar of GitLab projects and groups\n  --set-description TEXT            # Set description of GitLab projects and groups\n  --update-descriptions             # Update description of GitLab projects and groups automatically\n\nadvanced settings arguments:\n  --run-housekeeping                # Run housekeeping of GitLab project or projects in groups\n  --prune-unreachable-objects       # Prune unreachable objects of GitLab project or projects in groups\n  --archive-projects                # Archive project or projects in GitLab groups\n  --unarchive-projects              # Unarchive project or projects in GitLab groups\n  --delete-groups                   # Delete group or groups in GitLab groups\n  --delete-projects                 # Delete project or projects in GitLab groups\n\nrepository settings arguments:\n  --protect-branches                # Protect branches with default master/main, develop and staging\n  --protect-tags [LEVEL]            # Protect tags at level [no-one,admins,maintainers,developers] (default: no-one)\n\nmerge requests settings arguments:\n  --set-merge-method [METHOD]       # Set project merge requests method (Merge, Semi-linear, Fast-forward, default: Fast-forward)\n  --set-merge-squash [SQUASH]       # Set project merge requests squashing (Do not allow, Allow, Encourage, Require, default: Allow)\n  --set-merge-pipelines [CHECK]     # Set project merge requests check for successful pipelines (true, false, default: True)\n  --set-merge-skipped [CHECK]       # Set project merge requests check for skipped pipelines (true, false, default: True)\n  --set-merge-resolved [CHECK]      # Set project merge requests check for resolved threads (true, false, default: True)\n\nci/cd settings arguments:\n  --erase-jobs-artifacts            # Erase all CI/CD jobs artifacts\n  --erase-jobs-contents             # Erase all CI/CD jobs artifacts and traces\n\nlabels arguments:\n  --get-group-labels                # Get the GitLab group labels in JSON format\n  --set-group-labels JSON           # Set the GitLab group labels from JSON format\n  --get-project-labels              # Get the GitLab project labels in JSON format\n  --set-project-labels JSON         # Set the GitLab project labels from JSON format\n\npositional arguments:\n  --                                # Positional arguments separator (recommended)\n  url_path                          # GitLab group or project path URL\n\nenvironment variables:\n  GITLAB_TOKEN                      # GitLab API token environment variable\n  CI_JOB_TOKEN                      # GitLab CI job token environment variable (CI only)\n```\n\n<!-- readme-help-stop -->\n<!-- prettier-ignore-end -->\n\n---\n\n<span class=\"page-break\"></span>\n\n## Python GitLab configuration file\n\n`gitlab-projects-settings` uses the same configuration files as the `python-gitlab` API,  \nholding domains, URL and private tokens credentials for the GitLab instances.\n\nThe default user configuration file can be created at `~/.python-gitlab.cfg`.\n\nThe `-c` or `--config` parameters can provide specific configuration files,  \notherwise the `PYTHON_GITLAB_CFG` environment variable can be used.\n\n**Example `~/.python-gitlab.cfg` configuration file:**\n\n```ini title=\"~/.python-gitlab.cfg\"\n[global]\ndefault = gitlab.com\nssl_verify = true\ntimeout = 5\n\n[gitlab.com]\nurl = https://gitlab.com\nprivate_token = glpat-...\n\n[gitlab.local.dev]\nurl = https://gitlab.local.dev\nprivate_token = glpat-...\n\n[gitlab.private.dev:4243]\nurl = https://gitlab.private.dev:4243\nprivate_token = glpat-...\nssl_verify = /usr/local/share/ca-certificates/gitlab.private.dev.crt\n```\n\n\n**`python-gitlab` configuration files documentation:** [Getting started with the CLI / Configuration files](https://python-gitlab.readthedocs.io/en/stable/cli-usage.html#configuration-files)\n\n---\n\n<span class=\"page-break\"></span>\n\n## Userspace available settings\n\n`gitlab-projects-settings` creates a `settings.ini` configuration file in a userspace folder.\n\nFor example, it allows to disable the automated updates daily check (`[updates] > enabled`)\n\nThe `settings.ini` file location and contents can be shown with the following command:\n\n```bash\ngitlab-projects-settings --settings\n```\n\n---\n\n## Environment available configurations\n\n`gitlab-projects-settings` uses `colored` for colors outputs and `questionary` for interactive menus.\n\nIf colors of both outputs types do not match the terminal's theme,  \nan environment variable `NO_COLOR=1` can be defined to disable colors.\n\n---\n\n<span class=\"page-break\"></span>\n\n## Dependencies\n\n- [colored](https://pypi.org/project/colored/): Terminal colors and styles\n- [python-gitlab](https://pypi.org/project/python-gitlab/): A python wrapper for the GitLab API\n- [questionary](https://pypi.org/project/questionary/): Interactive terminal user interfaces\n- [setuptools](https://pypi.org/project/setuptools/): Build and manage Python packages\n- [update-checker](https://pypi.org/project/update-checker/): Check for package updates on PyPI\n\n---\n\n## References\n\n- [commitizen](https://pypi.org/project/commitizen/): Simple commit conventions for internet citizens\n- [git-cliff](https://github.com/orhun/git-cliff): CHANGELOG generator\n- [gitlab-release](https://pypi.org/project/gitlab-release/): Utility for publishing on GitLab\n- [gcil](https://radiandevcore.gitlab.io/tools/gcil): Launch .gitlab-ci.yml jobs locally\n- [mkdocs](https://www.mkdocs.org/): Project documentation with Markdown\n- [mkdocs-exporter](https://adrienbrignon.github.io/mkdocs-exporter/): Exporter plugin for mkdocs documentation\n- [mkdocs-material](https://squidfunk.github.io/mkdocs-material/): Material theme for mkdocs documentation\n- [mypy](https://pypi.org/project/mypy/): Optional static typing for Python\n- [pre-commit](https://pre-commit.com/): A framework for managing and maintaining pre-commit hooks\n- [pre-commit-crocodile](https://radiandevcore.gitlab.io/tools/pre-commit-crocodile): Git hooks intended for developers using pre-commit\n- [PyPI](https://pypi.org/): The Python Package Index\n- [twine](https://pypi.org/project/twine/): Utility for publishing on PyPI\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "Configure GitLab groups and projects settings automatically",
    "version": "5.4.0",
    "project_urls": {
        "Bug Reports": "https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/-/issues",
        "Changelog": "https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings/blob/main/CHANGELOG.md",
        "Documentation": "https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings#gitlab-projects-settings",
        "Homepage": "https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings",
        "Source": "https://gitlab.com/RadianDevCore/tools/gitlab-projects-settings",
        "Statistics": "https://pypistats.org/packages/gitlab-projects-settings"
    },
    "split_keywords": [
        "gitlab",
        "projects",
        "issues",
        "sync"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd5b707c4195b3f90850b37b3ba774062f4c919bbc2643eea6422a50c89d6ebe",
                "md5": "a2e321e68e7d3285d9501a2710325288",
                "sha256": "a23f05e43be7fd904339f72423a6a20b060411e5c9c8e78c171abdd97e7a6ee5"
            },
            "downloads": -1,
            "filename": "gitlab_projects_settings-5.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a2e321e68e7d3285d9501a2710325288",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3",
            "size": 36814,
            "upload_time": "2024-10-28T22:19:14",
            "upload_time_iso_8601": "2024-10-28T22:19:14.663248Z",
            "url": "https://files.pythonhosted.org/packages/cd/5b/707c4195b3f90850b37b3ba774062f4c919bbc2643eea6422a50c89d6ebe/gitlab_projects_settings-5.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fbbd858b760e7a34484d2d98d5c1e38554c26e8b21ee4949d37695a42ab908b9",
                "md5": "22ddae068286f38a0165006d7fc226a3",
                "sha256": "fd1d8344405a33027b0a513aa8ce317edaeaeb97a6f3b00ca1ec80761139751c"
            },
            "downloads": -1,
            "filename": "gitlab_projects_settings-5.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "22ddae068286f38a0165006d7fc226a3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,!=3.7.*,>=3",
            "size": 79752,
            "upload_time": "2024-10-28T22:19:15",
            "upload_time_iso_8601": "2024-10-28T22:19:15.766588Z",
            "url": "https://files.pythonhosted.org/packages/fb/bd/858b760e7a34484d2d98d5c1e38554c26e8b21ee4949d37695a42ab908b9/gitlab_projects_settings-5.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-28 22:19:15",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "RadianDevCore",
    "gitlab_project": "tools",
    "lcname": "gitlab-projects-settings"
}
        
Elapsed time: 0.36814s