Edition No. 6 · 31 Aug 2026

Edition No. 6

By Genn·12 repositories·15 min read

Five editions have built up things to say and places to say them. Today is about the last mile: the surface a visitor actually touches, the evidence that tells you what to put on it, and whether the map behind the link is readable enough to be worth arriving at.

Seven entries serve marketing, four sharpen the products, one is the wildcard. Every repository below was opened this morning; star counts, licences and release dates are what the pages showed. Six candidates were checked and deliberately left out — they are named at the end, with the reason.

This edition, in numbers

Repos12
Hidden gems (<3k stars)4
Marketing / product7 / 4
New to the ledger11
Repeats1
Dropped on check6

If you only do three things

  1. Point yt-dlp (04) at your five closest competitors tonight. One pip install, no API key, no quota, no OAuth screen. By bedtime every title, description, tag, upload date, thumbnail and subtitle track from their entire catalogues is JSON on your disk. Every decision you currently make by instinct — what to film, what to call it, what the thumbnail should look like — becomes a decision you can look up.
  2. Then install advertools (06) — the one repeat. It was entry 07 of Edition 1, ten days ago, and it is the tool that turns 04 and 05's pile of clean text into keyword lists, sitemap comparisons and crawl reports. Handing over raw material a third time without the thing that processes it would be dishonest.
  3. Try toponymy (09) over one real conversation. It is the smallest change on this page that a user would actually notice. Cluster labels out of a topic model are keyword lists — model, prompt, token, api — which read as debug output. This library exists to name clusters properly, at every level of the tree, which is the half of the job no clustering library delivers on its own.

Make it land

Twelve repositories, checked and reviewed. Every version verified against the GitHub API and dated.

26.2k stars · BSD-3-Clause · v0.23.6 (2026-08-26) · Track this in Scout · Share this tool

Drag-and-drop builder for landing pages and, through its newsletter preset, email-safe table HTML.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A framework for building visual web editors: you embed it in a page and get a canvas with draggable blocks, a style manager, a layer tree and an asset manager. It ships preset configurations — one for web pages, one for newsletters — and the newsletter preset produces the old-fashioned table-based HTML that email clients actually render correctly.

What it is good for. Edition 2 recommended Listmonk and said plainly that its editor is "functional, not friendly. No drag-and-drop email designer." That gap is still open, and it is one of the quieter reasons a mailing list keeps getting postponed — writing HTML email by hand is miserable work, and Claude Code can produce it but nobody can eyeball whether it will survive Outlook. The newsletter preset here is the missing piece. The second use is marketing pages: a single-page React app cannot rank, which is why Edition 3 covered Astro, and GrapesJS exports plain HTML and CSS that drops straight into an Astro page — so a landing-page variant, or a translated version of one, is a duplicate-and-edit rather than a rebuild. And of everything on this page, its licence is the friendliest: BSD-3-Clause means the editor can legitimately be embedded inside a commercial product, for end users who want to build their own report layouts.

Stars26.2k
LicenceBSD-3-Clause
Latestv0.23.6 (2026-08-26)checked 7 Sep 2026
Written inTypeScript
RunsLocally, on your own machine
Setup effort
3 / 5
Payoff
4 / 5
Good
  • BSD-3-Clause — the most permissive licence in today's edition, and safe to embed commercially
  • The newsletter preset outputs email-safe table HTML, which is precisely the thing Listmonk asks you to write by hand
  • Exports plain HTML and CSS with no runtime dependency, so nothing built in it is locked inside it
Watch for
  • It is a framework, not an application. You assemble a builder from presets and plugins before you can use it as one — an evening with Claude Code, not a five-minute download
  • The GitHub releases page looks stale (its latest tag shows no readable year), and only npm reveals that it is shipping steadily. Check npm for this project, not GitHub — the same trap as turftopic in Edition 4
  • The HTML it generates is verbose and wrapper-heavy. Fine for email, worth cleaning before it goes into a page you want fast
Works well with

Export the HTML and paste it into Listmonk's template, or into an Astro page beside the Starlight docs.

Install
npm install grapesjs grapesjs-preset-newsletter
Screenshots
GrapesJS/grapesjs: GitHub preview cardGrapesJS/grapesjs: Screenshot 1GrapesJS/grapesjs: Screenshot 2

