commit-for-free


Namecommit-for-free JSON
Version 1.1.5 PyPI version JSON
download
home_pageNone
SummaryA sophisticated Git commit message generator that uses AI to create meaningful, conventional commit messages based on your code changes.
upload_time2025-09-06 21:50:18
maintainerAlaamer
docs_urlNone
authorAlaamer
requires_python>=3.11
licenseMIT
keywords git commit ai artificial-intelligence conventional-commits developer-tools automation cli command-line productivity version-control commit-message code-quality workflow git-tools semantic-commits devops software-development python-tool git-automation commit-history code-documentation
VCS
bugtrack_url
requirements g4f rich mypy pytest coverage poetry pyinstaller build twine
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # C4F - Commit For Free
[![PyPI version](https://img.shields.io/pypi/v/commit-for-free.svg)](https://pypi.org/project/commit-for-free/)
[![Python Version](https://img.shields.io/pypi/pyversions/commit-for-free.svg)](https://pypi.org/project/commit-for-free/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A sophisticated Git commit message generator that uses AI to create meaningful, conventional commit messages based on your code changes.

> **Note:** While the GitHub repository is named `c4f`, the package is published on PyPI as `commit-for-free` since the name `c4f` was already taken. All installation commands should use `commit-for-free` as the package name.

![Simple GIF showcase an introduction about C4f](https://raw.githubusercontent.com/alaamer12/c4f/main/assets/intro.gif "Intro Animation")

<div>
  <pre style="background-color:#282c34; color:#61afef; font-weight:bold; padding:20px; border-radius:10px; font-size:16px">
   _____ _  _     _____ 
  / ____| || |   |  ___|
 | |    | || |_  | |_   
 | |    |__   _| |  _|  
 | |____   | |   | |    
  \_____|  |_|   |_|    
                        
 Commit For Free - AI-Powered Git Commit Message Generator
  </pre>
</div>

## Features

- 🤖 AI-powered commit message generation using GPT models
- 📝 Follows [Conventional Commits](https://www.conventionalcommits.org/) format
- 🔍 Smart analysis of file changes and diffs
- 🎨 Beautiful CLI interface with rich formatting
- ⚡ Efficient handling of both small and large changes
- 🔄 Fallback mechanisms for reliability
- 🎯 Automatic change type detection (feat, fix, docs, etc.)
- 📊 Progress tracking and status display
- 🚀 Optional emoji icons for commit types (✨ feat, 🐛 fix, etc.)

## Demo

See C4F in action:

![Commit generation demo](https://raw.githubusercontent.com/alaamer12/c4f/main/assets/commits.gif "Commit Generation Demo")

> **Note:** It's normal to occasionally see model response timeouts as shown in the demo. This is due to limitations of the free GPT models provided by `g4f`. After all configured attempts, the package automatically creates a fallback commit message to ensure you can always complete your workflow.

## Installation

> **⚠️ Important:** C4F requires **Python 3.11 or higher** to run.

### Using pip

```bash
pip install commit-for-free
```

### Using pipx (Recommended for non-Windows platforms)

For a clean, isolated installation that doesn't interfere with your system Python:

```bash
# Install pipx if you don't have it
python -m pip install --user pipx
python -m pipx ensurepath

# Install c4f
pipx install commit-for-free
```

### With Enhanced Resource Monitoring

For more accurate system resource monitoring (CPU, memory, process tree):

```bash
pip install commit-for-free[monitoring]
```

### From source

1. Clone the repository:
```bash
git clone https://github.com/alaamer12/c4f.git
cd c4f
```

2. Install using Poetry:
```bash
poetry install
```

Or with pip:
```bash
pip install -e .
```

## Usage

### Basic Usage

Simply run the command in your Git repository:

```bash
c4f
```

The tool will:
1. Detect staged and unstaged changes in your repository
2. Analyze the changes and their context
3. Generate an appropriate commit message using AI
4. Stage and commit the changes with the generated message

![A Long GIF file showcasing how the author commited changes using c4f with inudstrial practices](https://raw.githubusercontent.com/alaamer12/c4f/main/assets/full.gif "Full workflow demonstration")

### Command-line Options

```
usage: c4f [-r PATH] [-m MODEL] [-a NUM] [-t SEC] [-f] [-i] [-A]

Intelligent Git Commit Message Generator

options:
  -r PATH, --root PATH  Set the root directory for git operations [default: current project root]
  -m MODEL, --model MODEL
                        Set the AI model to use for commit message generation [default: gpt-4-mini]
                        Choices: gpt-4-mini, gpt-4, gpt-3.5-turbo

Generation Options:
  Configure the commit message generation process

  -a NUM, --attempts NUM
                        Set the number of generation attempts before falling back [default: 3]
                        Range: 1-10
  -t SEC, --timeout SEC
                        Set the fallback timeout in seconds for model response [default: 10]
                        Range: 1-60

Formatting Options:
  Configure the commit message format

  -f, --force-brackets  Force conventional commit type with brackets (e.g., feat(scope): message)
  -i, --icon            Add emoji icons to commit messages (e.g., ✨ feat: new feature)
  -A, --ascii-only      Use ASCII alternatives instead of Unicode emojis for better terminal compatibility
```

### Examples

Generate commit messages with the default settings:
```bash
c4f
```

Use a specific AI model:
```bash
c4f --model gpt-4
```

Set custom generation parameters:
```bash
c4f --attempts 5 --timeout 20
```

Force brackets in conventional commit format:
```bash
c4f --force-brackets
```

Enable emoji icons in commit messages:
```bash
c4f --icon
```

Use ASCII alternatives instead of Unicode emojis:
```bash
c4f --icon --ascii-only
```

Specify a different root directory:
```bash
c4f --root /path/to/your/repo
```

### Features in Detail

- **Smart Change Analysis**: Automatically detects the type of changes (feature, fix, documentation, etc.) based on file paths and content
- **Comprehensive Messages**: Generates detailed commit messages for larger changes with bullet points and breaking change notifications
- **Interactive Interface**: Displays changes in a formatted table and allows user interaction when needed
- **Progress Tracking**: Shows real-time progress for file analysis and commit operations
- **Fallback Mechanism**: Includes a fallback system if AI generation fails or times out
- **Emoji Icons**: Optionally adds relevant emojis (✨, 🐛, etc.) or ASCII alternatives ([+], [!], etc.) based on change type to make commits more visually informative
- **Terminal Compatibility**: Auto-detects terminal capabilities and uses ASCII alternatives in environments that don't support Unicode emojis

## Configuration

Key configuration options available through command-line arguments:

| Option             | Description                                  | Default    |
|--------------------|----------------------------------------------|------------|
| `--model`          | AI model to use                              | gpt-4-mini |
| `--attempts`       | Number of message generation attempts        | 3          |
| `--timeout`        | Timeout in seconds for AI response           | 10         |
| `--threads`        | Number of concurrent threads for requests    | 3          |
| `--force-brackets` | Force brackets in conventional format        | False      |
| `--icon`           | Add emoji icons to commit messages           | False      |
| `--ascii-only`     | Use ASCII alternatives instead of Unicode    | False      |
| `--models`         | Display all available models and exit        | -          |

## Model Performance

We've extensively tested various G4F models to find the optimal balance between response quality and speed. Based on our testing, we recommend using one of the following models:

- `gpt-4-mini` (default, reliable and fast)
- `gpt-3.5-turbo` (good alternative)
- `MetaAI` (good for general purpose commit messages)
- `default` (balanced between quality and speed)

![G4F Models Performance Comparison](https://raw.githubusercontent.com/alaamer12/c4f/main/assets/model_response_times.png "Model Response Times Comparison")

The chart above shows average response times for different models. As you can see, some models (like ARTA) have significantly longer response times, while others are much faster.

### Concurrent Model Requests

C4F implements a threading approach that sends multiple concurrent requests to the model and uses the first successful response. This significantly improves reliability and reduces wait times when dealing with potentially unstable free API endpoints.

To adjust the number of concurrent threads:

```bash
c4f --threads 5  # Maximum concurrency (faster but more resource intensive)
```

or

```bash
c4f --threads 1  # Disable concurrency (slower but uses less resources)
```

### Viewing Available Models

To see all available models and get recommendations:

```bash
c4f --models
```

This will display a formatted table of all supported models with recommended ones highlighted.

### Handling Timeouts

> **⚠️ Warning:** If you experience frequent timeouts during commit message generation, try one of the following:
>
> 1. Increase the timeout value: `c4f --timeout 30`
> 2. Switch to a faster model: `c4f --model MetaAI`
> 3. Reduce the number of changes in a single commit
>
> Different models have varying response times and reliability. If one model consistently times out, try another from the recommended list.

## Requirements

- **Python 3.11+** - C4F uses modern Python features that require version 3.11 or higher
- **Git** - Required for accessing repository information and making commits
- **Required Python packages:**
  - `g4f` - Provides free access to AI models for generating commit messages
  - `rich` - Powers the beautiful terminal interface and formatted output

### System Requirements

- Any modern operating system (Windows, macOS, Linux)
- Approximately 100MB of disk space (including dependencies)
- Stable internet connection for AI model access

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes using c4f itself! 😉
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

### Development Setup

```bash
# Clone the repository
git clone https://github.com/alaamer12/c4f.git
cd c4f

# Install development dependencies
poetry install --with dev

# Run tests
pytest

# Run Coverage
coverage -m pytest
```

## Model Compatibility 

While c4f has been primarily tested with `gpt-4-mini`, `gpt-4`, and `gpt-3.5-turbo`, the underlying g4f library supports many additional models. However, please note:

⚠️ **Warning**: Although most g4f-supported models may technically work with c4f, they have not been extensively tested and are not officially recommended. Using untested models may result in:
- Lower quality commit messages
- Slower performance
- Unexpected errors or timeouts

Always use the latest version of g4f to ensure compatibility and access to the most recent models and improvements. You can update g4f with:
```bash
pip install -U g4f
```

For the best experience, we recommend using one of the officially supported models specified in the command-line options.

## License

This project is licensed under the MIT License - see the [LICENSE file](LICENSE) for details.

## Changelog

See the [CHANGELOG.md](CHANGELOG.md) file for details about version history and updates.

## Security

Please review our [SECURITY.md](SECURITY.md) file for information about:
- How to report security vulnerabilities
- Our responsible disclosure policy
- Security best practices when using this tool
- Dependency tracking and security audits

## Acknowledgments

- Built with [g4f](https://github.com/xtekky/gpt4free) for AI generation
  - Special thanks to the g4f library maintainers for making powerful AI models accessible
  - g4f enables this tool to generate high-quality commit messages without API keys
- Uses [rich](https://github.com/Textualize/rich) for beautiful terminal formatting


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "commit-for-free",
    "maintainer": "Alaamer",
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "ahmedmuhamed239@gmail.com",
    "keywords": "git, commit, ai, artificial-intelligence, conventional-commits, developer-tools, automation, cli, command-line, productivity, version-control, commit-message, code-quality, workflow, git-tools, semantic-commits, devops, software-development, python-tool, git-automation, commit-history, code-documentation",
    "author": "Alaamer",
    "author_email": "ahmedmuhamed12@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/9c/d9/fa1142320737fb3cc6764a5674b1aabd26a96146d3f20577580ead5b3a80/commit_for_free-1.1.5.tar.gz",
    "platform": null,
    "description": "# C4F - Commit For Free\n[![PyPI version](https://img.shields.io/pypi/v/commit-for-free.svg)](https://pypi.org/project/commit-for-free/)\n[![Python Version](https://img.shields.io/pypi/pyversions/commit-for-free.svg)](https://pypi.org/project/commit-for-free/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA sophisticated Git commit message generator that uses AI to create meaningful, conventional commit messages based on your code changes.\n\n> **Note:** While the GitHub repository is named `c4f`, the package is published on PyPI as `commit-for-free` since the name `c4f` was already taken. All installation commands should use `commit-for-free` as the package name.\n\n![Simple GIF showcase an introduction about C4f](https://raw.githubusercontent.com/alaamer12/c4f/main/assets/intro.gif \"Intro Animation\")\n\n<div>\n  <pre style=\"background-color:#282c34; color:#61afef; font-weight:bold; padding:20px; border-radius:10px; font-size:16px\">\n   _____ _  _     _____ \n  / ____| || |   |  ___|\n | |    | || |_  | |_   \n | |    |__   _| |  _|  \n | |____   | |   | |    \n  \\_____|  |_|   |_|    \n                        \n Commit For Free - AI-Powered Git Commit Message Generator\n  </pre>\n</div>\n\n## Features\n\n- \ud83e\udd16 AI-powered commit message generation using GPT models\n- \ud83d\udcdd Follows [Conventional Commits](https://www.conventionalcommits.org/) format\n- \ud83d\udd0d Smart analysis of file changes and diffs\n- \ud83c\udfa8 Beautiful CLI interface with rich formatting\n- \u26a1 Efficient handling of both small and large changes\n- \ud83d\udd04 Fallback mechanisms for reliability\n- \ud83c\udfaf Automatic change type detection (feat, fix, docs, etc.)\n- \ud83d\udcca Progress tracking and status display\n- \ud83d\ude80 Optional emoji icons for commit types (\u2728 feat, \ud83d\udc1b fix, etc.)\n\n## Demo\n\nSee C4F in action:\n\n![Commit generation demo](https://raw.githubusercontent.com/alaamer12/c4f/main/assets/commits.gif \"Commit Generation Demo\")\n\n> **Note:** It's normal to occasionally see model response timeouts as shown in the demo. This is due to limitations of the free GPT models provided by `g4f`. After all configured attempts, the package automatically creates a fallback commit message to ensure you can always complete your workflow.\n\n## Installation\n\n> **\u26a0\ufe0f Important:** C4F requires **Python 3.11 or higher** to run.\n\n### Using pip\n\n```bash\npip install commit-for-free\n```\n\n### Using pipx (Recommended for non-Windows platforms)\n\nFor a clean, isolated installation that doesn't interfere with your system Python:\n\n```bash\n# Install pipx if you don't have it\npython -m pip install --user pipx\npython -m pipx ensurepath\n\n# Install c4f\npipx install commit-for-free\n```\n\n### With Enhanced Resource Monitoring\n\nFor more accurate system resource monitoring (CPU, memory, process tree):\n\n```bash\npip install commit-for-free[monitoring]\n```\n\n### From source\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/alaamer12/c4f.git\ncd c4f\n```\n\n2. Install using Poetry:\n```bash\npoetry install\n```\n\nOr with pip:\n```bash\npip install -e .\n```\n\n## Usage\n\n### Basic Usage\n\nSimply run the command in your Git repository:\n\n```bash\nc4f\n```\n\nThe tool will:\n1. Detect staged and unstaged changes in your repository\n2. Analyze the changes and their context\n3. Generate an appropriate commit message using AI\n4. Stage and commit the changes with the generated message\n\n![A Long GIF file showcasing how the author commited changes using c4f with inudstrial practices](https://raw.githubusercontent.com/alaamer12/c4f/main/assets/full.gif \"Full workflow demonstration\")\n\n### Command-line Options\n\n```\nusage: c4f [-r PATH] [-m MODEL] [-a NUM] [-t SEC] [-f] [-i] [-A]\n\nIntelligent Git Commit Message Generator\n\noptions:\n  -r PATH, --root PATH  Set the root directory for git operations [default: current project root]\n  -m MODEL, --model MODEL\n                        Set the AI model to use for commit message generation [default: gpt-4-mini]\n                        Choices: gpt-4-mini, gpt-4, gpt-3.5-turbo\n\nGeneration Options:\n  Configure the commit message generation process\n\n  -a NUM, --attempts NUM\n                        Set the number of generation attempts before falling back [default: 3]\n                        Range: 1-10\n  -t SEC, --timeout SEC\n                        Set the fallback timeout in seconds for model response [default: 10]\n                        Range: 1-60\n\nFormatting Options:\n  Configure the commit message format\n\n  -f, --force-brackets  Force conventional commit type with brackets (e.g., feat(scope): message)\n  -i, --icon            Add emoji icons to commit messages (e.g., \u2728 feat: new feature)\n  -A, --ascii-only      Use ASCII alternatives instead of Unicode emojis for better terminal compatibility\n```\n\n### Examples\n\nGenerate commit messages with the default settings:\n```bash\nc4f\n```\n\nUse a specific AI model:\n```bash\nc4f --model gpt-4\n```\n\nSet custom generation parameters:\n```bash\nc4f --attempts 5 --timeout 20\n```\n\nForce brackets in conventional commit format:\n```bash\nc4f --force-brackets\n```\n\nEnable emoji icons in commit messages:\n```bash\nc4f --icon\n```\n\nUse ASCII alternatives instead of Unicode emojis:\n```bash\nc4f --icon --ascii-only\n```\n\nSpecify a different root directory:\n```bash\nc4f --root /path/to/your/repo\n```\n\n### Features in Detail\n\n- **Smart Change Analysis**: Automatically detects the type of changes (feature, fix, documentation, etc.) based on file paths and content\n- **Comprehensive Messages**: Generates detailed commit messages for larger changes with bullet points and breaking change notifications\n- **Interactive Interface**: Displays changes in a formatted table and allows user interaction when needed\n- **Progress Tracking**: Shows real-time progress for file analysis and commit operations\n- **Fallback Mechanism**: Includes a fallback system if AI generation fails or times out\n- **Emoji Icons**: Optionally adds relevant emojis (\u2728, \ud83d\udc1b, etc.) or ASCII alternatives ([+], [!], etc.) based on change type to make commits more visually informative\n- **Terminal Compatibility**: Auto-detects terminal capabilities and uses ASCII alternatives in environments that don't support Unicode emojis\n\n## Configuration\n\nKey configuration options available through command-line arguments:\n\n| Option             | Description                                  | Default    |\n|--------------------|----------------------------------------------|------------|\n| `--model`          | AI model to use                              | gpt-4-mini |\n| `--attempts`       | Number of message generation attempts        | 3          |\n| `--timeout`        | Timeout in seconds for AI response           | 10         |\n| `--threads`        | Number of concurrent threads for requests    | 3          |\n| `--force-brackets` | Force brackets in conventional format        | False      |\n| `--icon`           | Add emoji icons to commit messages           | False      |\n| `--ascii-only`     | Use ASCII alternatives instead of Unicode    | False      |\n| `--models`         | Display all available models and exit        | -          |\n\n## Model Performance\n\nWe've extensively tested various G4F models to find the optimal balance between response quality and speed. Based on our testing, we recommend using one of the following models:\n\n- `gpt-4-mini` (default, reliable and fast)\n- `gpt-3.5-turbo` (good alternative)\n- `MetaAI` (good for general purpose commit messages)\n- `default` (balanced between quality and speed)\n\n![G4F Models Performance Comparison](https://raw.githubusercontent.com/alaamer12/c4f/main/assets/model_response_times.png \"Model Response Times Comparison\")\n\nThe chart above shows average response times for different models. As you can see, some models (like ARTA) have significantly longer response times, while others are much faster.\n\n### Concurrent Model Requests\n\nC4F implements a threading approach that sends multiple concurrent requests to the model and uses the first successful response. This significantly improves reliability and reduces wait times when dealing with potentially unstable free API endpoints.\n\nTo adjust the number of concurrent threads:\n\n```bash\nc4f --threads 5  # Maximum concurrency (faster but more resource intensive)\n```\n\nor\n\n```bash\nc4f --threads 1  # Disable concurrency (slower but uses less resources)\n```\n\n### Viewing Available Models\n\nTo see all available models and get recommendations:\n\n```bash\nc4f --models\n```\n\nThis will display a formatted table of all supported models with recommended ones highlighted.\n\n### Handling Timeouts\n\n> **\u26a0\ufe0f Warning:** If you experience frequent timeouts during commit message generation, try one of the following:\n>\n> 1. Increase the timeout value: `c4f --timeout 30`\n> 2. Switch to a faster model: `c4f --model MetaAI`\n> 3. Reduce the number of changes in a single commit\n>\n> Different models have varying response times and reliability. If one model consistently times out, try another from the recommended list.\n\n## Requirements\n\n- **Python 3.11+** - C4F uses modern Python features that require version 3.11 or higher\n- **Git** - Required for accessing repository information and making commits\n- **Required Python packages:**\n  - `g4f` - Provides free access to AI models for generating commit messages\n  - `rich` - Powers the beautiful terminal interface and formatted output\n\n### System Requirements\n\n- Any modern operating system (Windows, macOS, Linux)\n- Approximately 100MB of disk space (including dependencies)\n- Stable internet connection for AI model access\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes using c4f itself! \ud83d\ude09\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n### Development Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/alaamer12/c4f.git\ncd c4f\n\n# Install development dependencies\npoetry install --with dev\n\n# Run tests\npytest\n\n# Run Coverage\ncoverage -m pytest\n```\n\n## Model Compatibility \n\nWhile c4f has been primarily tested with `gpt-4-mini`, `gpt-4`, and `gpt-3.5-turbo`, the underlying g4f library supports many additional models. However, please note:\n\n\u26a0\ufe0f **Warning**: Although most g4f-supported models may technically work with c4f, they have not been extensively tested and are not officially recommended. Using untested models may result in:\n- Lower quality commit messages\n- Slower performance\n- Unexpected errors or timeouts\n\nAlways use the latest version of g4f to ensure compatibility and access to the most recent models and improvements. You can update g4f with:\n```bash\npip install -U g4f\n```\n\nFor the best experience, we recommend using one of the officially supported models specified in the command-line options.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE file](LICENSE) for details.\n\n## Changelog\n\nSee the [CHANGELOG.md](CHANGELOG.md) file for details about version history and updates.\n\n## Security\n\nPlease review our [SECURITY.md](SECURITY.md) file for information about:\n- How to report security vulnerabilities\n- Our responsible disclosure policy\n- Security best practices when using this tool\n- Dependency tracking and security audits\n\n## Acknowledgments\n\n- Built with [g4f](https://github.com/xtekky/gpt4free) for AI generation\n  - Special thanks to the g4f library maintainers for making powerful AI models accessible\n  - g4f enables this tool to generate high-quality commit messages without API keys\n- Uses [rich](https://github.com/Textualize/rich) for beautiful terminal formatting\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A sophisticated Git commit message generator that uses AI to create meaningful, conventional commit messages based on your code changes.",
    "version": "1.1.5",
    "project_urls": {
        "Bug Tracker": "https://github.com/alaamer12/c4f/issues",
        "Changelog": "https://github.com/alaamer12/c4f/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/alaamer12/c4f",
        "Funding": "https://github.com/sponsors/alaamer12",
        "Homepage": "https://github.com/alaamer12/c4f",
        "Repository": "https://github.com/alaamer12/c4f",
        "Security": "https://github.com/alaamer12/c4f/blob/main/SECURITY.md",
        "Source": "https://github.com/alaamer12/c4f"
    },
    "split_keywords": [
        "git",
        " commit",
        " ai",
        " artificial-intelligence",
        " conventional-commits",
        " developer-tools",
        " automation",
        " cli",
        " command-line",
        " productivity",
        " version-control",
        " commit-message",
        " code-quality",
        " workflow",
        " git-tools",
        " semantic-commits",
        " devops",
        " software-development",
        " python-tool",
        " git-automation",
        " commit-history",
        " code-documentation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "52376d9caf90bdd20e04efe199b5425577707edae29bde2c69b2cecfe0a9a657",
                "md5": "8885e3b76428252ee77849ac72bd4562",
                "sha256": "3674ad54af29d7f97625a814c156761bb79ea72b5e6f785ebc8c18c30dc6dd9a"
            },
            "downloads": -1,
            "filename": "commit_for_free-1.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8885e3b76428252ee77849ac72bd4562",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 68851,
            "upload_time": "2025-09-06T21:50:17",
            "upload_time_iso_8601": "2025-09-06T21:50:17.498696Z",
            "url": "https://files.pythonhosted.org/packages/52/37/6d9caf90bdd20e04efe199b5425577707edae29bde2c69b2cecfe0a9a657/commit_for_free-1.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9cd9fa1142320737fb3cc6764a5674b1aabd26a96146d3f20577580ead5b3a80",
                "md5": "d72b8488e200a67d15e03209ef565e59",
                "sha256": "4fa9d56294f9159aa7ff93bfcf595caa03f973d1fda3eb6d7dcf74bfdd8502aa"
            },
            "downloads": -1,
            "filename": "commit_for_free-1.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "d72b8488e200a67d15e03209ef565e59",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 64738,
            "upload_time": "2025-09-06T21:50:18",
            "upload_time_iso_8601": "2025-09-06T21:50:18.927840Z",
            "url": "https://files.pythonhosted.org/packages/9c/d9/fa1142320737fb3cc6764a5674b1aabd26a96146d3f20577580ead5b3a80/commit_for_free-1.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-06 21:50:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "alaamer12",
    "github_project": "c4f",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "g4f",
            "specs": []
        },
        {
            "name": "rich",
            "specs": []
        },
        {
            "name": "mypy",
            "specs": []
        },
        {
            "name": "pytest",
            "specs": []
        },
        {
            "name": "coverage",
            "specs": []
        },
        {
            "name": "poetry",
            "specs": []
        },
        {
            "name": "pyinstaller",
            "specs": []
        },
        {
            "name": "build",
            "specs": []
        },
        {
            "name": "twine",
            "specs": []
        }
    ],
    "lcname": "commit-for-free"
}
        
Elapsed time: 0.46455s