changelog-checker


Namechangelog-checker JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummaryA tool for analyzing dependency updates and their changelogs.
upload_time2025-07-13 14:25:21
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords analysis changelog checker dependency update
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Changelog Checker

A powerful tool for analyzing dependency updates and their changelogs. Automatically fetches and displays changelog information for updated packages, helping you understand what changed in your dependencies.

[![Python versions](https://img.shields.io/pypi/pyversions/changelog-checker?style=flat-square)](https://pypi.python.org/pypi/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PyPI version](https://img.shields.io/pypi/v/changelog-checker.svg?style=flat-square)](https://pypi.python.org/pypi/changelog-checker)

[![gif](https://raw.githubusercontent.com/MrNaif2018/changelog-checker/master/assets/demo.gif)](https://asciinema.org/a/727585)

## 🚀 Other Projects

**Want to see more of my work?** Check out the **Bitcart** project - a comprehensive cryptocurrency payment processor:

[![Bitcart Website](https://img.shields.io/badge/🌐_Website-bitcart.ai-blue?style=for-the-badge)](https://bitcart.ai)
[![Bitcart GitHub](https://img.shields.io/badge/📦_GitHub-bitcart/bitcart-black?style=for-the-badge&logo=github)](https://github.com/bitcart/bitcart)

## Features

- 🔍 **Automatic Changelog Detection**: Finds changelogs from GitHub releases, repository files, and PyPI
- 📊 **Rich Output**: Beautiful, formatted output with syntax highlighting
- 🔧 **Multiple Package Managers**: Currently supports `uv` with more coming soon
- 🚀 **Fast & Reliable**: Efficient parsing and caching for quick results
- 🔐 **GitHub Integration**: Optional GitHub token support for higher API rate limits
- 📝 **Multiple Formats**: Supports various changelog formats (Markdown, RST, Sphinx)

## Installation

### From PyPI

```bash
pip install changelog-checker
```

## Quick Start

The most common usage is to pipe package manager output directly to changelog-checker:

```bash
# Update dependencies and check changelogs
uv sync -U 2>&1 | changelog-checker

# Or save output to file first
uv sync -U &> updates.txt
changelog-checker -i updates.txt

# or get html report
changelog-checker -i updates.txt -f html -o report.html
```

## Usage

### Basic Usage

```bash
# Pipe uv output directly
uv sync -U 2>&1 | changelog-checker

# Read from file
changelog-checker --input-file updates.txt

# Enable verbose output
changelog-checker -v --input-file updates.txt

# Use GitHub token for higher rate limits
export GITHUB_TOKEN=your_token_here
uv sync -U 2>&1 | changelog-checker
```

### Command Line Options

```bash
Options:
  -i, --input-file FILENAME       Read input from file instead of stdin
  -p, --parser [uv]               Parser type to use (default: uv)
  --log-level [DEBUG|INFO|WARNING|ERROR]
                                  Logging level (default: INFO)
  -v, --verbose                   Enable verbose output (equivalent to --log-
                                  level DEBUG)
  -t, --github-token TEXT         GitHub API token for authentication (can
                                  also use GITHUB_TOKEN env var)
  -f, --output-format [terminal|html]
                                  Output format: terminal (rich console) or
                                  html (HTML file) (default: terminal)
  -o, --output-file TEXT          Output file path for HTML format (default:
                                  changelog_report.html)
  -h, --help                      Show this message and exit.
```

### Environment Variables

- `GITHUB_TOKEN`: GitHub API token for authentication (optional but recommended)

## Example Output

When you run changelog-checker, you'll see a beautifully formatted report like this:

```bash


╭─────────────────────────────╮
│ 📦 Dependency Update Report │
╰─────────────────────────────╯
╭──────────────────────────────────────────────────────────────────────────────────────────── Summary ────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                                                                                                                                 │
│   📈 Updated              74                                                                                                                                                                    │
│   ➕ Added                 1                                                                                                                                                                    │
│   ➖ Removed               1                                                                                                                                                                    │
│   📝 Missing Changelogs    4                                                                                                                                                                    │
│                                                                                                                                                                                                 │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

╭─────────────────────╮
│ 📈 Updated Packages │
╰─────────────────────╯
╭───────────────────────────────────────────────────────────────────── aiohappyeyeballs: 2.4.4 → 2.6.1 (GitHub | Changelog) ──────────────────────────────────────────────────────────────────────╮
│ Changelog:                                                                                                                                                                                      │
│                                                                                                                                                                                                 │
│ Version 2.6.1:                                                                                                                                                                                  │
│ v2.6.1 (2025-03-12)                                                                                                                                                                     │
│                                                                                                                                                                                                 │
│                                    Bug Fixes                                                                                                                                              │
│                                                                                                                                                                                                 │
│  • Resolve TypeError on import for Python < 3.9.2 (#151,                                              │
│ 2042c82)                                                            │
│                                                                                                                                                                                                 │
│ ────────────────────────────────────────────────────────────────────────────────                                                                                                         │
│ Detailed Changes: v2.6.0...v2.6.1                                                         │
│                                                                                                                                                                                                 │
│ Version 2.6.0:                                                                                                                                                                                  │
│ v2.6.0 (2025-03-11)                                                                                                                                                                     │
│                                                                                                                                                                                                 │
│                                     Features                                                                                                                                              │
│                                                                                                                                                                                                 │
│  • docs: Publish documentation (#149,                                                            │
│ 4235273)                                                            │
│                                                                                                                                                                                                 │
│ Creates an api_reference.rst file to expose the existing documentation for the                                                                                                                  │
│ few functions that have docstrings, as well as add documentation for                                                                                                                            │
│ AddrInfoType and SocketFactoryType. Now, these can be properly pointed to by                                                                                                                    │
│ other projects' documentation.                                                                                                                                                                  │
│                                                                                                                                                                                                 │
│ ────────────────────────────────────────────────────────────────────────────────                                                                                                         │
│ Detailed Changes: v2.5.0...v2.6.0                                                         │
│                                                                                                                                                                                                 │
│ Version 2.5.0:                                                                                                                                                                                  │
│ v2.5.0 (2025-03-06)                                                                                                                                                                     │
│                                                                                                                                                                                                 │
│                                     Features                                                                                                                                              │
│                                                                                                                                                                                                 │
│  • Add callback for users to customize socket creation (#147,                                         │
│ 8e1bc6a)
```

## HTML reports

You can also generate HTML reports for later viewing:

```bash
changelog-checker -i updates.txt -f html -o report.html
```

![HTML report](https://raw.githubusercontent.com/MrNaif2018/changelog-checker/master/assets/1.png)
![HTML report](https://raw.githubusercontent.com/MrNaif2018/changelog-checker/master/assets/2.png)
![HTML report](https://raw.githubusercontent.com/MrNaif2018/changelog-checker/master/assets/3.png)

## Supported Package Managers

Currently supported:

- **uv**: Python package manager

## How It Works

1. **Parse Input**: Analyzes package manager output to identify updated packages
2. **Find Packages**: Searches for package information on PyPI and GitHub
3. **Fetch Changelogs**: Retrieves changelog information from multiple sources:
   - GitHub releases API
   - Repository changelog files (CHANGELOG.md, HISTORY.md, etc.)
   - PyPI project descriptions
4. **Parse & Format**: Processes changelog content and presents it in a readable format

## Configuration

### GitHub Token

For better rate limits and access to private repositories, set up a GitHub token:

1. Go to GitHub Settings → Developer settings → Personal access tokens
2. Generate a new token with `public_repo` scope
3. Set the environment variable:

   ```bash
   export GITHUB_TOKEN=your_token_here
   ```

## Development

### Setup

```bash
git clone https://github.com/MrNaif2018/changelog-checker.git
cd changelog-checker
uv sync
```

### Running Tests

```bash
uv run task test
```

### Code Quality

```bash
# Run linting
uv run task lint
# Type checking
uv run task lint_types

# Run all checks
uv run task ci
```

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## Copyright and License

Copyright (C) 2025 MrNaif2018

Licensed under the [MIT license](https://raw.githubusercontent.com/MrNaif2018/changelog-checker/masterLICENSE)

## Acknowledgments

- [github-reserved-names](https://github.com/Mottie/github-reserved-names) for a list of names to avoid treating as a github user during parsing

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "changelog-checker",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "analysis, changelog, checker, dependency, update",
    "author": null,
    "author_email": "MrNaif2018 <chuff184@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/66/6a/7d1008305551edd4cfc01c785309fb0b9812fa06e0110af0e1f64718726f/changelog_checker-0.2.2.tar.gz",
    "platform": null,
    "description": "# Changelog Checker\n\nA powerful tool for analyzing dependency updates and their changelogs. Automatically fetches and displays changelog information for updated packages, helping you understand what changed in your dependencies.\n\n[![Python versions](https://img.shields.io/pypi/pyversions/changelog-checker?style=flat-square)](https://pypi.python.org/pypi/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![PyPI version](https://img.shields.io/pypi/v/changelog-checker.svg?style=flat-square)](https://pypi.python.org/pypi/changelog-checker)\n\n[![gif](https://raw.githubusercontent.com/MrNaif2018/changelog-checker/master/assets/demo.gif)](https://asciinema.org/a/727585)\n\n## \ud83d\ude80 Other Projects\n\n**Want to see more of my work?** Check out the **Bitcart** project - a comprehensive cryptocurrency payment processor:\n\n[![Bitcart Website](https://img.shields.io/badge/\ud83c\udf10_Website-bitcart.ai-blue?style=for-the-badge)](https://bitcart.ai)\n[![Bitcart GitHub](https://img.shields.io/badge/\ud83d\udce6_GitHub-bitcart/bitcart-black?style=for-the-badge&logo=github)](https://github.com/bitcart/bitcart)\n\n## Features\n\n- \ud83d\udd0d **Automatic Changelog Detection**: Finds changelogs from GitHub releases, repository files, and PyPI\n- \ud83d\udcca **Rich Output**: Beautiful, formatted output with syntax highlighting\n- \ud83d\udd27 **Multiple Package Managers**: Currently supports `uv` with more coming soon\n- \ud83d\ude80 **Fast & Reliable**: Efficient parsing and caching for quick results\n- \ud83d\udd10 **GitHub Integration**: Optional GitHub token support for higher API rate limits\n- \ud83d\udcdd **Multiple Formats**: Supports various changelog formats (Markdown, RST, Sphinx)\n\n## Installation\n\n### From PyPI\n\n```bash\npip install changelog-checker\n```\n\n## Quick Start\n\nThe most common usage is to pipe package manager output directly to changelog-checker:\n\n```bash\n# Update dependencies and check changelogs\nuv sync -U 2>&1 | changelog-checker\n\n# Or save output to file first\nuv sync -U &> updates.txt\nchangelog-checker -i updates.txt\n\n# or get html report\nchangelog-checker -i updates.txt -f html -o report.html\n```\n\n## Usage\n\n### Basic Usage\n\n```bash\n# Pipe uv output directly\nuv sync -U 2>&1 | changelog-checker\n\n# Read from file\nchangelog-checker --input-file updates.txt\n\n# Enable verbose output\nchangelog-checker -v --input-file updates.txt\n\n# Use GitHub token for higher rate limits\nexport GITHUB_TOKEN=your_token_here\nuv sync -U 2>&1 | changelog-checker\n```\n\n### Command Line Options\n\n```bash\nOptions:\n  -i, --input-file FILENAME       Read input from file instead of stdin\n  -p, --parser [uv]               Parser type to use (default: uv)\n  --log-level [DEBUG|INFO|WARNING|ERROR]\n                                  Logging level (default: INFO)\n  -v, --verbose                   Enable verbose output (equivalent to --log-\n                                  level DEBUG)\n  -t, --github-token TEXT         GitHub API token for authentication (can\n                                  also use GITHUB_TOKEN env var)\n  -f, --output-format [terminal|html]\n                                  Output format: terminal (rich console) or\n                                  html (HTML file) (default: terminal)\n  -o, --output-file TEXT          Output file path for HTML format (default:\n                                  changelog_report.html)\n  -h, --help                      Show this message and exit.\n```\n\n### Environment Variables\n\n- `GITHUB_TOKEN`: GitHub API token for authentication (optional but recommended)\n\n## Example Output\n\nWhen you run changelog-checker, you'll see a beautifully formatted report like this:\n\n```bash\n\n\n\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 \ud83d\udce6 Dependency Update Report \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Summary \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502                                                                                                                                                                                                 \u2502\n\u2502   \ud83d\udcc8 Updated              74                                                                                                                                                                    \u2502\n\u2502   \u2795 Added                 1                                                                                                                                                                    \u2502\n\u2502   \u2796 Removed               1                                                                                                                                                                    \u2502\n\u2502   \ud83d\udcdd Missing Changelogs    4                                                                                                                                                                    \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\n\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 \ud83d\udcc8 Updated Packages \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 aiohappyeyeballs: 2.4.4 \u2192 2.6.1 (GitHub | Changelog) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 Changelog:                                                                                                                                                                                      \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502 Version 2.6.1:                                                                                                                                                                                  \u2502\n\u2502 v2.6.1 (2025-03-12)                                                                                                                                                                     \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502                                    Bug Fixes                                                                                                                                              \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502  \u2022 Resolve TypeError on import for Python < 3.9.2 (#151,                                              \u2502\n\u2502 2042c82)                                                            \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500                                                                                                         \u2502\n\u2502 Detailed Changes: v2.6.0...v2.6.1                                                         \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502 Version 2.6.0:                                                                                                                                                                                  \u2502\n\u2502 v2.6.0 (2025-03-11)                                                                                                                                                                     \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502                                     Features                                                                                                                                              \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502  \u2022 docs: Publish documentation (#149,                                                            \u2502\n\u2502 4235273)                                                            \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502 Creates an api_reference.rst file to expose the existing documentation for the                                                                                                                  \u2502\n\u2502 few functions that have docstrings, as well as add documentation for                                                                                                                            \u2502\n\u2502 AddrInfoType and SocketFactoryType. Now, these can be properly pointed to by                                                                                                                    \u2502\n\u2502 other projects' documentation.                                                                                                                                                                  \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500                                                                                                         \u2502\n\u2502 Detailed Changes: v2.5.0...v2.6.0                                                         \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502 Version 2.5.0:                                                                                                                                                                                  \u2502\n\u2502 v2.5.0 (2025-03-06)                                                                                                                                                                     \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502                                     Features                                                                                                                                              \u2502\n\u2502                                                                                                                                                                                                 \u2502\n\u2502  \u2022 Add callback for users to customize socket creation (#147,                                         \u2502\n\u2502 8e1bc6a)\n```\n\n## HTML reports\n\nYou can also generate HTML reports for later viewing:\n\n```bash\nchangelog-checker -i updates.txt -f html -o report.html\n```\n\n![HTML report](https://raw.githubusercontent.com/MrNaif2018/changelog-checker/master/assets/1.png)\n![HTML report](https://raw.githubusercontent.com/MrNaif2018/changelog-checker/master/assets/2.png)\n![HTML report](https://raw.githubusercontent.com/MrNaif2018/changelog-checker/master/assets/3.png)\n\n## Supported Package Managers\n\nCurrently supported:\n\n- **uv**: Python package manager\n\n## How It Works\n\n1. **Parse Input**: Analyzes package manager output to identify updated packages\n2. **Find Packages**: Searches for package information on PyPI and GitHub\n3. **Fetch Changelogs**: Retrieves changelog information from multiple sources:\n   - GitHub releases API\n   - Repository changelog files (CHANGELOG.md, HISTORY.md, etc.)\n   - PyPI project descriptions\n4. **Parse & Format**: Processes changelog content and presents it in a readable format\n\n## Configuration\n\n### GitHub Token\n\nFor better rate limits and access to private repositories, set up a GitHub token:\n\n1. Go to GitHub Settings \u2192 Developer settings \u2192 Personal access tokens\n2. Generate a new token with `public_repo` scope\n3. Set the environment variable:\n\n   ```bash\n   export GITHUB_TOKEN=your_token_here\n   ```\n\n## Development\n\n### Setup\n\n```bash\ngit clone https://github.com/MrNaif2018/changelog-checker.git\ncd changelog-checker\nuv sync\n```\n\n### Running Tests\n\n```bash\nuv run task test\n```\n\n### Code Quality\n\n```bash\n# Run linting\nuv run task lint\n# Type checking\nuv run task lint_types\n\n# Run all checks\nuv run task ci\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## Copyright and License\n\nCopyright (C) 2025 MrNaif2018\n\nLicensed under the [MIT license](https://raw.githubusercontent.com/MrNaif2018/changelog-checker/masterLICENSE)\n\n## Acknowledgments\n\n- [github-reserved-names](https://github.com/Mottie/github-reserved-names) for a list of names to avoid treating as a github user during parsing\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A tool for analyzing dependency updates and their changelogs.",
    "version": "0.2.2",
    "project_urls": {
        "Changelog": "https://github.com/MrNaif2018/changelog-checker/blob/master/CHANGELOG.md",
        "Homepage": "https://github.com/MrNaif2018/changelog-checker",
        "Source": "https://github.com/MrNaif2018/changelog-checker"
    },
    "split_keywords": [
        "analysis",
        " changelog",
        " checker",
        " dependency",
        " update"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a62170788b375cdde8001d7b3a7245c924b0605ce36ab2592937fdd92dccda67",
                "md5": "bf01a677933c847d6df587a3031fae09",
                "sha256": "73aa1f0012dee52b867582f2773135229d1676b5591d4a4a25eaf5500f506349"
            },
            "downloads": -1,
            "filename": "changelog_checker-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bf01a677933c847d6df587a3031fae09",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 29212,
            "upload_time": "2025-07-13T14:25:20",
            "upload_time_iso_8601": "2025-07-13T14:25:20.088668Z",
            "url": "https://files.pythonhosted.org/packages/a6/21/70788b375cdde8001d7b3a7245c924b0605ce36ab2592937fdd92dccda67/changelog_checker-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "666a7d1008305551edd4cfc01c785309fb0b9812fa06e0110af0e1f64718726f",
                "md5": "e1002075c876668603e9d7905d7154a9",
                "sha256": "cb95d1a1d5f1f38de7806d06d4bc11359cc564222c03e5455db1d9f69a76460e"
            },
            "downloads": -1,
            "filename": "changelog_checker-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "e1002075c876668603e9d7905d7154a9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 23192,
            "upload_time": "2025-07-13T14:25:21",
            "upload_time_iso_8601": "2025-07-13T14:25:21.168183Z",
            "url": "https://files.pythonhosted.org/packages/66/6a/7d1008305551edd4cfc01c785309fb0b9812fa06e0110af0e1f64718726f/changelog_checker-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-13 14:25:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MrNaif2018",
    "github_project": "changelog-checker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "changelog-checker"
}
        
Elapsed time: 1.40787s