11k stars · Apache-2.0 · v4.0.14 (2026-08-24) · Track this in Scout · Share this tool

Signed-URL image server: resize, crop and convert to WebP/AVIF on the fly.

▶Repo detailsthe review · specs · pros & cons

What it is

A standalone image server. You link to an image through a signed imgproxy URL that encodes the size and format you want; it fetches the original, resizes, crops, converts to WebP or AVIF, and serves the result. One Go binary or Docker container, no database.

What it is good for. Run Unlighthouse from Edition 2 over a site and images will be near the top of what it complains about — they almost always are on a screenshot-heavy marketing site. Screenshots also multiply fast: shot-scraper from Edition 3 regenerates a whole set on every deploy, in every language a site ships, and hand-optimising forty PNGs is exactly the chore nobody sustains. imgproxy makes the size and format a property of the URL rather than a manual step, which means it keeps working after anyone stops thinking about it. That matters for ranking, because Core Web Vitals feed into Google's assessment of a page, and it matters for a visitor on a slow connection who will simply leave.

Stars11k
LicenceApache-2.0
Latestv4.0.14 (2026-08-24)checked 7 Sep 2026
Written inGo
NeedsDocker
Setup effort
2 / 5
Payoff
3 / 5
Good
  • Apache-2.0, a single small Go binary, no per-image cost and nothing metered
  • AVIF and WebP conversion is the largest single page-weight win available to you, and it is a configuration flag rather than a project
  • Signed URLs mean strangers cannot point it at arbitrary images and use the host as a free image service
Watch for
  • It earns nothing until you have a content site with real images on it. If Astro is not built yet, this is premature — note it and come back
  • It needs caching in front of it (nginx, or a CDN) or it re-processes on every single request, and that CPU cost lands on the machine beszel is now measuring
  • There is a commercial Pro version, and a few of the more advanced processing features live only there. Check before you depend on one
Replaces

Astro and Starlight pages reference imgproxy URLs instead of raw files.

Works well with

That matters for ranking, because Core Web Vitals feed into Google's assessment of the pages you most want to rank, and it matters for a Russian-speaking visitor on a slow connection who will simply leave.

Screenshots
imgproxy/imgproxy: GitHub preview cardimgproxy/imgproxy: Screenshot 1imgproxy/imgproxy: Screenshot 2imgproxy/imgproxy: Screenshot 3

10.3k stars · MIT · v1.31.1 (2026-09-05) · Track this in Scout · Share this tool

Fake SMTP server with a web inbox, spam score and HTML-compatibility report — read the campaign before subscribers do.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A fake SMTP server with a web inbox attached. Point any application's mail settings at it and every message that application tries to send lands in a browser interface instead of a real inbox, where you can read the HTML version, the plain-text version and the raw source, run a spam score against SpamAssassin rules, and check the HTML against a compatibility table for real mail clients.

What it is good for. Listmonk has been in the ledger since Edition 2 and the honest reason a mailing list gets postponed is rarely the install — it is that pressing send on a real campaign is frightening when nobody can see what arrives. This removes the fear cheaply: point Listmonk at Mailpit, send the entire newsletter, and read it. The Cyrillic that broke, the button Outlook eats, the spam score that would have filed the message under Promotions — all visible before anyone real is involved. The second, less obvious use is an application's own transactional mail. Signup confirmations and password resets are the mail path nobody tests by hand, and a broken one costs signups silently, with no error anywhere. Half an hour with this catches both.

Stars10.3k
LicenceMIT
Latestv1.31.1 (2026-09-05)checked 7 Sep 2026
Written inGo
NeedsDocker
RunsLocally, on your own machine
Setup effort
1 / 5
Payoff
3 / 5
Good
  • One binary or one container, no configuration, MIT — the lowest-friction entry on this page
  • The HTML-compatibility report and the spam score are the two things you genuinely cannot eyeball yourself
  • It catches your application's transactional mail as well as newsletters, which is the path that fails quietly
Watch for
  • It is a testing tool and never delivers anything. It tells you about rendering, not deliverability — SPF, DKIM and DMARC with SES or Postmark are still entirely your problem
  • The compatibility report is a static rule set, not a real copy of Outlook. Treat it as a strong hint, not a guarantee
  • Left running on a public server without a password it would expose every message it has caught. Keep it on a local machine, or behind authentication
