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 |
|---|---|---|---|---|---|
| home-assistant/core 1 adequate · 3 strong | Python | 2,389,960 lines | 91,929 | 2026-11-03 | |
| plotly/dash 1 adequate · 3 strong | Python | 178,307 lines | 24,478 | 2026-11-07 | |
| verl-project/verl 1 adequate · 4 strong | Python | 253,882 lines | 24,160 | 2026-11-07 | |
| graphify-labs/graphify 2 adequate · 3 strong | Python | 326,322 lines | 133,749 | 2026-10-23 | |
| langchain-ai/langchain 4 strong | Python | 468,831 lines | 148,283 | 2026-10-22 | |
| hkuds/vibe-trading 2 adequate · 3 strong | Python | 716,142 lines | 37,537 | 2026-11-03 | |
| ocrmypdf/ocrmypdf 1 adequate · 4 strong | Python | 64,684 lines | 35,225 | 2026-11-03 | |
| browser-use/browser-use 2 adequate · 3 strong | Python | 127,930 lines | 118,963 | 2026-10-23 | |
| cloakhq/cloakbrowser 2 adequate · 3 strong | Python | 70,380 lines | 32,707 | 2026-11-03 | |
| django/django 1 adequate · 3 strong | Python | 720,200 lines | 91,182 | 2026-10-25 | |
| trailofbits/algo 2 adequate · 3 strong | Python | 21,202 lines | 30,449 | 2026-11-03 | |
| pallets/flask 4 strong | Python | 19,910 lines | 74,779 | 2026-10-25 | |
| vllm-project/vllm 1 adequate · 3 strong | Python | 2,242,337 lines | 96,400 | 2026-10-22 | |
| hkuds/nanobot 2 adequate · 3 strong | Python | 633,709 lines | 49,546 | 2026-10-28 | |
| scrapy/scrapy 4 strong | Python | 102,098 lines | 64,525 | 2026-10-25 | |
| swe-agent/swe-agent 1 adequate · 3 strong | Python | 26,205 lines | 20,716 | 2026-11-03 | |
| nginx-proxy/nginx-proxy 1 adequate · 3 strong | Python | 9,717 lines | 19,934 | 2026-11-03 | |
| langbot-app/langbot 2 adequate · 3 strong | Python | 739,365 lines | 18,710 | 2026-11-03 | |
| psf/requests 4 strong | Python | 16,102 lines | 54,342 | 2026-10-25 | |
| pathwaycom/pathway 1 adequate · 3 strong | Python | 388,254 lines | 62,073 | 2026-10-23 | |
| libretranslate/libretranslate 1 adequate · 4 strong | Python | 6,297 lines | 17,260 | 2026-11-03 | |
| browser-use/web-ui 2 adequate · 3 strong | Python | 6,158 lines | 16,644 | 2026-11-03 | |
| paperless-ngx/paperless-ngx 2 adequate · 3 strong | Python | 241,331 lines | 46,096 | 2026-10-25 | |
| pathwaycom/serviette 2 adequate · 3 strong | Python | 26,859 lines | 58,774 | 2026-10-23 | |
| streamlit/streamlit 1 adequate · 3 strong | Python | 712,175 lines | 45,838 | 2026-10-25 | |
| mitmproxy/mitmproxy 2 adequate · 3 strong | Python | 127,014 lines | 45,188 | 2026-10-25 | |
| mail-in-a-box/mailinabox 2 adequate · 3 strong | Python | 21,563 lines | 15,454 | 2026-11-03 | |
| psf/black 1 adequate · 3 strong | Python | 96,921 lines | 41,857 | 2026-10-25 | |
| getpelican/pelican 4 strong | Python | 32,441 lines | 13,363 | 2026-11-03 | |
| run-llama/llama_index 2 adequate · 3 strong | Python | 9,665 lines | 52,621 | 2026-10-22 |
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.