repowiserepowise
Sign in
wger-project/wger
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisewger-project/wger
WG
WG

wger-project / wger

pythonmaster80d4a9868.1K linessynced 2w ago

Code health

7.5out of 10Good

This codebase scores 7.5 out of 10 for code health, which we rate good. It also scores maintainability 8.9 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 75 of 876 files are git hotspots, and they average 5.4 — which is where the fixes pay off most.

Full health report →
Documentation850pages52 with model-written prose, 798 built from the indexScore validation9/204.4× baselineTop-ranked files that did go on to need a bug fixDead code155exportsUnused exports that nothing in the graph reaches

Do next

Nothing stands out in the week to Sep 14, the last indexed commit.

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
Lines of code
68.1K
Files
876
Symbols
4,910
Modules
4
Languages
4

Recent activity

All commits →

Commits

  • 80d4a989Translated using Weblate (Ukrainian)3w ago
  • b81eff84Translated using Weblate (Ukrainian)3w ago
  • fc601d96Translated using Weblate (Ukrainian)3w ago
  • 8cb25360Translated using Weblate (Ukrainian)3w ago
  • 0c125dffRequire add_exercise permission to create exercises3w ago
  • 6d2a3c43Improvements to db detection while bootstrapping3w ago

Decisions

  • feat(measurements): migrate WeightEntry to Measurement (feature/health-sync)(wger#2328)proposed · 2w ago
  • Delete the models in the correct orderproposed · 2w ago
  • Queue email delivery via Celery instead of in-band SMTPproposed · 2w ago
  • Prevent replacing an exercise with itself on deletionproposed · 2w ago
  • Track deletion replacements via replaced_by in deletion logproposed · 2w ago
  • Fallback to in-process sending when no broker is configuredproposed · 2w ago
▸

Everything we found

1,641 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 health766Nested complexity · wger/nutrition/sync.py23 findings · 8.0 deducted→
  • worst item is medium severity. Refactoring93save+1.5 health, S effort · wger/manager/models/log.py→
  • worst item is medium severity. Decisions91wger/measurements/tests/test_dynamic.py16 awaiting review · 75 hotspots ungoverned→
  • worst item is medium severity. Ownership646wger/measurements/api/serializers.py98% single-owner concentration, 29 commits in 90d→
  • worst item is low severity. Dead code45wger/core/management/commands/delete-temp-users.pyUnreachable symbol (20 lines)→

Composition

Open the graph →
python 98%
shell 1%dockerfile 1%javascript 0%

Explore this codebase

  • Docs850 pages across 4 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files876 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 4 entry points→
  • Code healthPer-file scores, 940 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.→