--- id: pydriller version: "2.10" license: Apache License license_treatment: permissive maintenance: active --- # PyDriller — Framework for MSR License: permissive · Maintenance: active · Downloads: 314.8K/mo ## What it is and what it does PyDriller is a Python framework for mining software repositories, built on gitpython to traverse and analyze Git history. It lets you programmatically extract structured data about commits, developers, file changes, and code diffs from any Git repository—local or remote—without writing raw Git commands yourself. The framework handles the parsing and object model so you work with clean Python objects representing commits, authors, and file modifications. It's commonly used in software engineering research, code quality analysis, and repository auditing. The package depends on gitpython for Git operations, pytz for timezone handling, and lizard for optional code complexity metrics. It supports Python 3.5 and later, with active maintenance and no known security vulnerabilities. Use it for: - Extract commit history and metadata for software engineering research or empirical studies on development patterns. - Analyze file change frequency and developer contributions to identify code hotspots and team dynamics. - Build automated code review or quality monitoring tools that examine diffs and commit patterns over time. - Generate repository statistics and reports on project evolution, commit volume, and contributor activity. - Audit repository history for compliance, security, or documentation purposes without manual Git log parsing. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyDriller extracts commit history, developer metadata, modified files, diffs, and source code information from Git repositories for analysis and mining. Yes. PyDriller is actively maintained, has no security vulnerabilities, installs with low friction, and offers a clean Python API for Git analysis. It's well-suited for anyone building repository analysis tools, conducting software engineering research, or automating repository audits. The permissive Apache License poses no barrier to adoption. ## Install pip install pydriller uv add pydriller poetry add pydriller ## Installing PyDriller Before you install: Low friction install with a pure-Python wheel distribution. Active maintenance with a recent release 44 days ago and ongoing repository activity. License in practice: Apache License permits commercial and private use with minimal restrictions, making it suitable for most projects without licensing concerns. Quickstart: pip install pydriller from pydriller import Repository for commit in Repository('https://github.com/ishepard/pydriller').traverse_commits(): print(commit.hash, commit.msg, commit.author.name) Verify before relying: - Whether the package handles very large repositories efficiently or has performance limitations on scale. - Specific Git version requirements or compatibility constraints beyond Python version support. ## Package facts - License: Apache License (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 314.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags git repository analysis, mining software repositories, extract commit history, git commit metadata, analyze git diffs, source code mining, repository data extraction, git-mining, repository-analysis, msr [View on SkillFed](https://skillfed.io/packages/pydriller) · [View on PyPI](https://pypi.org/project/pydriller/)