Install
docker run -d --name mailpit -p 8025:8025 -p 1025:1025 axllent/mailpit
Screenshots
axllent/mailpit: GitHub preview cardaxllent/mailpit: Screenshot 1

189.7k stars · Unlicense · 2026.08.19 (2026-08-19) · Track this in Scout · Share this tool

Whole-channel YouTube metadata as JSON — titles, tags, thumbnails, subtitles, upload dates — with no API key or quota.

▶Repo detailsthe review · specs · pros & cons · install

What it is

The command-line downloader for YouTube and several thousand other sites. It fetches video, audio-only tracks, subtitles, thumbnails and, most usefully here, the complete metadata for a video or an entire channel as JSON: title, description, tags, chapters, duration, upload date, view count.

What it is good for. Edition 5 covered youtube-transcript-api for transcripts and called it the cheapest content research that exists. This is the layer underneath it, and it is cheaper still. One command with --flat-playlist --dump-json over a competitor's channel gives you every video they have ever published as a row of structured data — no API key, none of the 10,000-unit daily quota that constrains python-youtube. That is the raw table for two questions that are otherwise guesswork: which topics in a niche get made most often, and which of them get made well. Add --write-thumbnail and you can lay the top fifty thumbnails out as a contact sheet, which is the fastest education available in the single variable that most affects whether YouTube shows a video to a stranger. It also archives a back catalogue of your own, which is the backup nobody makes until something disappears.

Stars189.7k
LicenceUnlicense
Latest2026.08.19 (2026-08-19)checked 7 Sep 2026
Written inPython
NeedsPython 3 and ffmpeg
RunsLocally, on your own machine
Setup effort
1 / 5
Payoff
4 / 5
Good
  • Unlicense on the source, no key, no quota, no consent screen — and a project that will still be maintained in five years
  • --dump-json alone is a research database with no code written; hand the file to Claude and ask what nobody has covered properly
  • Metadata, subtitles and thumbnails come out of the same command, so one run produces material for titles, topics and design
Watch for
  • YouTube blocks datacentre IP ranges aggressively. Run it from a local machine, not a rented server — exactly the caution Edition 5 gave for youtube-transcript-api
  • Downloading other people's video for private research is one thing; republishing any of it is another, and the line matters
  • The pre-built standalone executables bundle GPLv3+ code. Use the plain pip install if anything built with it might ever ship
Install
pip install yt-dlp
Screenshots
yt-dlp/yt-dlp: GitHub preview card

6.8k stars · Apache-2.0 · v2.2.0 (2026-07-31) · Track this in Scout · Share this tool

Extracts the actual article from any web page as clean Markdown, with no browser and negligible memory.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A Python library and command-line tool that fetches a page and extracts the main body text plus its metadata — title, author, date, tags — discarding navigation, adverts, footers and comment sections. It outputs text, Markdown, JSON, CSV or XML, and it can walk a sitemap or a feed to do this across a whole site.

What it is good for. Two jobs, and they sit on opposite sides of a business. For marketing: point it at a competitor's sitemap.xml and you have every article they have written as clean Markdown in one folder, which is how "write something about AI trends" becomes "here are the eleven questions our competitors answer and the four nobody has answered properly." That corpus is exactly what 06 needs. For a product that ingests text: "paste a link" is a lower-friction front door than "upload a file" — Docling handles the file, this handles the link. Crucially it is roughly two orders of magnitude lighter than crawl4ai, because it never launches a browser, which is what makes it safe to run on a small server that is already busy.

Stars6.8k
LicenceApache-2.0
Latestv2.2.0 (2026-07-31)checked 7 Sep 2026
Written inPython
Setup effort
1 / 5
Payoff
4 / 5
Good
  • Apache-2.0 since v1.8.0, so it is safe inside a commercial product — worth knowing, because anything older, and some forks, are GPLv3+
  • No browser, no Playwright, no Chromium: a plain HTTP fetch and a parser, so memory use is negligible
  • Consistently at or near the top of published extraction benchmarks, which is not a claim most scrapers can make
Watch for
  • It does not run JavaScript. A page that renders its article client-side comes back empty, and that is the moment to reach for crawl4ai instead
  • Extraction is heuristic, so an unusually built page can quietly lose a section without erroring
  • The command-line tool has a great many flags and the defaults are not always what you want for clean Markdown — budget one session of reading
