Skip to main content

Collection of utility Python 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.1.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.1-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jps_git_repo_utils-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 5474766c710cc7d7777d42f0ff991e213b0afe4abe4f35f6a8923fa1bee2fd43
MD5 aaaeda3a98d94a0a23318891464719e2
BLAKE2b-256 f70a0c9b1afe915b832da03209126c4bb129cd49c498c8e585357160cf0d62e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jps_git_repo_utils-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bcdab362f395f0e43b6176fb5d7d428e977171a0f7b220fa7c0acaa635e366f3
MD5 ec57081580d16b35059b37ca36429f21
BLAKE2b-256 280f33ae33f767e5bf983a9c7af42265514eb900c78eeaa37463545969725b60

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