Download src/generators/commit_generator.py from Emasters-CodeGen/CodeGen-Emasters-IIITH: direct link, hf CLI and curl.
- Browser
- Download file 940 Bytes
-
https://huggingface.co/spaces/Emasters-CodeGen/CodeGen-Emasters-IIITH/resolve/3581a588f895ca0c0fdced0f73fc88a6bcd361b5/src/generators/commit_generator.py
- Command line
-
hf download hf://spaces/Emasters-CodeGen/CodeGen-Emasters-IIITH@3581a588f895ca0c0fdced0f73fc88a6bcd361b5/src/generators/commit_generator.py
-
curl -L -o commit_generator.py https://huggingface.co/spaces/Emasters-CodeGen/CodeGen-Emasters-IIITH/resolve/3581a588f895ca0c0fdced0f73fc88a6bcd361b5/src/generators/commit_generator.py
940 Bytes
| import logging | |
| logger = logging.getLogger(__name__) | |
| class CommitMessageGenerator: | |
| """ | |
| Generates conventional commit messages based on git diffs. | |
| """ | |
| def __init__(self, pipeline): | |
| self.pipeline = pipeline | |
| def _build_prompt(self, diff: str) -> str: | |
| prompt = ( | |
| "You are an expert software developer. Generate a concise, conventional commit message " | |
| "for the following git diff. The message should start with a standard type " | |
| "(feat, fix, docs, style, refactor, test, chore) followed by a colon and a short, " | |
| "imperative summary of the changes.\n\n" | |
| f"Diff:\n{diff}\n\n" | |
| "Commit Message:" | |
| ) | |
| return prompt | |
| def generate_commit_msg(self, diff: str) -> str: | |
| """Generates a commit message for the provided git diff.""" | |
| prompt = self._build_prompt(diff) | |
| return self.pipeline.generate(prompt) |