Files with excluded extensions are not shown; configure exclude_exts in gitstats.conf.
| Extension | Files | Lines | Share | Lines/file | |
|---|---|---|---|---|---|
| rs | 2,031 | 843,788 | 37.8% | 415 | |
| snap | 3,734 | 525,670 | 23.5% | 140 | |
| md | 700 | 308,265 | 13.8% | 440 | |
| txt | 45 | 228,548 | 10.2% | 5,078 | |
| pyi | 874 | 154,686 | 6.9% | 176 | |
| py | 2,997 | 128,292 | 5.7% | 42 | |
| json | 150 | 17,882 | 0.8% | 119 | |
| lock | 71 | 13,390 | 0.6% | 188 | |
| expect | 209 | 11,936 | 0.5% | 57 | |
| tsx | 31 | 6,547 | 0.3% | 211 | |
| toml | 150 | 6,527 | 0.3% | 43 | |
| svg | 81 | 3,939 | 0.2% | 48 | |
| yml | 24 | 3,513 | 0.2% | 146 | |
| ipynb | 42 | 3,163 | 0.1% | 75 | |
| yaml | 14 | 3,057 | 0.1% | 218 | |
| ts | 18 | 756 | 0.0% | 42 | |
| css | 4 | 583 | 0.0% | 145 | |
| sh | 17 | 494 | 0.0% | 29 | |
| js | 2 | 357 | 0.0% | 178 | |
| dot | 1 | 209 | 0.0% | 209 | |
| html | 5 | 171 | 0.0% | 34 | |
| json5 | 1 | 141 | 0.0% | 141 | |
| patch | 6 | 95 | 0.0% | 15 | |
| csv | 1 | 74 | 0.0% | 74 | |
| jinja | 1 | 61 | 0.0% | 61 | |
| vars | 1 | 2 | 0.0% | 2 | |
| png | 12 | — | — | — | |
| ico | 3 | — | — | — |
Files in the current tree touched most often across all commits. High-churn files are hotspots that may benefit from extra review or refactoring.
| File | Times Changed | |
|---|---|---|
| Cargo.lock | 2,217 | |
| README.md | 1,336 | |
| Cargo.toml | 941 | |
| crates/ty_python_semantic/src/types.rs | 863 | |
| ruff.schema.json | 804 | |
| crates/ty_python_semantic/src/types/infer/builder.rs | 667 | |
| .github/workflows/ci.yaml | 634 | |
| crates/ty_python_semantic/src/types/class.rs | 430 | |
| crates/ruff_linter/src/codes.rs | 394 | |
| .pre-commit-config.yaml | 390 | |
| crates/ty_python_semantic/src/types/call/bind.rs | 388 | |
| pyproject.toml | 383 | |
| crates/ty_python_semantic/src/types/infer.rs | 341 | |
| crates/ruff/Cargo.toml | 316 | |
| crates/ty_python_semantic/src/types/diagnostic.rs | 305 | |
| crates/ty_python_semantic/src/types/generics.rs | 290 | |
| crates/ruff_linter/src/checkers/ast/mod.rs | 260 | |
| crates/ruff_linter/src/checkers/ast/analyze/expression.rs | 254 | |
| crates/ty_python_semantic/src/types/function.rs | 237 | |
| crates/ty_python_semantic/src/types/signatures.rs | 230 | |
| crates/ruff_linter/Cargo.toml | 218 | |
| crates/ty_python_semantic/src/types/narrow.rs | 210 | |
| crates/ruff_workspace/src/options.rs | 209 | |
| crates/ty_ide/src/completion.rs | 205 | |
| crates/ty/docs/rules.md | 204 |
Change frequency by file size →
How Ruff compares with other Python open source projects →
How Ruff ranks among Python open source projects by AI-assisted commits →
Generate this report for your own repository with gitstats-action · All Gallery reports
Publishes the report to GitHub Pages on every push to main: turn on Pages for the gh-pages branch.
# .github/workflows/gitstats.yml
name: GitStats Report
on:
push:
branches: [main]
permissions:
contents: write
jobs:
gitstats:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- uses: shenxianpeng/gitstats-action@v1
with:
deploy-to-pages: true