comet-labs


Namecomet-labs JSON
Version 0.1.6 PyPI version JSON
download
home_pagehttps://github.com/Sahilsingh0808/comet
SummaryA Python package for comet-related functionalities
upload_time2024-12-15 16:47:34
maintainerNone
docs_urlNone
authorSahil
requires_python<4.0,>=3.8
licenseMIT
keywords git ai commit-messages
VCS
bugtrack_url
requirements annotated-types anyio certifi charset-normalizer distro h11 httpcore httpx idna jiter openai pydantic pydantic_core python-dotenv requests sniffio tqdm typing_extensions urllib3 textblob
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## **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"
}
        
Elapsed time: 0.56412s