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

# Standardize branch naming across a repo
python -m scripts.standardize_branches --repo /path/to/repository

# Generate a full repository history report
python -m scripts.repo_history --global-tags

To explore command options:

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

⚙️ 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-0.5.0.tar.gz (29.5 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-0.5.0-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jps_git_repo_utils-0.5.0.tar.gz
  • Upload date:
  • Size: 29.5 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-0.5.0.tar.gz
Algorithm Hash digest
SHA256 f9c149f887835463035818e39396fb417a4a59497a5cd94056335e4de3c18fd1
MD5 59e886d449a580de60fc29670ed58903
BLAKE2b-256 4b961766188f62897b62ad0f6e16f4fe829e5aa2f972f25d1ef4823ba7106cb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jps_git_repo_utils-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 320dd31afc25928b4adee361e2798d8a5223c13b64523379f1ead6c7b1bcb081
MD5 12c24dc4d91cf557ecde6fcd60d105ec
BLAKE2b-256 ea11faa1ec6306aab8b81a6e6ecc8a66e854027d9de0bf1a24cd33339f8fa37f

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