Edition No. 27 · 21 Sep 2026
Twelve repositories for the six subjects last week missed
One entry's own website refused the program we sent to read it, which is the clearest proof that it works.
Monday, 21 September 2026. Twelve repositories, opened and checked this morning. The first one refused us, and that is the clearest evidence it works.
We aim for twelve every day. Some candidates fall out while we check them — those are listed at the end, with the reason.
There is no theme. Twelve repositories, picked on how good they are, one in each of twelve different areas. That is the widest spread any edition has had, and it ties Edition 21.
Two things worth knowing
The tool that stops scrapers stopped the program we sent to read about it.
Entry #1, Anubis, lists its documentation site as anubis.techaro.lol. Opening it returned no documentation. It returned Anubis's own interstitial page — "Protected by Anubis from Techaro" — with a denial code and nothing else. The documentation had to be read out of the repository instead.
That is the tool working exactly as designed, and it is worth more than any description of it. It is also the honest cost, stated plainly in the entry: a proof-of-work gate does not distinguish between a scraper and any other automated reader. A link checker, an uptime monitor, a feed reader, a price-comparison service a customer uses, a text-only browser, a screen reader on an old device — all of them fail the same test. The project's rule files exist precisely so you can list the ones you want through, and the list is something you have to maintain. Nobody tells you when a legitimate reader starts bouncing off the front door.
Five editions have now circled this question from different sides. Edition 21 covered ai.robots.txt, which asks. Edition 25 covered three tools for reading other people's pages. This is the one that refuses, and it refused us.
Two numbers this report had wrong until this morning, and both came from reading a rounded figure.
GitHub displays star counts rounded: 3,000, 2.5k, 21.2k. On 18 September, entry #11, bt, was recorded in this ledger as having "exactly 3.0k stars, so it is NOT counted as a hidden gem", because 3,000 is the line and 3,000 is not under it. The exact figure is 2,982. It has been a gem all along, and it is listed as one today. Nothing about the project changed; the display did the rounding and the reading did the rest.
The second is a year. On 20 September, entry #6, m4b-tool, was recorded with its release v0.5.2 dated 13 February 2026. The exact date is 13 February 2025 — nineteen months ago, not seven. The project is still comfortably alive, because its code was pushed on 18 April 2026, and that is the number the eighteen-month rule is measured against. But the release sentence was wrong by a year in a private note, and it is corrected here in public before it reached a reader.
Both are the same shape of mistake as the one this report has written about repeatedly: a number that looks precise, read without checking what it actually says.
If you only do three things
- web-check (#2) — five minutes, and there is nothing to install. Type a domain into the public copy and it runs about forty checks on it: who hosts it, which certificate it uses, what the email records say, what a search engine sees, which headers are missing. It is the fastest way to find out what the outside world already knows about a domain you own.
- OCRmyPDF (#4) — twenty minutes, on files you already have. A scanned document is a picture of words, so searching inside it finds nothing. One command reads the words and writes them invisibly behind the picture. The file looks identical and becomes searchable. Run it once over an old folder of scans and the difference is immediate.
- diun (#7) — half an hour, and it changes nothing by itself. It watches the container images you use and tells you when a newer one is published. It never updates anything. That is the whole point: you find out, then you decide.
Every link in one place
| # | Repository | Website | Stars | Licence |
|---|---|---|---|---|
| 1 | TecharoHQ/anubis | anubis.techaro.lol | 21.7k | MIT |
| 2 | Lissy93/web-check | web-check.xyz | 34.9k | MIT |
| 3 | freescout-help-desk/freescout | freescout.net | 4.5k | AGPL-3.0 |
| 4 | ocrmypdf/OCRmyPDF | ocrmypdf.readthedocs.io | 34.6k | MPL-2.0 |
| 5 | dolthub/dolt | dolthub.com | 24.0k | Apache-2.0 |
| 6 | sandreas/m4b-tool | pilabor.com | 1.6k | MIT |
| 7 | crazy-max/diun | crazymax.dev/diun | 4.9k | MIT |
| 8 | mgunyho/tere | — | 1.8k | EUPL-1.2 |
| 9 | mksglu/context-mode | context-mode.com | 23.8k | Elastic License 2.0 |
| 10 | huggingface/lighteval | huggingface.co/docs/lighteval | 2.5k | MIT |
| 11 | pmorissette/bt | pmorissette.github.io/bt | 2,982 | MIT |
| 12 | iconify/iconify | iconify.design | 6.2k | MIT |
Anubis blocked the program we sent to read its own manual
Twelve repositories, checked and reviewed. Every version verified against the GitHub API and dated.
21.7k stars · MIT · v1.27.0 (2026-08-08), read from /releases/latest; the yearless '08 Aug' resolves to 2026 because it is in the past, and ungh.cc/repos/TecharoHQ/anubis/releases/latest confirms 2026-08-08 · Track this in Scout
It makes a visiting browser do a small piece of work before a page is served, which most scrapers will not pay for.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A small program written in Go that sits between the internet and a website, in front of the web server. It checks each request, lets the ones it recognises through, and gives everything else a puzzle that a browser solves with JavaScript before it is allowed past.
What it is good for. Anyone hosting original writing, documentation or source code that keeps being downloaded in bulk. Several open-source projects have put it in front of their code-hosting pages after scrapers made those pages slow for humans. The same problem appears on a much smaller scale on a personal site with a long archive: the traffic graph goes up, the reader count does not, and the hosting bill follows the traffic. Asking politely does not work, because the polite request is the one in robots.txt and it is ignored. This is the version that does not ask.
- MIT, which is a permissive licence: you may use it in a commercial product with no conditions beyond keeping the notice.
- It ships as a single program and as a container image (a container is a sealed box that holds a program and everything it needs, so it cannot break anything else on the machine), and it sits behind nginx, Caddy or Traefik without changing them.
- The rules are ordinary text files, so you can let through the search engines you want, the RSS readers you want, and anything else you name.
- The puzzle needs JavaScript. A text-only browser, some accessibility setups and some older devices will simply not get through, and that is a real cost, not a theoretical one.
- Every real visitor pays a small delay on the first page, and on an old phone it is longer than on a laptop.
- It is one more program in front of the website. If it stops, the site stops.
ai-robots-txt/ai.robots.txtIt also targets AI scrapers, but it publishes a list of their names for robots.txt, which is a request they can ignore, where this one refuses them outright.
Track this in Scout
altcha-org/altchaIt uses the same proof-of-work idea, but it guards a single form against spam rather than guarding every page of a site.
Track this in Scout- fail2ban/fail2ban
It also blocks unwanted traffic, but it reacts to bad behaviour already in the log and bans addresses, where this one challenges every visitor up front.
Track this in Scout
# the container image, put in front of an existing web server docker run --rm -p 8923:8923 \ -e BIND=":8923" \ -e TARGET="http://localhost:3000" \ -e DIFFICULTY=4 \ ghcr.io/techarohq/anubis:latest # then point your reverse proxy at port 8923 instead of port 3000
34.9k stars · MIT · 2.2.0 (2026-07-28), read from /releases/latest and confirmed by ungh.cc as 2026-07-28 · Track this in Scout
One page of about forty public facts about any web address, from hosting and certificates to email records and what a crawler sees.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A web application that runs a long list of independent checks against a domain and lays the answers out as cards. Each card is a separate check, and any of them can be switched off.
What it is good for. Anyone who owns a domain and has never looked at it from outside. The checks that most often surprise people are the email ones: SPF, DKIM and DMARC are three short records that tell other mail servers which machines may send mail in your name, and when they are missing or wrong your mail quietly goes to spam. It is also the fastest way to answer "what does a crawler see here", because it reads robots.txt, the page structure, the social-preview tags and the security headers in the same pass. And it works on a competitor's domain exactly as well as on your own.
- MIT, and there is a free hosted copy, so the first look costs nothing at all.
- About forty checks in one place, where each would otherwise be a separate website and a separate wait.
- It self-hosts with one container command, which matters because the public copy is rate-limited and because some checks are better run from a machine you control.
- It reports facts and leaves the judgement to you. It will tell you a header is missing; it will not tell you whether that matters for your site.
- Some checks need extra programs installed (a browser for screenshots,
traceroutefor the network path), so a bare install quietly returns fewer answers than the hosted copy. - Running it yourself wants Node.js 22.12 or newer, which is more recent than many servers carry.
janreges/siteone-crawlerIt also audits a site and reports security, SEO and speed problems, but it crawls every page and produces a report file, where this one examines the domain itself.
Track this in Scout
StJudeWasHere/seonautIt also finds problems that affect search ranking, but it keeps a history across crawls; this one is a single snapshot.
Track this in Scout
harlan-zw/unlighthouseIt also measures a whole site, but it runs Google Lighthouse on every page for speed and accessibility scores, which is a much narrower question.
Track this in Scout
# use the hosted copy first — nothing to install # https://web-check.xyz/ # or run your own docker run -p 3000:3000 lissy93/web-check # then open http://localhost:3000
4.5k stars · AGPL-3.0 for the core; several official modules are paid · 1.8.233 (2026-08-07) per ungh.cc/repos/freescout-help-desk/freescout/releases/latest · Track this in Scout
A shared inbox and help desk for a support email address, with no per-agent charge and no ticket limit.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A PHP web application that collects mail from one or more addresses and presents it as a queue of conversations with assignment, notes, tags and canned replies. Extra channels — chat, WhatsApp, Telegram — arrive as separate modules.
What it is good for. The moment a support address stops being one person's problem. Until then a normal mail program is fine; after it, two people reply to the same customer within a minute of each other. It is also useful alone, because it keeps the whole history of one customer in one thread rather than scattered across a mailbox. There is no per-agent charge and no ticket limit, which is what separates it from the hosted services it copies: the cost of adding the fourth person is zero.
- Unlimited users and unlimited conversations with no licence fee, which is the whole reason it exists.
- Ordinary PHP and MySQL, so it runs on cheap shared hosting as well as on a container, and the requirements are lower than almost anything comparable.
- The core is AGPL-3.0 and genuinely open, and 33 languages ship with it.
- AGPL-3.0: if you modify it and offer it to other people as a service, you owe them your changes. Running it unmodified for your own support is unaffected.
- Many of the useful pieces — chat, several mailboxes, reporting — are paid modules. The core is free; the product people usually picture is not.
- It is PHP 7.4 to 8.x with a database and a web server to keep patched. That is one more thing to maintain forever.
chatwoot/chatwootIt also handles customer conversations across channels, but it is built around live chat first and email second, and it needs considerably more memory.
Track this in Scout
abhinavxd/libredeskIt does the same job from a single downloaded file with no PHP at all, and it is much younger, so it has fewer features.
Track this in Scout- frappe/helpdesk
It also manages support tickets, but it is built on the Frappe framework and is aimed at ticket workflows rather than at a shared mailbox.
Track this in Scout
git clone https://github.com/freescout-help-desk/freescout.git cd freescout # point a web server at the public/ folder, create an empty MySQL database, # then open the site in a browser and follow the installer
34.6k stars · MPL-2.0 · v17.10.0 (2026-08-05) per ungh.cc/repos/ocrmypdf/OCRmyPDF/releases/latest · Track this in Scout
It adds an invisible text layer to a scanned PDF so it can be searched, without changing how the document looks.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A command-line program that drives the Tesseract text-recognition engine and rebuilds the PDF around its output. It can also straighten crooked pages, clean up the image, and write the result as PDF/A, the archive format that libraries use.
What it is good for. Any pile of scanned paper: invoices, contracts, receipts, old manuals, a decade of statements. The test is simple — open one and press the find key. If nothing is found, this is what you are missing. It is also the right tool for anyone who has been avoiding a full document-management system: you do not have to adopt one. Run the command over a folder, keep your folders exactly as they are, and every file becomes searchable by the tools you already use.
- It never touches the picture you see, so the output is the same document, with a hidden text layer added. There is nothing to lose by trying it.
- Mozilla Public License 2.0, which is permissive in practice: you may use it commercially, and the conditions apply only to the project's own files if you change them.
- It installs from ordinary package managers on Debian, Ubuntu, Fedora and macOS, so there is no building from source.
- It needs Tesseract and Ghostscript installed beside it. The package managers handle that; a manual install does not.
- Recognition quality is Tesseract's, not this project's. A clean 300-dpi scan reads almost perfectly; a photograph of a page taken at an angle in poor light does not.
- Each language you want must be installed separately as its own data package, and that catches people out with Russian and other non-Latin alphabets.
paperless-ngx/paperless-ngxIt uses this project inside itself and adds a whole archive with tags, search and a web page; it is the version for people who want to stop managing folders.
Track this in Scout- tesseract-ocr/tesseract
It is the engine that actually recognises the letters, and on its own it gives you text, not a PDF that still looks like the original.
Track this in Scout
Stirling-Tools/Stirling-PDFIt also works on PDFs and includes text recognition among many other operations, through a web page rather than a command, and its licence is no longer plainly open source.
Track this in Scout
# Debian or Ubuntu sudo apt install ocrmypdf tesseract-ocr-rus # add a language pack as needed ocrmypdf --language eng+rus scan.pdf searchable.pdf # macOS brew install ocrmypdf # or with Python, in its own environment python3 -m venv venv source venv/bin/activate pip install ocrmypdf
24.0k stars · Apache-2.0 · v2.3.5 (2026-09-16), read from /releases/latest; the yearless '16 Sep' resolves to 2026 because it is in the past. ungh.cc's cached copy was OLDER, showing v2.2.3 of 2026-07-30 and pushedAt 2026-07-24, so GitHub's own page was taken as newer · Track this in Scout
A SQL database you can branch, commit, compare and merge like a code repository.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A database that speaks the MySQL protocol, so most existing tools and libraries connect to it unchanged. Version control is exposed as SQL: there are system tables you can query for history and stored procedures for commit, branch, merge and reset.
What it is good for. Data that people edit by hand and argue about afterwards: price lists, mapping tables, configuration, reference data, a dataset several people maintain together. In an ordinary database the question "what changed last week and who changed it" has no answer unless somebody built an audit system in advance. Here it is one query. It is also a good fit for data shipped alongside code, because a change to the data can be reviewed the same way a change to the code is reviewed, before it is merged.
- Apache-2.0 and a single program to install, with no cluster and no extra services.
- MySQL-compatible up to MySQL 8.4, so an existing application can often point at it with only a connection string change.
- The version-control features are real database features, not a wrapper: branching and merging happen inside the engine.
- It is slower than MySQL on some operations. The project publishes its own benchmark table with every release, which is honest and also means you should read it.
- Version control on data is a habit, not a switch. If nobody commits, you have an ordinary database with extra commands.
- Merging data has conflicts just as merging code does, and resolving them is a job somebody has to understand.
- treeverse/lakeFS
It brings the same branch-and-merge idea to files in object storage rather than to rows in a database.
Track this in Scout - TerminusDB/terminusdb
It also offers versioned, collaborative data, but it is a document and graph database with its own query language rather than a MySQL-compatible one.
Track this in Scout
sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash' mkdir mydata && cd mydata dolt init dolt sql -q "CREATE TABLE prices (sku VARCHAR(16) PRIMARY KEY, amount INT)" dolt commit -Am "first version"
1.6k stars · MIT · v0.5.2 (2025-02-13) per ungh.cc/repos/sandreas/m4b-tool/releases/latest. CORRECTION: the 20 September note dated this tag 13 February 2026, which was wrong by a year. Nineteen months old, while ungh.cc reports code pushed 2026-04-18 · Track this in Scout
Merges, splits and chapterises audiobook files from the command line.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A wrapper around ffmpeg and mp4v2, distributed as a single PHP archive file or as a container image. It handles MP3, AAC, OGG, ALAC, FLAC and M4B, and can read chapter names from MusicBrainz.
What it is good for. Anyone with a folder of loose audio files that should be one thing: an audiobook bought as 60 MP3s, a recorded lecture series, a long interview cut into takes. It also matters to anyone who records long spoken audio and wants to publish it with chapters, because chapter marks are what make a two-hour file navigable at all. The silence-detection option is the part worth trying first: it finds the natural breaks without you scrubbing through the file.
- MIT, free, and it does one job properly rather than being a whole media library.
- The container image carries ffmpeg, mp4v2 and the tagger with it, so there is nothing else to install.
- It can generate chapters automatically from silence, which saves the slowest part of the work.
- Its newest release, v0.5.2, is dated 13 February 2025 — nineteen months ago. The code itself was last pushed on 18 April 2026, five months ago, so the project is quiet rather than finished, and the README recommends the pre-release build over the stable one for bug fixes. That is an unusual thing for a project to say and you should know it before you rely on the stable file.
- A manual install wants PHP,
ffmpeg,mp4v2-utilsand optionallyfdkaac, which on some systems is more work than the tool itself. - It is a command with many options and no window. Getting the first merge right takes a few attempts.
- advplyr/audiobookshelf
It is the library and player for the files this produces, and it does not merge or chapterise anything itself.
Track this in Scout - sandreas/tone
By the same author, it reads and writes the tags and chapter data inside an audio file, and this project uses it.
Track this in Scout
# the container image carries every dependency docker run -it --rm -v "$(pwd)":/mnt sandreas/m4b-tool:latest \ merge /mnt/my-audiobook-folder/ --output-file="/mnt/audiobook.m4b" --auto-split-silence # macOS brew install sandreas/tap/m4b-tool
4.9k stars · MIT · v4.33.0 (2026-05-30), read from /releases/latest and confirmed by ungh.cc as 2026-05-30; the yearless '30 May' resolves to 2026 because it is in the past · Track this in Scout
It tells you when a container image you use has a newer version, and it never changes anything.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A single Go program, also published as a container image, that checks registries on a schedule for new tags or changed digests. It can discover what to watch from the containers already running, from a Docker Compose file, from Kubernetes, Swarm or Nomad, or from a plain list.
What it is good for. Any machine running more than three or four containers. The ordinary failure is not dramatic: something you installed eighteen months ago is eighteen months behind, including its security fixes, and nothing ever said so. This is also the safe half of a job that has a dangerous half — the tools that update containers automatically are the ones that break a service at three in the morning. Separating "tell me" from "do it" is the entire design, and it is why this belongs on a machine where an unexpected restart matters.
- MIT, one program, no database, and it holds its state in a small local file.
- It reports through about twenty channels — email, Telegram, Discord, Slack, Gotify, ntfy, a webhook of your own — so it fits whatever you already read.
- It only reads. It has no ability to change a running container, which means it cannot cause an outage.
- It tells you and stops. Applying the update is still a job you do by hand.
- Checking many images often will hit the rate limits on public registries, so the schedule needs a little thought.
- Its newest release, v4.33.0, is dated 30 May 2026, and the code was last pushed on 3 September 2026. It ships slowly, which is normal for a tool this small and worth knowing anyway.
mag37/dockcheckIt answers the same question as a shell script and then offers to apply the updates you pick, where this one runs continuously and never applies anything.
Track this in Scout- containrrr/watchtower
It is the best-known tool for this and it updates containers automatically, but it was archived in December 2025 and its page carries the banner 'This project is no longer maintained'.
Track this in Scout
docker run -d --name diun \ -e "TZ=Europe/London" \ -e "DIUN_WATCH_WORKERS=10" \ -e "DIUN_WATCH_SCHEDULE=0 */6 * * *" \ -e "DIUN_PROVIDERS_DOCKER=true" \ -v "$PWD/data:/data" \ -v "/var/run/docker.sock:/var/run/docker.sock" \ crazymax/diun:latest
1.8k stars · EUPL-1.2 · v1.6.0 (2024-09-15) — two years old; crates.io agrees on September 2024. The release is old, the project is not: ungh.cc reports code pushed 2026-03-09 · Track this in Scout
A terminal folder browser that leaves you in the folder you picked.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A small Rust program that draws a list of the current folder's contents, filters it as you type, and prints the chosen path when it exits. A short function in your shell configuration turns that printed path into a directory change.
What it is good for. Anyone who works in a terminal and does not remember the shape of a project by heart. The gain is not that it is clever; it is that looking and moving become one action instead of two. It matters most in deep trees you visit rarely, where the ordinary cost is three or four listings before you find the folder you meant. It is deliberately not a file manager, and that is why it starts instantly and why there is nothing to learn beyond the arrow keys.
- It does one thing, so it is fast to start and there is no configuration to read.
- Type-ahead search means a few letters usually select the folder outright, with no arrow keys at all.
- It installs from Homebrew, Cargo, Nix, pacman and Scoop, and there are ready-built binaries.
- It needs a small function added to your shell configuration before it can change directory, because no program can change its parent shell's folder on its own. Skipping that step makes it look broken.
- EUPL-1.2, the European Union's own licence. It is a copyleft licence with a compatibility list, and it is rare enough that a lawyer may have to read it before it goes into a commercial product.
- Its newest release, v1.6.0, is dated 15 September 2024 — two years ago. The code was last pushed on 9 March 2026, six months ago, so it is alive and quiet, not abandoned. Edition 26 describes how that contradiction was settled.
- sxyazi/yazi
It is a full terminal file manager with previews, copying and plugins, so it does far more and takes far longer to learn.
Track this in Scout - jarun/nnn
It is also a complete file manager and is famously light on memory, and it needs its own plugin to leave you in the chosen directory.
Track this in Scout - ranger/ranger
It is the long-established Python file manager with VI keys and three-column previews, and it is heavier to start.
Track this in Scout
cargo install tere # or: brew install tere
# then add this to ~/.bashrc so it can change directory
tere() {
local result=$(command tere "$@")
[ -n "$result" ] && cd -- "$result"
}23.8k stars · Elastic License 2.0 — NOT open source: no offering it as a hosted service, no removing the licence-key functionality · 1.0.169 on npm (package name context-mode), declared licence Elastic-2.0 · Track this in Scout
It cuts the output a coding assistant has to read, and keeps a searchable record of the session.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A plugin that connects to assistants through MCP, the standard way tools are attached to a model, plus hook scripts that intercept command output. Its record of a session is kept in SQLite with full-text search, so earlier work can be found and reloaded.
What it is good for. Anyone whose assistant runs out of room halfway through a task and starts forgetting the beginning of it. That happens fastest when the work involves reading logs, large files or long command output, because the useful answer is often two lines inside a hundred kilobytes. The second half — the session record — matters for long tasks spread over several days, where the alternative is explaining the same context every morning. It supports seventeen assistants, so it is not a bet on one of them.
- One install command, and it works with Claude Code, Gemini CLI, VS Code Copilot, Cursor, Codex CLI, Zed, OpenCode and ten more from the same package.
- The saving it claims is specific and large, and it is a saving on the thing that actually runs out.
- The session record is a plain SQLite file with full-text search, which you can read yourself with ordinary tools.
- The licence is the Elastic License 2.0, which is not open source. You may use it and modify it, but you may not offer it to others as a hosted service and you may not remove its licence-key functionality. For ordinary use that is fine; building a product on it is a decision to take with your eyes open.
- It is young. The repository was created in February 2026 and the npm package is at version 1.0.169, which is a great many releases in seven months.
- Anything that sits between an assistant and its tools can hide something you needed. A 98% reduction means 98% of the output is gone, and occasionally the missing part will be the one you wanted.
ayghri/i-have-adhdIt also changes how an assistant behaves, but it is a set of written instructions about answering style and it installs nothing that runs.
Track this in Scout
DietrichGebert/ponytailIt also reduces what an assistant produces, by pushing it to write less code rather than by shrinking what it reads.
Track this in Scout- mem0ai/mem0
It also gives an assistant a memory that survives a session, but it is a library you build into your own application rather than a plugin for an existing coding tool.
Track this in Scout
npm install -g context-mode # then follow the page's instructions for your assistant, # for example in Claude Code: # /plugin marketplace add mksglu/context-mode
2.5k stars · MIT · v0.13.0 (2025-11-24) per ungh.cc/repos/huggingface/lighteval/releases/latest — ten months old, while ungh.cc reports code pushed 2026-09-17. Install from the repository for what the documentation describes · Track this in Scout
Runs more than a thousand standard public tests against a language model and reports the score.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A Python package with more than a thousand ready-made evaluation tasks covering knowledge, maths, code and several languages. It runs a model loaded locally or reached through an API, and writes per-sample results so a score can be traced back to the answers behind it.
What it is good for. Choosing between models on evidence rather than on a leaderboard somebody else ran. The published numbers for a model were measured on somebody's hardware with somebody's settings, and the whole point of this is that you can repeat the measurement with yours. It matters most before a decision that is expensive to reverse: swapping the model behind a product, or deciding whether a small model you can run yourself is good enough to replace one you pay for. The per-sample output is the part people underuse — an average score hides which kind of question the model fails.
- MIT, and it is maintained by Hugging Face, so the task definitions track the community's standard ones.
- It compares a local model and a paid service under identical conditions, which is exactly the comparison that is otherwise unfair.
- Over a thousand tasks including multilingual ones, so a model can be checked in a language other than English.
- Its newest release, v0.13.0, is dated 24 November 2025 — ten months ago — although the code was last pushed on 17 September 2026. Install from the repository if you want what the documentation describes.
- That release introduced a breaking change to how tasks are defined, so older examples found online will not run.
- Windows is not supported, and a full benchmark run costs real money or real hours of graphics-card time.
promptfoo/promptfooIt tests your own prompt against many models and marks the answers against rules you write, where this one scores a model against standard public tests.
Track this in Scout- EleutherAI/lm-evaluation-harness
It is the older framework most published benchmark numbers come from, and this project borrows heavily from it.
Track this in Scout - confident-ai/deepeval
It also measures model quality, but it is aimed at testing a whole application's answers as part of a test suite.
Track this in Scout
python3 -m venv venv source venv/bin/activate pip install lighteval lighteval endpoint inference-providers \ "model_name=deepseek-ai/DeepSeek-R1,provider=hf-inference" \ "lighteval|gsm8k|0"
2,982 stars · MIT · v1.2.3 (2026-09-11) per ungh.cc/repos/pmorissette/bt/releases/latest; that release moved the core onto numpy arrays for speed · Track this in Scout
Backtesting built from reusable blocks, with strategies that can contain other strategies.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A Python framework built on ffn, its author's library of financial statistics. A strategy is a stack of small algorithms run in order on each date, and strategies compose into a tree, so a portfolio of strategies is tested exactly like a single one.
What it is good for. The point at which one rule becomes several. Testing a single rule is easy and most libraries do it; the hard question is how three rules behave together, how to divide money between them, and how often to rebalance. That is the question this is shaped around, and it is why the tree matters. It also suits anyone who wants to try many variations, because changing a strategy means swapping one block rather than rewriting a loop.
- MIT, and it is genuinely open, which not every backtesting library on this radar can say.
- The block structure makes variations cheap, so comparing twenty versions of an idea is an afternoon rather than a week.
- Its newest release, v1.2.3, is dated 11 September 2026, and it included a rewrite of the core onto numpy arrays for speed. It is actively maintained.
- It works on end-of-day prices and portfolio weights. It does not model the order queue, latency or the spread, so it is the wrong tool for anything fast.
- It has many dependencies, and on Windows the project itself recommends installing a scientific Python distribution first.
- A backtest is not a result. Any framework this flexible makes it easy to test an idea a hundred ways and keep the one that looked best by luck.
kernc/backtesting.pyIt tests a single strategy on one instrument with an interactive chart, and it is also AGPL-3.0 rather than MIT.
Track this in Scout
edtechre/pybrokerIt is aimed at machine-learning strategies, and its licence carries the Commons Clause, so it is not open source.
Track this in Scout
pmorissette/ffnBy the same author, it is the statistics library underneath this one, and on its own it measures and compares returns rather than running a strategy.
Track this in Scout
python3 -m venv venv source venv/bin/activate pip install bt
6.2k stars · MIT for the framework; EACH ICON SET CARRIES ITS OWN LICENCE and some require attribution · no GitHub releases at all — a determination, not a gap, re-confirmed 20 September 2026 by opening /releases. Recency from npm: @iconify/utils 3.1.7, published September 2026. Code pushed 24 July 2026, proved via ungh.cc · Track this in Scout
One way of writing icon names that reaches more than 200 icon sets and about 300,000 icons.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A framework with components for React, Vue, Svelte and SolidJS, a plain web component, and a CSS-only option. Icon data is fetched on demand from a public service, or from packages you install if you would rather nothing left your own machine.
What it is good for. Any project where the icon you need is missing from the set you chose. That happens constantly, and the usual repair is a second icon set with a different line weight, which looks wrong. This removes the problem: the icon exists somewhere in the 300,000, and you name it. It also suits prototyping, where the cost of trying five different visual styles should be five edits and not five installs.
- MIT for the framework, and it is the only practical way to reach this many sets through one interface.
- Loading on demand means an unused icon costs nothing, which is the opposite of bundling a whole icon font.
- Offline packages exist, so the public service is a convenience rather than a dependency.
- Each icon set carries its own licence. The framework being MIT tells you nothing about the icons you actually use, and some sets require attribution. This is the part that gets missed.
- On-demand loading means the first render of an icon waits for a network request, unless you install the data packages instead.
- It publishes no GitHub releases at all. That is a determination and not a gap — its versions live on npm, where
@iconify/utilsis at 3.1.7 — but it does mean there is no release page to watch.
lucide-icons/lucideIt is one consistent set of about 1,600 icons under the ISC licence, so it is simpler and coherent where this is broad.
Track this in Scout- tabler/tabler-icons
It is another single set, of 6,184 MIT icons in one style, and it is available through this project as well as on its own.
Track this in Scout - unplugin/unplugin-icons
It uses this project's icon data but builds the icons into your bundle at compile time, so nothing is fetched at runtime.
Track this in Scout
npm install --save-dev @iconify/react
# then, in a component:
# import { Icon } from '@iconify/react';
# <Icon icon="mdi:home" />Checked, and left out
These were opened for this edition and did not make it, with the reason.
msgspec/msgspec - ALIVE. 4,120 stars, BSD-3-Clause, code pushed 18 September 2026. Very fast JSON reading and validation for Python. It has now lost its place twice and is the next one out of the queue. Queued.
msgspec/msgspec - ALIVE. 4,120 stars, BSD-3-Clause, code pushed 18 September 2026. Very fast JSON reading and validation for Python. It has now lost its place twice and is the next one out of the queue. Queued.
frappe/helpdesk - ALIVE. 3,388 stars, AGPL-3.0, code pushed 20 September 2026
frappe/helpdesk - ALIVE. 3,388 stars, AGPL-3.0, code pushed 20 September 2026 (ungh.cc). Ticket management with a clean interface. FreeScout took the single talking-to-customers place because a shared mailbox is the smaller first step. New to the ledger, queued.
sxyazi/yazi - ALIVE. 41,506 stars, MIT, code pushed 19 August 2026
sxyazi/yazi - ALIVE. 41,506 stars, MIT, code pushed 19 August 2026 (ungh.cc). A complete terminal file manager with previews and plugins. tere took the place because it does one tenth as much and needs no learning. New to the ledger, queued.
advplyr/audiobookshelf - ALIVE. 13,886 stars, GPL-3.0, code pushed 3 August 2026
advplyr/audiobookshelf - ALIVE. 13,886 stars, GPL-3.0, code pushed 3 August 2026 (ungh.cc). A self-hosted audiobook and podcast server with apps. m4b-tool took the audio place because it makes the files this would serve. New to the ledger, queued.
mem0ai/mem0 - ALIVE. 65,700 stars, Apache-2.0, code pushed 19 September 2026
mem0ai/mem0 - ALIVE. 65,700 stars, Apache-2.0, code pushed 19 September 2026 (ungh.cc). A memory layer for AI agents, and one of the most starred projects this radar has opened. New to the ledger, queued.
catppuccin/catppuccin - ALIVE, queued since 19 September. 19.7k stars, MIT. Iconify took the single design-and-interface place.
catppuccin/catppuccin - ALIVE, queued since 19 September. 19.7k stars, MIT. Iconify took the single design-and-interface place.
rss-bridge/rss-bridge - ALIVE, queued since 19 September. 9.2k stars, Unlicense
rss-bridge/rss-bridge - ALIVE, queued since 19 September. 9.2k stars, Unlicense (public domain).
Coming tomorrow























