Skip to main content

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

Metadata

Release files for jps-git-repo-utils 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jps-git-repo-utils 1.0.1
File Size Uploaded
jps_git_repo_utils-1.0.1.tar.gz 31.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jps-git-repo-utils 1.0.1
File Interpreter ABI Platform
jps_git_repo_utils-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 78.6 kB

Release files / jps_git_repo_utils-1.0.1.tar.gz

Download URL jps_git_repo_utils-1.0.1.tar.gz
Size 31.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5474766c710cc7d7777d42f0ff991e213b0afe4abe4f35f6a8923fa1bee2fd43
BLAKE2b-256 checksum
How to use checksums
f70a0c9b1afe915b832da03209126c4bb129cd49c498c8e585357160cf0d62e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / jps_git_repo_utils-1.0.1-py3-none-any.whl

Download URL jps_git_repo_utils-1.0.1-py3-none-any.whl
Size 46.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bcdab362f395f0e43b6176fb5d7d428e977171a0f7b220fa7c0acaa635e366f3
BLAKE2b-256 checksum
How to use checksums
280f33ae33f767e5bf983a9c7af42265514eb900c78eeaa37463545969725b60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page