jps-git-repo-utils
🧭 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)
| File | Size | Uploaded | |
|---|---|---|---|
| jps_git_repo_utils-1.0.1.tar.gz | 31.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|