## **Comet-Labs: AI-Powered Commit Messages**
✨ **Comet-Labs** is a powerful and user-friendly CLI tool designed to generate smarter, AI-driven commit messages and streamline your development workflow. With optional Jira integration and lightweight NLP-based summarization, it’s a must-have for developers looking to save time and improve code clarity. 🚀
---
### **Features**
- **AI-Driven Commit Messages**: Generate commit messages with detailed descriptions using OpenAI or a free AI fallback.
- **Jira Integration**: Link commit messages to Jira tickets effortlessly.
- **Lightweight NLP Fallback**: For users without OpenAI access, enjoy basic summarization powered by lightweight NLP tools.
- **Intuitive CLI**: Easy-to-use commands for generating, customizing, and committing changes.
- **Open Source**: Built for the community, by the community.
---
### **Installation**
#### **Prerequisites**
- Python >= 3.8
- Pip
#### **Install from PyPI**
```bash
pip install comet-labs
```
---
### **Quick Start**
#### **1. Initialize Comet-Labs**
Set up your environment with a simple interactive initialization process:
```bash
comet-labs initialize
```
During initialization:
- You'll be prompted to enter your **OpenAI API key** (recommended for advanced features).
- Optionally, configure **Jira integration** to link commit messages with Jira tickets.
- Ensure necessary NLP resources (like TextBlob) are downloaded automatically.
#### **2. Generate Commit Messages**
Stage your changes and run:
```bash
comet-labs run
```
Comet-Labs will:
- Analyze the changes in your git repository.
- Generate a concise commit message and detailed description.
#### **3. Dedicate Credits (Optional)**
To view project credits and a special dedication:
```bash
comet-labs credits
```
---
### **Commands**
| Command | Description |
|-------------------------|-----------------------------------------------------------------------------|
| `comet-labs initialize` | Interactive setup for OpenAI API, Jira integration, and NLP resources. |
| `comet-labs run` | Analyze git changes and generate commit messages. |
| `comet-labs credits` | View project credits.|
---
### **Example Workflow**
#### **Generating a Commit Message**
1. Stage your changes:
```bash
git add .
```
2. Run Comet-Labs:
```bash
comet-labs run
```
3. Example Output:
```plaintext
AI-Generated Commit Information:
Message: "Update example script"
Brief Description:
- Modified imports.
- Updated print statement.
Detailed Description:
- Changed the imports in example.py to include 'sys' and 'requests'.
- Replaced the print statement to output 'Hello, GPT-3' instead of 'Hello World'.
File Changes:
- example.py: Modified imports and print statement.
```
4. Proceed with push (the commit has already been created at this point):
```bash
git push
```
---
### **Configuration Options**
#### **Environment Variables**
Comet-Labs uses the following environment variables:
| Variable | Description |
|-------------------|----------------------------------------|
| `OPENAI_API_KEY` | Your OpenAI API key for GPT features. |
| `JIRA_BASE_URL` | Jira base URL (e.g., `https://example.atlassian.net`). |
| `JIRA_USERNAME` | Jira username or email. |
| `JIRA_API_TOKEN` | API token for Jira authentication. |
You can manage these variables in a `.env` file.
---
### **Lightweight AI Fallback**
For users without an OpenAI API key, Comet-Labs leverages **TextBlob** for basic NLP-based summarization. While results are not as detailed as OpenAI's GPT models, they provide a useful alternative for generating commit messages.
---
### **Contributing**
We welcome contributions to improve Comet-Labs! ❤️
#### **Getting Started**
1. Fork the repository on GitHub.
2. Clone your fork locally:
```bash
git clone https://github.com/Sahilsingh0808/comet.git
```
3. Install dependencies:
```bash
pip install -r requirements.txt
```
4. Run tests:
```bash
pytest
```
#### **Want to Help?**
- Report bugs or suggest features via [GitHub Issues](https://github.com/Sahilsingh0808/comet/issues).
- Submit a pull request with your improvements.
---
### **FAQ**
#### Q: What if I don’t have an OpenAI API key?
A: No problem! Comet-Labs will use a free AI fallback powered by TextBlob for lightweight commit message generation.
#### Q: Can I skip Jira integration during initialization?
A: Yes! Jira integration is optional and can be configured later by re-running `comet-labs initialize`.
#### Q: Does Comet-Labs store my API keys or credentials?
A: No, we respect your privacy. All keys are securely stored locally in a `.env` file.
---
### **License**
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.
---
### **Links**
- **GitHub Repository**: [Comet-Labs on GitHub](https://github.com/Sahilsingh0808/comet)
- **PyPI Package**: [Comet-Labs on PyPI](https://pypi.org/project/comet-labs)
- **Issues & Feedback**: [Report an Issue](https://github.com/Sahilsingh0808/comet/issues)
---
Let me know if you'd like to customize this further! 🚀
Raw data
{
"_id": null,
"home_page": "https://github.com/Sahilsingh0808/comet",
"name": "comet-labs",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "git, ai, commit-messages",
"author": "Sahil",
"author_email": "sahil85.10s@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/24/9c/517214176a7979e281decad305731b2437ab52c2ff5ee61e0f3deab2c2d1/comet_labs-0.1.6.tar.gz",
"platform": null,
"description": "## **Comet-Labs: AI-Powered Commit Messages**\n\n\u2728 **Comet-Labs** is a powerful and user-friendly CLI tool designed to generate smarter, AI-driven commit messages and streamline your development workflow. With optional Jira integration and lightweight NLP-based summarization, it\u2019s a must-have for developers looking to save time and improve code clarity. \ud83d\ude80\n\n---\n\n### **Features**\n\n- **AI-Driven Commit Messages**: Generate commit messages with detailed descriptions using OpenAI or a free AI fallback.\n- **Jira Integration**: Link commit messages to Jira tickets effortlessly.\n- **Lightweight NLP Fallback**: For users without OpenAI access, enjoy basic summarization powered by lightweight NLP tools.\n- **Intuitive CLI**: Easy-to-use commands for generating, customizing, and committing changes.\n- **Open Source**: Built for the community, by the community.\n\n---\n\n### **Installation**\n\n#### **Prerequisites**\n- Python >= 3.8\n- Pip\n\n#### **Install from PyPI**\n```bash\npip install comet-labs\n```\n\n---\n\n### **Quick Start**\n\n#### **1. Initialize Comet-Labs**\nSet up your environment with a simple interactive initialization process:\n```bash\ncomet-labs initialize\n```\n\nDuring initialization:\n- You'll be prompted to enter your **OpenAI API key** (recommended for advanced features).\n- Optionally, configure **Jira integration** to link commit messages with Jira tickets.\n- Ensure necessary NLP resources (like TextBlob) are downloaded automatically.\n\n#### **2. Generate Commit Messages**\nStage your changes and run:\n```bash\ncomet-labs run\n```\n\nComet-Labs will:\n- Analyze the changes in your git repository.\n- Generate a concise commit message and detailed description.\n\n#### **3. Dedicate Credits (Optional)**\nTo view project credits and a special dedication:\n```bash\ncomet-labs credits\n```\n\n---\n\n### **Commands**\n\n| Command | Description |\n|-------------------------|-----------------------------------------------------------------------------|\n| `comet-labs initialize` | Interactive setup for OpenAI API, Jira integration, and NLP resources. |\n| `comet-labs run` | Analyze git changes and generate commit messages. |\n| `comet-labs credits` | View project credits.|\n\n---\n\n### **Example Workflow**\n\n#### **Generating a Commit Message**\n1. Stage your changes:\n ```bash\n git add .\n ```\n\n2. Run Comet-Labs:\n ```bash\n comet-labs run\n ```\n\n3. Example Output:\n ```plaintext\n AI-Generated Commit Information:\n Message: \"Update example script\"\n\n Brief Description:\n - Modified imports.\n - Updated print statement.\n\n Detailed Description:\n - Changed the imports in example.py to include 'sys' and 'requests'.\n - Replaced the print statement to output 'Hello, GPT-3' instead of 'Hello World'.\n\n File Changes:\n - example.py: Modified imports and print statement.\n ```\n\n4. Proceed with push (the commit has already been created at this point):\n ```bash\n git push\n ```\n\n---\n\n### **Configuration Options**\n\n#### **Environment Variables**\nComet-Labs uses the following environment variables:\n\n| Variable | Description |\n|-------------------|----------------------------------------|\n| `OPENAI_API_KEY` | Your OpenAI API key for GPT features. |\n| `JIRA_BASE_URL` | Jira base URL (e.g., `https://example.atlassian.net`). |\n| `JIRA_USERNAME` | Jira username or email. |\n| `JIRA_API_TOKEN` | API token for Jira authentication. |\n\nYou can manage these variables in a `.env` file.\n\n---\n\n### **Lightweight AI Fallback**\n\nFor users without an OpenAI API key, Comet-Labs leverages **TextBlob** for basic NLP-based summarization. While results are not as detailed as OpenAI's GPT models, they provide a useful alternative for generating commit messages.\n\n---\n\n### **Contributing**\n\nWe welcome contributions to improve Comet-Labs! \u2764\ufe0f\n\n#### **Getting Started**\n1. Fork the repository on GitHub.\n2. Clone your fork locally:\n ```bash\n git clone https://github.com/Sahilsingh0808/comet.git\n ```\n3. Install dependencies:\n ```bash\n pip install -r requirements.txt\n ```\n4. Run tests:\n ```bash\n pytest\n ```\n\n#### **Want to Help?**\n- Report bugs or suggest features via [GitHub Issues](https://github.com/Sahilsingh0808/comet/issues).\n- Submit a pull request with your improvements.\n\n---\n\n### **FAQ**\n\n#### Q: What if I don\u2019t have an OpenAI API key?\nA: No problem! Comet-Labs will use a free AI fallback powered by TextBlob for lightweight commit message generation.\n\n#### Q: Can I skip Jira integration during initialization?\nA: Yes! Jira integration is optional and can be configured later by re-running `comet-labs initialize`.\n\n#### Q: Does Comet-Labs store my API keys or credentials?\nA: No, we respect your privacy. All keys are securely stored locally in a `.env` file.\n\n---\n\n### **License**\n\nThis project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.\n\n---\n\n### **Links**\n\n- **GitHub Repository**: [Comet-Labs on GitHub](https://github.com/Sahilsingh0808/comet)\n- **PyPI Package**: [Comet-Labs on PyPI](https://pypi.org/project/comet-labs)\n- **Issues & Feedback**: [Report an Issue](https://github.com/Sahilsingh0808/comet/issues)\n\n---\n\nLet me know if you'd like to customize this further! \ud83d\ude80\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python package for comet-related functionalities",
"version": "0.1.6",
"project_urls": {
"Homepage": "https://github.com/Sahilsingh0808/comet",
"Repository": "https://github.com/Sahilsingh0808/comet"
},
"split_keywords": [
"git",
" ai",
" commit-messages"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e14618252c44fdcf51df38b2a9ed58b27dca5e382a8b7185c9b948bd25e2bcb6",
"md5": "ac4ecd525ce5ece5105fe55b49f64e51",
"sha256": "83b326fe35f5b06acac9acede344d9b0ae7abc0ef4f1ed1866c917fd5ca55bd7"
},
"downloads": -1,
"filename": "comet_labs-0.1.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ac4ecd525ce5ece5105fe55b49f64e51",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 15198,
"upload_time": "2024-12-15T16:47:31",
"upload_time_iso_8601": "2024-12-15T16:47:31.911863Z",
"url": "https://files.pythonhosted.org/packages/e1/46/18252c44fdcf51df38b2a9ed58b27dca5e382a8b7185c9b948bd25e2bcb6/comet_labs-0.1.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "249c517214176a7979e281decad305731b2437ab52c2ff5ee61e0f3deab2c2d1",
"md5": "56516c7c2298baaa815db42fd2544d03",
"sha256": "dd4a41a68181f08eaba9c07a4326e9a0fb00f61a503a7f6736ef0806c7709ad9"
},
"downloads": -1,
"filename": "comet_labs-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "56516c7c2298baaa815db42fd2544d03",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 14511,
"upload_time": "2024-12-15T16:47:34",
"upload_time_iso_8601": "2024-12-15T16:47:34.327278Z",
"url": "https://files.pythonhosted.org/packages/24/9c/517214176a7979e281decad305731b2437ab52c2ff5ee61e0f3deab2c2d1/comet_labs-0.1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-15 16:47:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Sahilsingh0808",
"github_project": "comet",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "annotated-types",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "anyio",
"specs": [
[
"==",
"4.7.0"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2024.8.30"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.4.0"
]
]
},
{
"name": "distro",
"specs": [
[
"==",
"1.9.0"
]
]
},
{
"name": "h11",
"specs": [
[
"==",
"0.14.0"
]
]
},
{
"name": "httpcore",
"specs": [
[
"==",
"1.0.7"
]
]
},
{
"name": "httpx",
"specs": [
[
"==",
"0.28.1"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.10"
]
]
},
{
"name": "jiter",
"specs": [
[
"==",
"0.8.2"
]
]
},
{
"name": "openai",
"specs": [
[
"==",
"1.57.4"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.10.3"
]
]
},
{
"name": "pydantic_core",
"specs": [
[
"==",
"2.27.1"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.3"
]
]
},
{
"name": "sniffio",
"specs": [
[
"==",
"1.3.1"
]
]
},
{
"name": "tqdm",
"specs": [
[
"==",
"4.67.1"
]
]
},
{
"name": "typing_extensions",
"specs": [
[
"==",
"4.12.2"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.2.3"
]
]
},
{
"name": "textblob",
"specs": [
[
"==",
"0.18.0.post0"
]
]
}
],
"lcname": "comet-labs"
}