Install
pip install trafilatura
Screenshots
adbar/trafilatura: GitHub preview cardadbar/trafilatura: Screenshot 1
06

eliasdabbas/advertools

💎 hidden gem

1.4k stars · MIT · v0.18.0 on PyPI (2026-06-17) · Track this in Scout · Share this tool

Python toolkit built by a working SEO practitioner — crawling, sitemaps, SERP analysis, keyword generation.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A Python toolkit written by a working SEO practitioner rather than a general-purpose developer: site crawling, sitemap and robots.txt parsing, keyword generation, SERP and text analysis. Everything comes back as an ordinary pandas table you can sort, filter and export.

What it is good for. Its three functions map onto three common jobs. crawl() over an Astro site returns every missing title, duplicate description and broken link before Google finds them. sitemap_to_df() on a competitor's sitemap gives you their publishing cadence and topic spread as one table — which pairs directly with the channel data from 04 to show where they put effort. And kw_generate() builds the long-tail keyword combinations around whatever phrases a product is trying to rank for, in any language it sells in, that you would otherwise be inventing by hand. It is also shaped like most of the tooling in this ledger: Python, no dashboard, described to Claude Code rather than learned.

Stars1.4k
LicenceMIT
Latestv0.18.0 on PyPI (2026-06-17)checked 7 Sep 2026
Written inPython
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
4 / 5
Good
  • MIT, pure Python, drops into the FastAPI virtual environment with no new runtime and no dependency fight
  • Written by a practising SEO, so the functions are named after marketing tasks rather than developer abstractions
  • v0.18.0 in June 2026 — steady, unhurried maintenance over many years rather than a burst of activity
Watch for
  • No keyword volume data of its own. It generates and analyses; it will not tell you demand, so pair it with Search Console or a paid source
  • Output is DataFrames, which means you need somewhere to look at them — which is a large part of why 12 is on this page
  • Its crawler is enthusiastic. Set a page limit and a delay, or you will make an enemy of somebody's server
Install
pip install advertools
Screenshots
eliasdabbas/advertools: GitHub preview card

5.9k stars · MIT · v3.31.0 (2026-08-25) · Track this in Scout · Share this tool

Async Python framework for Telegram bots — the distribution surface a Russian-speaking audience is actually on.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A modern, fully asynchronous Python framework for the Telegram Bot API: routers, filters, finite-state dialogs, inline keyboards, and delivery by either webhook or long polling, with a typed API surface that tracks Telegram's own releases closely.

What it is good for. Edition 4 was about reaching a second audience and covered translation, dubbing, localisation and bilingual docs — everything except somewhere to publish. In Russian-speaking tech, that somewhere is a Telegram channel: distribution, comments and a subscriber list on one surface, with no algorithm deciding who sees a post. Two concrete uses, and the second is the interesting one. First, a posting bot — FastAPI or n8n pushes every new video and article to a channel automatically, which is the job Mixpost and Postiz do for the platforms they cover, and Telegram is the platform they cover worst. Second, a product bot: someone forwards a long chat export to it and gets a subtopic map back as a message. That is a whole product, with no signup and no landing page, on the app the audience already has open — a distribution channel and a free trial at the same time.

Stars5.9k
LicenceMIT
Latestv3.31.0 (2026-08-25)checked 7 Sep 2026
Written inPython
NeedsPython 3
Setup effort
2 / 5
Payoff
4 / 5
Good
  • MIT, async, and written in the same Pydantic-flavoured Python a FastAPI service already uses
  • A Telegram channel is a subscriber list nobody can reprice — the Listmonk argument, in the place a Russian-speaking audience lives
  • The v3 API has been stable for years and the documentation is thorough, so Claude Code writes it correctly first time
Watch for
  • Telegram is a conversation, not a broadcast pipe. A bot that never answers is worse than no bot — the same warning Edition 5 gave about the support chat
  • Bot API rate limits are strict and fail quietly. A bulk send needs deliberate throttling or messages simply vanish
  • It only pays off if you commit to running a Russian-language channel. Half-committed, it becomes another inbox you avoid opening
Works well with

Install into the FastAPI virtual environment and run the bot as a second process beside the API — or, for the posting half, as a Procrastinate periodic task, since you now have a job queue.

Install
pip install aiogram
Screenshots
aiogram/aiogram: GitHub preview card

