Skip to main content

Manage nested GitLab repositories seamlessly(ish)

Project description

gitconductor

tests Coverage License Ruff Documentation PyPI Python versions

gitconductor is a command-line tool and Python library for managing git operations over nested GitLab groups using the official GitLab Python API. It traverses group and subgroup hierarchies, runs recursive git commands, and can work with Python packages inside a cloned hierarchy.

Full documentation: gitconductor.readthedocs.io.

Features

  • Recursive group traversal across nested GitLab groups
  • Git operations across many projects, such as clone, branch, checkout, add, commit, status, and push
  • Hierarchy and access visualisation with Rich tables and trees
  • Python package helpers for requirements, installation, and wheel building
  • CLI and Python API entry points

Installation

pip install gitconductor

Configuration

Gitconductor needs a GitLab Personal Access Token. The quickest setup is:

export GITCONDUCTOR_GITLAB_API_KEY=<my-private-key>

Pass the full GitLab group or project URL to gitconductor clone. Gitconductor derives the GitLab instance from that URL.

Gitconductor can also store settings in a TOML file. By default, this is:

~/.config/gitconductor/gitconductor.toml

The location can be changed via GITCONDUCTOR_CONFIG or the top-level --cfg CLI option.

Quick Start

gitconductor clone https://gitlab.com/my-group
cd my-group
gitconductor status
gitconductor viz tree

Run commands from a subgroup or project directory to narrow the recursive scope. Use gitconductor clone --resume <url> to reuse an existing matching hierarchy.

Documentation

See the full documentation for:

Development & Contributing

Contributions are welcome. See CONTRIBUTING.md.

License

MIT License. See LICENCE.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitconductor-0.7.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitconductor-0.7.0-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file gitconductor-0.7.0.tar.gz.

File metadata

  • Download URL: gitconductor-0.7.0.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for gitconductor-0.7.0.tar.gz
Algorithm Hash digest
SHA256 eed4a16e5883d9d5054abf1a9447f9b7e44afd47ef21213b117c35c13b09cf70
MD5 8129c8bc677f5ebdccc022c509e2a1c3
BLAKE2b-256 a98dc8f3cd94652cc0d3efb4ea428307e2078a0fbf2264f7cffb61fe8755a11e

See more details on using hashes here.

File details

Details for the file gitconductor-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: gitconductor-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for gitconductor-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de43ebde219ca07cb9a33124861c500e7f2d022599c1f6e6d1b5112dbc760baf
MD5 0d98ef52144360a2b92ed4665030b40c
BLAKE2b-256 bea8d25dfcd741db25f38492f298e469d81c8c17c2a4fa47c54f5aac0d4c46d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page