Skip to main content

🎯 Overview

pulldoc is a tool for communicating repository history to LLM! It analyzes GitHub pull request history and automatically generates modification patterns and issue templates, so you can leverage LLM to improve your team's development efficiency!

🌟 Key Features

📊 Pull Request Collection & Analysis
  • Automatic collection of PR history through GitHub API
  • Efficient retrieval of PRs within specified ranges
  • Structured information for merged and unmerged PRs
🤖 AI-Driven Summary Generation
  • Support for multiple LLM models including [Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq etc.]
  • Flexible summary generation with custom prompts
  • Multilingual support
  • Efficient batch processing for large data volumes
📈 Intelligent Analysis
  • Automatic identification of code fix patterns
  • Classification and organization of common issues
  • Team development trend analysis
  • Generation of reusable templates

🚀 Quick Start

# Set LLM API Key
export OPENAI_API_KEY="your_openai_api_key" or other LLM provider settings

# Set Github Token (Private Only)
export GITHUB_TOKEN="your_github_token"

Using uvx

uvx pulldoc run {owner/repo-name}

💻 Installation

# Install dependencies (uv recommended)
uv add pulldoc

# or use pip
pip install pulldoc

🎯 Basic Usage

pulldoc run {owner/repo-name}
# Options
--start INTEGER # starting point of PR number
--end INTEGER # end point of PR number
--model TEXT # LLM model (default: gpt-4o-mini)
--custom-prompt TEXT # custom prompt
--lang TEXT # language (default: en)
--only-total # generate final summary only.

  • Execute individually.
# 1. collect PR data
pulldoc collect owner/repo-name --start 100 --end 200

# 2. summarize collected data
pulldoc summarize owner/repo-name --model us.anthropic.claude-sonnet-4-20250514-v1:0 --lang ja

📁 Output Structure

.pulldoc_result/
└── owner/
    └── repo-name/
        ├── raws/
        │   ├── pr_001.json
        │   └── pr_002.json
        ├── summaries/
        |   ├── batch_001_summary.md
        |   ├── batch_002_summary.md
        ├── RULES_FOR_AI.md
        └── ISSUE_TEMPLATES.md

🤝 Contributing

We welcome contributions to pulldoc!

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

🐛 Bug Reports & Feature Requests

If you discover issues or have ideas for new features, please let us know through Issues.

When reporting bugs, please include the following information:

  • Python version
  • Command executed
  • Error message
  • Expected behavior

📄 License

This project is released under the MIT License.

🙏 Acknowledgments

Python GitHub API Typer litellm


⭐ If this project was helpful, please give it a star! ⭐

Metadata

Release files for pulldoc 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pulldoc 0.2.2
File Size Uploaded Provenance
pulldoc-0.2.2.tar.gz 110.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pulldoc 0.2.2
File Interpreter ABI Platform
pulldoc-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 123.9 kB

Release files / pulldoc-0.2.2.tar.gz

Download URL pulldoc-0.2.2.tar.gz
Size 110.4 kB
Tags Source
SHA-256 checksum
How to use checksums
189036b777ae98441eecda3c22c3a9ac91fbe4636c0f51af9667e8bdaf258961
BLAKE2b-256 checksum
How to use checksums
4cb6a8b66c42370882e6e57a6daff802ed001add2d23d4d773782b7dce0d737c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.15

Release files / pulldoc-0.2.2-py3-none-any.whl

Download URL pulldoc-0.2.2-py3-none-any.whl
Size 13.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c73b0eaa1be760e98861eb8143966d7b36b75d0af4b1757fda970c79625e42b1
BLAKE2b-256 checksum
How to use checksums
7498791c1fe6b579e5cdbe25c782f0ecc4b215732ba720cef8eed09a7946ffed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.15

Security for pulldoc 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page