39.5k stars · MIT · v1.5.7 (2026-09-02) · Track this in Scout · Share this tool

Entity-and-relationship graph over documents with local and global query modes — GraphRAG's structure at a fraction of the cost, stored in PostgreSQL.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A retrieval system that extracts entities and the relationships between them from your documents, assembles them into a graph, and then answers questions at two levels: local, about a specific entity, and global, about themes across the whole corpus. It supports PostgreSQL, Neo4j, MongoDB and others as the graph and vector store, and ships a server with a web interface that draws the graph.

What it is good for. Edition 1 covered GraphRAG and said honestly that it costs thousands of LLM calls per import; Edition 3 covered BERTopic as the cheap default. This is the third position, and it is the one that changes the shape of a product rather than its price. Two things matter. The entity graph is a genuinely different view from the topic tree — who and what is being discussed and how they connect, rather than which clusters exist — and that is a second screen you could ship from the same import. And its incremental insertion means adding new messages extends the graph instead of triggering a rebuild, which is what makes "map this conversation as it grows" a feature rather than a wish. The PostgreSQL backend is the practical detail: the graph can live beside pgvector rather than in a Neo4j you would have to run, secure and back up separately.

Stars39.5k
LicenceMIT
Latestv1.5.7 (2026-09-02)checked 7 Sep 2026
Written inPython
NeedsDocker Compose, Docker and PostgreSQL
RunsSelf-hosted on your own server
Setup effort
4 / 5
Payoff
4 / 5
Good
  • MIT, and the PostgreSQL storage backend keeps you on the one-database plan that pgvector and Procrastinate have already argued for
  • Incremental insertion — new text extends the graph rather than forcing a full re-index, which is the expensive part of GraphRAG
  • Local and global query modes map cleanly onto a drill-in interface and a "summarise the whole thing" promise
Watch for
  • It still runs a model over every chunk to extract entities. Cheaper than GraphRAG is not the same as cheap — put LiteLLM in front of it before the first large import, not after the bill
  • A fast-moving research project with a wide surface area, and documentation that assumes you already speak RAG
  • You now hold three candidate engines for one job. The honest instruction is to run this against BERTopic over the same twenty conversations and delete the loser — two topic engines is two things to debug at three in the morning
Replaces

And its incremental insertion means adding new messages extends the graph instead of triggering a rebuild, which is what makes "map this conversation as it grows" a feature rather than a wish.

Works well with

The PostgreSQL backend is the practical detail: the graph can live beside pgvector rather than in a Neo4j you would have to run, secure and back up separately.

Install
pip install "lightrag-hku"
Screenshots
HKUDS/LightRAG: GitHub preview cardHKUDS/LightRAG: Screenshot 1HKUDS/LightRAG: Screenshot 2HKUDS/LightRAG: Screenshot 3HKUDS/LightRAG: Screenshot 4
09

TutteInstitute/toponymy

💎 hidden gem

102 stars · MIT · release-0.5.4 (2026-09-04) · Track this in Scout · Share this tool

Names clusters at every level of a hierarchy using sub-cluster structure and sample documents rather than a bag of keywords.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A library that takes clustered text embeddings and produces human-readable names for each cluster, at every layer of a hierarchy, using keywords, sub-cluster structure and sample documents as evidence rather than asking a model to guess from a bag of words. It comes from the Tutte Institute — the group that wrote UMAP and HDBSCAN.

What it is good for. The whole point of a topic map is that somebody can read it at a glance. Clustering gives you groups; the label on the group is what makes it a map instead of a blob diagram. BERTopic's default labels are keyword lists — model, prompt, token, api — which look exactly like debug output to a paying user, and hand-rolled prompting gets the hard part wrong in a predictable way: the parent's name ends up no broader than its children's, so the hierarchy stops meaning anything as you zoom. Toponymy is built for precisely that multi-scale naming problem. Ninety-nine stars is not much, but the lineage is the authors of the two algorithms BERTopic is built on, and this is the smallest change on today's page that a user would visibly notice.

Stars102
LicenceMIT
Latestrelease-0.5.4 (2026-09-04)checked 7 Sep 2026
Written inPython
Needsa GPU
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
4 / 5
Good
  • Purpose-built for naming a hierarchy at several scales, which is exactly the shape of a drill-in map
  • MIT, and it consumes the sentence-transformers or model2vec embeddings your pipeline already produces
  • From the group behind UMAP and HDBSCAN, so it composes with the machinery under BERTopic rather than competing with it
