Python repositories
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 |
|---|---|---|---|---|---|
| searxng/searxng 4 adequate · 1 strong | Python | 93,914 lines | 37,800 | 2026-10-25 | |
| tracer-cloud/opensre 3 adequate · 2 strong | Python | 654,321 lines | 12,684 | 2026-11-03 | |
| langchain-ai/langgraph 1 adequate · 3 strong | Python | 213,940 lines | 43,789 | 2026-10-23 | |
| python-poetry/poetry 4 strong | Python | 113,213 lines | 34,307 | 2026-10-25 | |
| agno-agi/agno 4 adequate · 1 strong | Python | 1,327,841 lines | 42,874 | 2026-10-23 | |
| dgtlmoon/changedetection.io 2 adequate · 3 strong | Python | 102,058 lines | 34,682 | 2026-10-25 | |
| streamlink/streamlink 1 adequate · 3 strong | Python | 99,833 lines | 11,890 | 2026-11-03 | |
| getsentry/sentry 2 adequate · 3 strong | Python | 2,321,511 lines | 45,628 | 2026-10-22 | |
| certbot/certbot 1 adequate · 3 strong | Python | 104,561 lines | 33,257 | 2026-10-25 | |
| skyvern-ai/skyvern 3 adequate · 2 strong | Python | 1,712,957 lines | 23,290 | 2026-10-28 | |
| bunkerity/bunkerweb 4 adequate · 1 strong | Python | 2,058,501 lines | 11,213 | 2026-11-03 | |
| 2noise/chattts 2 adequate · 2 strong | Python | 31,768 lines | 39,927 | 2026-10-23 | |
| ray-project/ray 3 adequate · 2 strong | Python | 1,947,982 lines | 44,105 | 2026-10-22 | |
| vectifyai/pageindex 4 strong | Python | 53,793 lines | 39,549 | 2026-10-23 | |
| blacklanternsecurity/bbot 1 adequate · 3 strong | Python | 131,839 lines | 10,922 | 2026-11-03 | |
| sqlmapproject/sqlmap 2 adequate · 2 strong | Python | 220,386 lines | 38,772 | 2026-10-23 | |
| chatchat-space/langchain-chatchat 3 adequate · 2 strong | Python | 48,380 lines | 38,702 | 2026-10-23 | |
| khoj-ai/khoj 4 adequate · 1 strong | Python | 94,568 lines | 37,799 | 2026-10-23 | |
| agentscope-ai/qwenpaw 3 adequate · 2 strong | Python | 1,658,503 lines | 36,012 | 2026-10-23 | |
| frappe/erpnext 4 strong | Python | 1,013,840 lines | 40,460 | 2026-10-22 | |
| pydantic/pydantic 4 strong | Python | 251,442 lines | 28,889 | 2026-10-25 | |
| celery/celery 2 adequate · 3 strong | Python | 120,842 lines | 28,919 | 2026-10-25 | |
| mlflow/mlflow 3 adequate · 2 strong | Python | 1,682,961 lines | 28,136 | 2026-10-25 | |
| locustio/locust 2 adequate · 3 strong | Python | 47,291 lines | 28,183 | 2026-10-25 | |
| pythagora-io/gpt-pilot 2 adequate · 3 strong | Python | 39,965 lines | 33,645 | 2026-10-23 | |
| onyx-dot-app/onyx 2 adequate · 3 strong | Python | 1,826,289 lines | 33,234 | 2026-10-23 | |
| topoteretes/cognee 2 adequate · 3 strong | Python | 690,790 lines | 32,699 | 2026-10-23 | |
| getzep/graphiti 3 adequate · 2 strong | Python | 97,478 lines | 32,166 | 2026-10-23 | |
| spotify/luigi 4 strong | Python | 71,455 lines | 18,782 | 2026-10-28 | |
| zulip/zulip 3 adequate · 2 strong | Python | 1,165,155 lines | 25,951 | 2026-10-25 |
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.