repowiserepowise
Sign in
django/django
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisedjango/django
DJ
DJ

django / django

pythonmain50e5264435.1K linessynced 2mo ago

Code health

6.4out of 10Fair

This codebase scores 6.4 out of 10 for code health, which we rate fair. It also scores maintainability 7.4 and static performance 9.8 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 42 of 3,010 files are git hotspots, and they average 3.0 — which is where the fixes pay off most.

Full health report →
Documentation4,390pages
61 with model-written prose, 4,329 built from the index
Dead code85exportsUnused exports that nothing in the graph reaches

Do next

2 things worth doing this quarter, 1 of them now.

Worth planning

  • Delete 60 unused symbols and files (746 lines)

    Nothing in the graph reaches them, across 40 files; every reader and agent pays to skip them.

    symbols
    60
    lines
    746
    safe to delete
    Yes(inferred)
    Medium effort

Improve what Repowise can see

  • Add a test coverage report

    Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.

    line coverage
    Unknown, no report
    Small effort
  • Review the 31 proposed decisions

    None is accepted yet, so nothing can drift from one and agents get no enforced guidance from them.

    proposed
    31
    accepted
    0
    Medium effort
Lines of code
435.1K
Files
3,010
Symbols
41,678
Modules
6
Languages
4

Recent activity

All commits →

Commits

  • 50e5264aAllowed the full Python test matrix to run on GitHub Actions.2mo ago
  • 92470ad3Fixed #37230 -- Fixed a crash for second-degree relations in ModelAdmin.list_display.2mo ago
  • 09c8b50bAdded stub release notes and release date for 6.0.8 and 5.2.17.2mo ago
  • 8362cdc7Bumped minimum setuptools version to 83.2mo ago
  • 5e32c82aRefs #22712 -- Restored django.contrib.staticfiles.finders.BaseFinder.find().2mo ago
  • c2517fafFixed #37198 -- Fixed content_disposition_header() quoting of filenames ending with newlines.2mo ago

Decisions

  • Define expression combination via connector (e.g., arithmetic)proposed · 2mo ago
  • Cast Decimal expressions for correct filteringproposed · 2mo ago
  • Reverted rename-permissions migration changeproposed · 2mo ago
  • Deprecated insecure password hashersproposed · 2mo ago
  • Allowed non-UTF-8 bytes passwords in PBKDF2 and MD5 hashersproposed · 2mo ago
  • Use asgiref.sync.iscoroutinefunction instead of deprecated asyncio.iscoroutinefunctionproposed · 2mo ago
▸

Everything we found

5,272 open

Every detector's open count by area, each with its worst example. An inventory, not a to-do list: the actions above are the part worth doing.

  • worst item is critical severity. Code health3,090Untested hotspot · django/contrib/auth/__init__.py14 findings · 9.8 deducted→
  • worst item is medium severity. Refactoring464<anonymous>+1.5 health, L effort · django/contrib/admin/static/admin/js/SelectFilter2.js→
  • worst item is medium severity. Decisions73tests/mail/tests.py31 awaiting review · 42 hotspots ungoverned→
  • worst item is medium severity. Ownership1,458tests/mail/test_backends.py97% single-owner concentration, 8 commits in 90d→
  • worst item is low severity. Dead code187Gruntfile.jsUnreachable symbol (10 lines)→

Composition

Open the graph →
  • python98%
  • javascript2%
  • shell<1%
  • makefile<1%

Explore this codebase

  • Docs4,390 pages across 6 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files3,010 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 7 entry points→
  • Code healthPer-file scores, 4,683 open findings, coverage and refactoring targets→
  • Knowledge graphEntities, communities, and the paths between them→
  • Change couplingFiles that keep changing together, mined from commit history→
  • CommitsChange-risk ranked history with agent provenance→
  • ContributorsBus factor, per-file maintainers, and the human/agent split→
  • StatsSize class, origin, lifetime churn, rhythm and records→
  • CostsWhat indexing this snapshot cost, by model and by run.→