Watch for
  • Ninety-nine stars and a small research team. Treat it as a technique you could reimplement if it stalls, not a dependency to bet the product on
  • It calls a model per cluster per layer, so a deep tree has a real per-import cost — LiteLLM again, before the first big run
  • It names clusters; it cannot make bad clusters good. Chunking and embeddings still decide the quality of what it is naming
Replaces

Clustering gives you groups; the label on the group is what makes it a map instead of a blob diagram.

Install
pip install toponymy
Screenshots
TutteInstitute/toponymy: GitHub preview card

1k stars · MIT · release-0.7.3 (2026-05-31) · Track this in Scout · Share this tool

Labelled data maps with proper label placement — a diagnostic for cluster naming and a shareable marketing image.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A plotting library for labelled data maps. It places cluster labels so they do not collide, renders the point cloud with proper density handling instead of a scatter of dots, and exports either a publication-quality static figure or a self-contained interactive HTML page with search and hover.

What it is good for. Two uses, and one of them is marketing. As a tool: it is by far the fastest way to see whether 09's names and your clustering are any good — one figure over one real conversation teaches you more than reading a list of label strings ever will. As a marketing asset: a properly labelled map of every question asked inside a 500-message thread is the picture that explains a conversation-mapping tool in a single frame, which is exactly the kind of image a landing page, a Satori social card or a video thumbnail usually lacks. Images like that get shared on their own merits, which is a rarer property than it sounds. Same institute as 09, so the two are designed to sit next to each other.

Stars1k
LicenceMIT
Latestrelease-0.7.3 (2026-05-31)checked 7 Sep 2026
Written inPython
RunsLocally, on your own machine
Setup effort
1 / 5
Payoff
3 / 5
Good
  • MIT, pure Python, and no front-end work — a figure or a standalone HTML page straight from a dataframe
  • Label placement is the genuinely hard part of a map like this, and it is the part that is already solved
  • The interactive export is self-contained, so it drops into an Astro page with no build step at all
Watch for
  • It draws a point cloud, not a hierarchy. This is a design and diagnostic tool, not the drill-in canvas — that is still React Flow plus elkjs
  • It wants 2-D coordinates, so UMAP has to sit in front of it: another dependency, and another non-deterministic step you must seed
  • Static export goes through matplotlib, whose font handling with Cyrillic is where the fiddly hour will go
Works well with

Same institute as 09, so the two are designed to sit next to each other.

Install
pip install datamapplot
Screenshots
TutteInstitute/datamapplot: GitHub preview card
11

bashtage/arch

💎 hidden gem

1.6k stars · NCSA · v8.0.0 (2025-10-21) · Track this in Scout · Share this tool

GARCH volatility models plus White's reality check and the Politis-Romano-Wolf stepwise test — regime filters, and a way to tell skill from search luck.

▶Repo detailsthe review · specs · pros & cons · install

What it is

The reference Python library for financial econometrics: GARCH-family volatility models and forecasts, unit-root tests, and a bootstrap module that includes the standard multiple-comparison procedures — White's reality check and the Politis–Romano–Wolf stepwise test.

What it is good for. Two things a scalping research setup is usually missing, and neither is another backtester. The first is regime. A scalping edge lives or dies on volatility: a rule that prints during a busy London open bleeds through a flat August afternoon, and a backtest averaged across three years hides that completely. Fit a GARCH model, join its conditional-volatility series to your trades, and you can finally ask "does this only work above median volatility?" — which is usually where a mediocre strategy turns into a usable one with a filter on the front. The second is blunter. tsfresh and STUMPY are going to hand you a great many candidates, and the best of many backtests always looks good. The reality check is the published test for whether it beat the benchmark by skill or by sheer number of attempts. That test is the difference between finding an edge and finding the luckiest coin in a bucket of five hundred.

Stars1.6k
LicenceNCSA
Latestv8.0.0 (2025-10-21)checked 7 Sep 2026
Written inPython
NeedsPython 3
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
4 / 5
Good
  • The standard, boring, correct implementation — written by a statsmodels core developer, implementing tests the literature actually names
  • NCSA licence: permissive and BSD-shaped, so it can ship inside a paid feature, like skforecast and quantstats and unlike backtesting.py
  • pandas in, pandas out, so it drops into an existing backtest pipeline without introducing a new way of working
