Python repositories reading strong
Every public repository surveyed, browsable and searchable. Including the unflattering ones — a tool that only published good results would be a badge vending machine, not a diligence instrument.
| Repository | Language | Size | Stars | Read | Band |
|---|---|---|---|---|---|
| plotly/plotly.py 1 adequate · 3 strong | Python | 591,790 lines | 18,855 | 2026-10-23 | |
| defectdojo/django-defectdojo 2 adequate · 3 strong | Python | 1,413,006 lines | 5,183 | 2026-11-03 | |
| vectifyai/openkb 1 adequate · 3 strong | Python | 62,199 lines | 4,842 | 2026-11-03 | |
| robusta-dev/krr 2 adequate · 3 strong | Python | 10,833 lines | 4,769 | 2026-11-03 | |
| borgbackup/borg 4 strong | Python | 109,282 lines | 13,789 | 2026-10-25 | |
| pydantic/logfire 1 adequate · 3 strong | Python | 182,901 lines | 4,530 | 2026-11-03 | |
| mljar/mercury 2 adequate · 3 strong | Python | 46,033 lines | 4,357 | 2026-11-03 | |
| sqlalchemy/sqlalchemy 1 adequate · 3 strong | Python | 644,247 lines | 12,189 | 2026-10-25 | |
| algorithmicsuperintelligence/optillm 2 adequate · 3 strong | Python | 57,794 lines | 4,335 | 2026-11-03 | |
| kludex/starlette 4 strong | Python | 28,883 lines | 12,640 | 2026-10-25 | |
| swanhubx/swanlab 4 strong | Python | 75,429 lines | 4,350 | 2026-11-03 | |
| browser-use/workflow-use 1 adequate · 3 strong | Python | 36,171 lines | 4,244 | 2026-11-03 | |
| rotki/rotki 2 adequate · 3 strong | Python | 1,121,031 lines | 4,073 | 2026-11-03 | |
| lektor/lektor 4 strong | Python | 40,552 lines | 3,949 | 2026-11-03 | |
| sissbruecker/linkding 2 adequate · 3 strong | Python | 47,514 lines | 11,262 | 2026-10-25 | |
| ontos-ai/knowhere 2 adequate · 3 strong | Python | 252,704 lines | 3,893 | 2026-11-03 | |
| octodns/octodns 1 adequate · 3 strong | Python | 55,036 lines | 3,775 | 2026-11-03 | |
| frappe/frappe 2 adequate · 3 strong | Python | 548,700 lines | 10,846 | 2026-10-25 | |
| neuml/txtai 1 adequate · 3 strong | Python | 63,035 lines | 13,029 | 2026-10-23 | |
| truera/trulens 4 strong | Python | 215,801 lines | 3,628 | 2026-11-03 | |
| pypa/pip 4 strong | Python | 97,408 lines | 10,287 | 2026-10-25 | |
| bentoml/openllm 4 strong | Python | 3,461 lines | 12,563 | 2026-10-23 | |
| coreruleset/coreruleset 4 strong | Python | 119,141 lines | 3,340 | 2026-11-03 | |
| enterprisedb/barman 4 strong | Python | 138,467 lines | 3,272 | 2026-11-03 | |
| octoprint/octoprint 1 adequate · 3 strong | Python | 225,605 lines | 9,117 | 2026-10-25 | |
| kedro-org/kedro 1 adequate · 4 strong | Python | 91,632 lines | 11,031 | 2026-10-23 | |
| skypilot-org/skypilot 2 adequate · 3 strong | Python | 724,101 lines | 10,738 | 2026-10-23 | |
| django-cms/django-cms 1 adequate · 3 strong | Python | 132,493 lines | 10,679 | 2026-10-23 | |
| chdb-io/chdb 1 adequate · 3 strong | Python | 266,143 lines | 2,922 | 2026-11-03 | |
| polarsource/polar 2 adequate · 3 strong | Python | 1,144,782 lines | 10,411 | 2026-10-23 |
What a band means. A band sums up one reading of one commit: strong, adequate or significant findings. Here it counts the project's code, process, product, security and operations. A report reads more than that, so its band can differ from its row.
How listing works. Every public repository surveyed is listed — assessing public work is commentary on public work, and a library that hid the small ones would be quietly editorialising about which code counts. Private repositories are never listed. Anyone who proves control of a repo can attach a response to a finding, request a re-run, or delist it. Delisting is immediate and no-questions. An owner's response is removed only when it is unlawful, impersonates someone, publishes personal data or a credential, or is not about the finding. Disagreeing with the report is never a reason. To report a response, or to reach us about one, write to takedown@borehole.dev. There is no org-level score. Repositories are listed one by one, and sorting by band orders them by their own readings. Takedown: one email, 48 hours.