← the index
ipython/ipython ↗
48%
of 369 commits were committed by an AI agent — a floor, not an estimate
48% agent · top contributor 96%4 contributors
individual

One person is driving this. The headline number reflects a single contributor's workflow, not a project-wide shift.

177
agent commits
192
human commits
4
agent contributors
96%
largest contributor

Assisted or autonomous

173assisted
4autonomous

Assisted — a developer’s identity authored the commit and the agent added itself as co-author. The agent ran git commit during a working session, with a person there. Autonomous — a bot identity is the author, no human in the loop. Across the whole index, 93.7% of agent commits are assisted.

Agent share by month

Feb26
Mar26
Apr26
May26
Jun26
Jul26
Aug26
Sep26

Peak month: 82.8%. Bars are scaled to that peak, not to 100%.

Which agents

Claude CodeAnthropic17346.9%
GitHub CopilotGitHub41.1%

Verify it yourself

Sample commits that matched. Every one links to GitHub — check the trailers.

  • 7f0ee556Declare IPython's built-in magics lazilyClaude Code
  • 5b8c0bd9Defer IPython.core.oinspect import out of the startup pathClaude Code
  • 4b18de34ci: run mypy on Windows, plus cross-platform --platform checksClaude Code
  • 7f24f50bUpdate version9.rst: document all IPython 9.10 PRs and add narrative sectiGitHub Copilot
  • 2ef68762Fix SQLite ResourceWarning: unclosed database in HistoryAccessor (#15128)GitHub Copilot
  • 516b92bcAdd type hints to IPython/utils/openpy.pyGitHub Copilot

What was excluded

Commits in window421
Merge commits removed−47
CI / dependency bots removed−5
Considered369

Bots are excluded from the denominator entirely. Counting dependabot as “AI-written code” is the fastest way to produce a meaningless number.

How this was measured

Measured over February–August 2026, cloned directly. Detection is deterministic string matching against signatures agents write about themselves — no heuristics, no style analysis. Merge commits and CI bots are excluded from the denominator. The figure is a floor: squash merges strip trailers, so real usage is higher. Contributor counts are aggregate — no individual is named.

Run it yourself: npx qmmit-cli ipython/ipython

Scan another repository