Python repositories reading adequate

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.

All bands Strong Adequate 138 surveyed
Sort Relevance Newest Stars Lines of code Files History Findings Worst band
RepositoryLanguageSizeStarsReadBand
opendatalab/mineru 3 adequate · 2 strong Python 312,235 lines 83,052 2026-11-03 adequate
nousresearch/hermes-agent 4 adequate · 1 strong Python 1,734,048 lines 261,024 2026-10-23 adequate
docling-project/docling 4 adequate · 1 strong Python 489,177 lines 70,056 2026-11-03 adequate
yt-dlp/yt-dlp 4 adequate · 1 strong Python 266,861 lines 194,034 2026-10-25 adequate
hkuds/deeptutor 4 adequate · 1 strong Python 942,295 lines 54,596 2026-11-03 adequate
open-webui/open-webui 4 adequate · 1 strong Python 520,890 lines 153,736 2026-10-25 adequate
astrbotdevs/astrbot 3 adequate · 2 strong Python 465,718 lines 45,809 2026-11-03 adequate
langgenius/dify 5 adequate Python 1,835,956 lines 159,361 2026-10-23 adequate
huggingface/transformers 4 adequate · 1 strong Python 1,827,521 lines 167,993 2026-10-22 adequate
ycm-core/youcompleteme 2 adequate · 1 strong Python 34,352 lines 25,874 2026-11-07 adequate
pdfmathtranslate/pdfmathtranslate 4 adequate · 1 strong Python 13,434 lines 38,162 2026-11-03 adequate
w-okada/voice-changer 3 adequate · 2 strong Python 60,574 lines 21,302 2026-11-07 adequate
apache/superset 3 adequate · 2 strong Python 1,778,100 lines 74,921 2026-10-25 adequate
cinnamon/kotaemon 3 adequate · 2 strong Python 58,804 lines 25,872 2026-11-03 adequate
sinaptik-ai/pandas-ai 2 adequate · 3 strong Python 24,067 lines 23,927 2026-11-03 adequate
1panel-dev/maxkb 4 adequate · 1 strong Python 249,284 lines 23,106 2026-11-03 adequate
mkdocs/mkdocs 1 adequate · 3 strong Python 43,181 lines 22,534 2026-11-03 adequate
unslothai/unsloth 3 adequate · 2 strong Python 1,908,319 lines 78,469 2026-10-23 adequate
headroomlabs-ai/headroom 3 adequate · 2 strong Python 789,935 lines 77,628 2026-10-23 adequate
ultralytics/ultralytics 4 adequate · 1 strong Python 200,962 lines 62,003 2026-10-25 adequate
textualize/rich 2 adequate · 2 strong Python 68,235 lines 57,445 2026-10-25 adequate
eosphoros-ai/db-gpt 3 adequate · 2 strong Python 613,540 lines 20,250 2026-11-03 adequate
volcengine/openviking 3 adequate · 2 strong Python 1,293,064 lines 41,018 2026-10-28 adequate
hkuds/lightrag 3 adequate · 2 strong Python 489,273 lines 40,385 2026-10-28 adequate
mem0ai/mem0 3 adequate · 2 strong Python 279,414 lines 67,704 2026-10-23 adequate
crewaiinc/crewai 3 adequate · 2 strong Python 671,642 lines 60,540 2026-10-23 adequate
ansible/awx 3 adequate · 1 strong Python 223,387 lines 15,618 2026-11-03 adequate
the-pr-agent/pr-agent 3 adequate · 2 strong Python 224,506 lines 14,267 2026-11-03 adequate
httpie/cli 1 adequate · 2 strong Python 26,408 lines 38,597 2026-10-25 adequate
apache/airflow 3 adequate · 2 strong Python 1,898,197 lines 47,267 2026-10-23 adequate

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.