Watch for
  • This is genuinely statistical software. The documentation assumes you know what a conditional variance model is — the entry most likely to need Claude Code as a tutor rather than a typist
  • v8.0.0 in October 2025 is the oldest release on today's page. Ten months is comfortably inside the line, but it does not ship weekly like the rest
  • A volatility model tells you about risk, never direction. It will not find you a strategy; it tells you when the ones you have are trustworthy
Works well with

A Procrastinate job fits a GARCH(1,1) over the price series and writes conditional volatility to a column beside the price bars, at which point every backtest gains a regime filter for free.

Install
pip install arch
Screenshots
bashtage/arch: GitHub preview card

22.7k stars · Apache-2.0 · 0.24.0 (2026-08-17) · Track this in Scout · Share this tool

Reactive Python notebook stored as a plain .py file — no hidden execution order, and `marimo run` serves it as a web app.

▶Repo detailsthe review · specs · pros & cons · install

What it is

A reactive Python notebook. The file on disk is ordinary .py; change a cell and every cell that depends on it re-runs automatically, so there is no hidden state and no out-of-order execution. It has built-in interface elements — sliders, dropdowns, tables — and the same file can be served as a web app or run as a script.

What it is good for. Count how many entries in this ledger end with "the result is a pandas DataFrame": advertools' crawl tables, tsfresh's features, arch's volatility series, skforecast's fold metrics, quantstats' inputs. There is nowhere good to look at any of them. Jupyter is the usual answer and it is the wrong one here, on two counts: its hidden execution order quietly produces wrong results, which matters most when the result is a trading decision; and .ipynb files are unreadable in git and awkward for Claude Code to edit. A marimo notebook is a Python file — Claude Code edits it like any other source file — and reactivity means a slider over "window length" or "volatility threshold" re-runs the whole analysis as you drag it. That is the difference between reading a backtest result and interrogating one. And since the same file serves as an app, an internal research tool costs nothing extra to build.

Stars22.7k
LicenceApache-2.0
Latest0.24.0 (2026-08-17)checked 7 Sep 2026
Written inPython
RunsSelf-hosted on your own server
Setup effort
1 / 5
Payoff
4 / 5
Good
  • Notebooks are plain .py files: git-diffable, reviewable, and directly editable by Claude Code
  • Reactive execution eliminates the "I ran the cells out of order" class of wrong answer, which is the one that costs money here
  • marimo run serves the same file as a web app, so a research notebook becomes an internal tool for free
Watch for
  • It is not Jupyter and will not run your existing .ipynb files unchanged. There is an importer; expect friction
  • Reactivity means an expensive cell re-runs whenever anything upstream changes, so long jobs need caching or explicit stops
  • A much smaller ecosystem than Jupyter — most tutorials you find in the wild will be written for the other one
Install
pip install marimo
Screenshots
marimo-team/marimo: GitHub preview cardmarimo-team/marimo: Screenshot 1marimo-team/marimo: Screenshot 2marimo-team/marimo: Screenshot 3marimo-team/marimo: Screenshot 4

Checked, and left out

These were opened for this edition and did not make it, with the reason.

motion-canvas/motion-canvas

motion-canvas/motion-canvas (18.6k, MIT) — last release 2024-12-14, past the dormancy line. Backlogged.

adityaarsharma/youtube-marketing-skills

adityaarsharma/youtube-marketing-skills (38, MIT) — YouTube growth toolkit as Claude Code skills; no releases and unreadable commit dates. Backlogged, worth re-checking.

puckeditor/puck

puckeditor/puck (13.2k, MIT, v0.23.0 2026-08-07) — alive, but overlaps GrapesJS, which also builds email. Backlogged.

tldraw/tldraw

tldraw/tldraw (49.8k) — not open source; requires a paid licence key in production. Backlogged with that caveat.

StJudeWasHere/seonaut

StJudeWasHere/seonaut (763, MIT) — checked a third time; still no releases and its Docker Hub repo 404s. Left in backlog.

arikchakma/maily.to

arikchakma/maily.to (3.8k, MIT) — re-checked, tag dates still unreadable, and now superseded for his purposes by GrapesJS's newsletter preset.

Share this edition
← PreviousNo. 5Next →No. 7

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.