Skip to main content

Collection of utility Pythhon scripts to manage code repositories.

Project description

jps-git-repo-utils

Build Publish to PyPI codecov


🧭 Overview

jps-git-repo-utils is a collection of Python-based utility scripts designed to manage and standardize code repositories.
These tools simplify common administrative tasks such as enforcing naming conventions, auditing branch structures, generating repository history reports, and synchronizing version metadata.

✨ Key Features

  • Automated enforcement of branch naming conventions (feature/, bugfix/, hotfix/, release/, etc.)
  • Repository cleanup and archival of inactive branches
  • Consistent versioning and repository metadata management
  • Repository history generation with per-branch summaries and event classification
  • Integration with Jira and CI/CD pipelines for reporting and audit purposes
  • Robust testing framework using pytest with 100% reproducible local runs

🧩 Included Utilities

Script Description
standardize_branches.py Standardizes branch names, prefixes, and folders (feature, bugfix, hotfix, release).
audit_repository.py Audits repository metadata, tags, and release consistency.
repo_history.py Generates detailed repository history reports with per-branch summaries, tag events, and merge timelines.

💻 Example Commands

Using the unified CLI

# Display all available commands
jps-git-repo-utils --help

# Standardize branch naming
jps-git-repo-utils standardize /path/to/repository

# Audit repository for compliance
jps-git-repo-utils audit check /path/to/repository --github

# Generate repository history
jps-git-repo-utils history /path/to/repository --global-tags

Using individual commands

jps-git-repo-utils-standardize --help
jps-git-repo-utils-audit --help
jps-git-repo-utils-history --help

Using as a Python module

python -m jps_git_repo_utils.standardize_branches --repo /path/to/repository
python -m jps_git_repo_utils.repo_history --global-tags

⚙️ Installation

make install

🧪 Development Workflow

make fix && make format && make lint
make test

Recent Additions

  • Comprehensive pytest suite for repo_history.py
  • Dummy Git repository fixtures for isolated test execution
  • 6 passing tests and 1 intentionally skipped (network-dependent)

📦 Packaging and Distribution

This project follows semantic versioning and uses GitHub Actions for continuous integration,
PyPI publishing, and test coverage reporting via Codecov.


📜 License

MIT License © Jaideep Sundaram

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

jps_git_repo_utils-1.0.0.tar.gz (31.8 kB view details)

Uploaded Source

Built Distribution

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

jps_git_repo_utils-1.0.0-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

File details

Details for the file jps_git_repo_utils-1.0.0.tar.gz.

File metadata

  • Download URL: jps_git_repo_utils-1.0.0.tar.gz
  • Upload date:
  • Size: 31.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for jps_git_repo_utils-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6e9cabfad3959caecbdf920ac8fa2c243539f187e4605c94298c4e5b88c1dbcc
MD5 66f2cb86d54da10f2a8d820b01db06d7
BLAKE2b-256 daf32bd9bede8d9a97988c3a636806d6b3f87d4b960e8bd56e49349e82095e3f

See more details on using hashes here.

File details

Details for the file jps_git_repo_utils-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jps_git_repo_utils-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed23851465ec0e6a8f3cc1f500c2a4b0e01eaff35238c09d7a09c5b8469102b3
MD5 3c8b24fb61559b5a9970a89df4de94ae
BLAKE2b-256 32642208e23c1eafade1fd7eec0a9bf461cb35aa740ecf7e08e0c531f3071fb9

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