Edition No. 5 · 30 Aug 2026

Edition No. 5

By Genn·12 repositories·14 min read

Four editions have built up a set of surfaces: a demo, a content site, docs, a Russian edition, a queue of posts. Today is about what happens after somebody arrives — the traces they leave behind that a stranger can read, the machinery that makes the next video cheaper than the last one, and three meters that tell you what all of it is actually costing you in traffic, in RAM and in money.

Seven entries serve marketing, four sharpen the products, one is the wildcard. Every repository below was opened on GitHub this morning; star counts, licences and release dates are what the pages showed. Four 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)3
Marketing / product7 / 4
New to the ledger11
Repeats1
Dropped on check4

Two things worth knowing

This edition carried a correction to Edition 1, saying that umami’s latest release was v3.1.0 from 16 April 2026 rather than the v3.3.1 recorded on 20 August. That correction was itself wrong. v3.3.1 exists and was released on 20 August 2026; the original entry had been right. It was made by reading GitHub’s releases web page, which returned a partial list, and trusting it over the figure already on file.

The note is left here rather than deleted, because a corrections page that quietly removes its own mistakes is worth nothing. The full account is on the corrections page.

If you only do three things

  1. Install Umami (07). Today. It was the first entry of the first edition, nine days ago, and it is being raised again because nothing else on this page can be judged without it. Four editions of advice and you still cannot answer "did anything I did last week send a single person to the site?" Two hours, one container, your existing PostgreSQL.
  2. Put a real job queue behind the ingest with Procrastinate (10). Every product recommendation so far has ended in the words "run it as a background job" — Docling, BERTopic, the backtests — and none of it works without something to run background jobs on. This is the missing piece, and it needs no Redis and no new server: it lives in the Postgres you already back up.
  3. Spend twenty minutes on youtube-transcript-api (06). One pip install, no API key, no quota. By tonight every tutorial your five closest competitors have published is searchable text on your disk — which is the cheapest content research that exists, and it feeds any SEO work that follows.

Proof, repetition, and the price of everything

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

5.6k stars · MIT · v1.16.4 (2026-07-10) · Track this in Scout · Share this tool

Self-hosted comment engine with no external database and no third-party tracking — the reply box under the Starlight docs.

▶Repo detailsthe review · specs · pros & cons

What it is

A small self-hosted comment engine that you embed on any page with a script tag. It handles nested threads, Markdown, moderation, image uploads and notifications, signs people in through Google, GitHub, Telegram, email or anonymously, and needs no separate database — it ships as one binary with its own embedded store.

What it is good for. Anyone who has committed to Astro and Starlight is about to publish a stack of static pages that nobody can respond to. That is a waste twice over: a page with three real questions underneath it reads as a product with users, and those questions are free content — each one is a page to write next, in the exact words a buyer typed. On a documentation site, comments under a "how do I make sense of this?" page are the closest thing to a support forum a young project will get. The alternative everyone reaches for is Disqus, which loads a tracker farm onto a site whose whole pitch is that your text never leaves the server it runs on — that would be an unforced own goal.

Stars5.6k
LicenceMIT
Latestv1.16.4 (2026-07-10)checked 7 Sep 2026
Written inGo
Setup effort
2 / 5
Payoff
3 / 5
Good
  • MIT, one Go binary, no external database, no third party reading your visitors
  • Anonymous commenting is supported, which matters enormously when your audience is small — nobody creates an account to ask one question
  • Telegram and email notifications, so a new comment reaches you without another dashboard to check
Watch for
  • Comment sections attract spam from the first week. The moderation tools are good but somebody has to actually moderate, and that somebody is whoever runs the site
  • The default styling is plain; making it look like it belongs to your site is an hour of CSS
  • An empty comment section under every page looks worse than none at all — turn it on for the docs and the blog, not the landing page
Screenshots
umputun/remark42: GitHub preview cardumputun/remark42: Screenshot 1

48.3k stars · MIT · v6.2.0 (2026-03-01) · Track this in Scout · Share this tool

The MIT community fork of Cal.com after the company went closed source — a booking link for user interviews and demos.

▶Repo detailsthe review · specs · pros & cons

What it is

A self-hosted scheduling platform — the open-source answer to Calendly — where you publish a link, someone picks a slot, and it writes the meeting into your calendar and sends the invitations. As of this year it is the community fork: Cal.com the company moved its product to closed source, and cal.diy is what remains, 100% MIT with the enterprise code stripped out.

What it is good for. The thing a solo founder before product-market fit needs most is conversations with the handful of people who did show up, and the thing that kills those conversations is six emails about time zones. A booking link at the bottom of every post, every comment reply and every email turns "we should talk sometime" into a slot in your calendar. It is also, unglamorously, how you get testimonials and case studies — you cannot write one about a user you have never spoken to. Read the second half of this entry carefully though, because the licence story here is the most instructive thing on today's page.

Stars48.3k
LicenceMIT
Latestv6.2.0 (2026-03-01)checked 7 Sep 2026
Written inTypeScript
NeedsDocker Compose, Docker and PostgreSQL
RunsSelf-hosted on your own server
Setup effort
1 / 5
Payoff
4 / 5
Good
  • Fully MIT with no enterprise tier held back — which is more than can be said for half of what this radar has recommended
  • Enormous accumulated feature set: buffers, time zones, round-robin, payments, calendar sync in both directions
  • A booking page costs you nothing to publish and starts working the day you paste the link somewhere
Watch for
  • The company behind it has walked away. A fork with the commercial code removed is only as alive as the volunteers who pick it up; the most recent tagged release is v6.2.0 from 1 March 2026. Treat it as a tool you use, not a dependency to build on
  • Self-hosting it is a heavy Next.js stack plus its own database plus Google/Microsoft calendar OAuth plus an SMTP provider. This is not an evening
  • Cal.com's own hosted free tier still exists and is genuinely the sensible starting point — the self-host is a project, and you do not need a project to get a booking link
Screenshots
calcom/cal.diy: GitHub preview cardcalcom/cal.diy: Screenshot 1calcom/cal.diy: Screenshot 2
03

abhinavxd/libredesk

💎 hidden gem

2.9k stars · AGPL-3.0 · v2.8.0 (2026-08-22) · Track this in Scout · Share this tool

Self-hosted support desk — live chat and email in one shared inbox, as a single Go binary against Postgres.

▶Repo detailsthe review · specs · pros & cons

What it is

A self-hosted customer support desk: live chat on your site, email, and other channels all landing in one shared inbox with assignment, canned responses, automation rules and SLA tracking. It ships as a single Go binary against PostgreSQL — the same operational shape as Listmonk from Edition 2.

What it is good for. A question about a small product can arrive through video comments, an email address, a reply on X, or nowhere at all — and the ones that arrive while nobody is watching simply get lost. That is not a support problem yet; it is a marketing problem, because the single strongest signal a hesitant visitor can get is a fast, human answer inside a working day. The chat widget also does something the analytics never will: it tells you, in sentences, what confuses people about a screen — which is the raw material for the next tutorial, the next docs page, and the copy on the landing page. Start with email only, add the chat widget when there is somebody to answer it.

Stars2.9k
LicenceAGPL-3.0
Latestv2.8.0 (2026-08-22)checked 7 Sep 2026
Written inGo
NeedsDocker Compose, Docker and Redis
RunsSelf-hosted on your own server
Setup effort
2 / 5
Payoff
4 / 5
Good
  • Single Go binary plus your existing PostgreSQL — the lightest thing in this layer by a wide margin
  • Live chat and email in one place, so nothing depends on you remembering which inbox a question came from
  • 2.6k stars and shipping steadily — v2.3.1 landed on 1 June 2026, and the 2.x line means the API has settled
Watch for
  • A chat widget you do not answer is worse than no widget. Turn it on only for hours you are actually at the desk, and use the email channel the rest of the time
  • AGPL-3.0 — fine to run as your own support desk, but read it before you modify it or embed it anywhere near code you ship
  • Young relative to Zendesk-class tools: fewer integrations, thinner reporting, and a small maintainer team behind it
Screenshots
abhinavxd/libredesk: GitHub preview cardabhinavxd/libredesk: Screenshot 1

48.5k stars · MIT · v52.19.1 (2026-08-19) · Track this in Scout · Share this tool

Markdown-driven presentation tool — the explainer slides in a tutorial video, plus a PDF export that doubles as a lead magnet.

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

What it is

A presentation tool where the deck is a single Markdown file: headings become slides, code blocks get syntax highlighting and line-by-line reveals, and diagrams can be drawn in Mermaid inline. It exports to PDF, to PNG images, and to a standalone web page, and has a presenter view with a drawing layer for annotating while you talk.

What it is good for. In a screencast, the moments that explain a concept — what a subtopic map is, why chunk boundaries matter, how a scalping backtest lies to you — have nothing on screen but the app itself. Building those title cards and explainer frames by hand in a screenshot tool is exactly the tax that makes video number twelve cost more than video number three. In Slidev they are a Markdown file kept in the repo: change three lines and the same video has a deck in a second language, which is the single largest saving available to a bilingual channel. And the PDF export is not a footnote — a ten-slide "how to read this screen" PDF is a lead magnet you can put behind an email address in Listmonk, which is an audience you actually own.

Stars48.5k
LicenceMIT
Latestv52.19.1 (2026-08-19)checked 7 Sep 2026
Written inTypeScript
NeedsNode.js
Setup effort
2 / 5
Payoff
4 / 5
Good
  • The deck is text, so a second language, a corrected typo or a whole restructure is an edit and not an afternoon in a design tool
  • Exports to PDF and PNG as well as slides — one source, three marketing assets
  • MIT, huge community, and Vue components mean you can drop a live screenshot of the app or an animated diagram straight into a slide
Watch for
  • It is a developer's presentation tool. If you want to nudge a box three pixels left, you are editing CSS, not dragging it
  • Overkill for a video that is 100% screen recording — this earns its place only where you actually explain concepts
  • Version 52 means fast-moving releases; pin the version in the project so a reinstall next spring does not restyle your old decks
Works well with

A Node project on your Mac, one folder per video, checked into Git beside the scripts.

Install
npm init slidev@latest
Screenshots
slidevjs/slidev: GitHub preview card

58.6k stars · Remotion License · v4.0.522 (2026-09-07) · Track this in Scout · Share this tool

Render real MP4 video from React components — one branded intro template, unlimited language and title variants.

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

What it is

A framework for making real MP4 video out of React components: you lay out frames in JSX and CSS, drive them with a frame counter, and render the result to a video file from the command line. It has been held in this radar's backlog twice and is promoted today because Layer 02 is the edition where it finally has a job to do.

What it is good for. Every video on a channel needs the same five seconds at the front and the same eight at the back, and hand-assembling that in a video editor is slow — twice as slow for a channel that publishes in two languages. As a Remotion template that becomes npx remotion render --props='{"title":"...","lang":"ru"}', and the branded top-and-tail for a whole batch renders while you make coffee. The deeper reason it is worth a look is that it is React and CSS, which is a front-end vocabulary most web developers and their coding assistants already share: describing a title animation in words and getting working code back is a genuinely different experience from learning After Effects. It is also the honest answer to a question Satori from Edition 1 could not cover — Satori makes still images, this makes moving ones.

Stars58.6k
LicenceRemotion License
Latestv4.0.522 (2026-09-07)checked 7 Sep 2026
Written inTypeScript
Setup effort
3 / 5
Payoff
4 / 5
Good
  • Same React and CSS a web front end is already built in, so a coding assistant writes it competently on the first attempt
  • Parameterised renders: one template, unlimited language and title variants, driven from a JSON file or a script
  • Very actively maintained with excellent documentation and a large body of public examples
Watch for
  • Not OSI open source. The Remotion Licence is free for individuals and companies of up to three people — fine for a solo developer or a tiny team, and a bill the day a fourth person joins. Read it before building a workflow on it
  • Rendering is CPU-heavy and slow. Do it on a local machine, not the small server that is serving your users
  • Thinking in frames rather than a timeline is a real mental shift, and the first template will take you a full evening to get right
Works well with

Feed the same titles into Thumbnails-Maker from Edition 4 and the video, the thumbnail and the deck all say the same words.

Install
npx remotion render
Screenshots
remotion-dev/remotion: GitHub preview card

8.2k stars · MIT · v1.2.4 (2026-01-29) · Track this in Scout · Share this tool

Fetches any YouTube video's subtitles with no API key and no quota — competitor research as plain text, tonight.

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

What it is

A small Python library that fetches the subtitle track of any YouTube video, including the automatically generated ones, and can ask YouTube to translate it on the way. It needs no API key and no headless browser, and it has both a Python interface and a command-line tool.

What it is good for. Edition 3 covered python-youtube for titles and view counts, which tells you that a competitor's video did well. This tells you what was in it — and it is the cheaper of the two by a distance, because it burns none of the 10,000-unit daily API quota. Pull the transcripts of the fifty most-viewed videos in a niche, hand the pile to a language model, and ask what nobody has explained properly yet. That is a content calendar built in an evening from evidence rather than instinct, and the same transcripts double as keyword seeds for OpenSEO and advertools. It also works on your own back catalogue when you want the text of a video nobody wrote a script for.

Stars8.2k
LicenceMIT
Latestv1.2.4 (2026-01-29)checked 7 Sep 2026
Written inPython
RunsLocally, on your own machine
Setup effort
1 / 5
Payoff
4 / 5
Good
  • Free, no key, no quota, no OAuth consent screen — genuinely a twenty-minute win
  • Handles auto-generated captions and can return translated tracks, so Russian-language competitors are in scope too
  • MIT and tiny, so it drops into a FastAPI virtual environment without a dependency fight
Watch for
  • It uses an unofficial endpoint. YouTube can change it, and the library then needs an update before it works again
  • YouTube blocks datacentre IP ranges aggressively — run it from a home or office machine, because from a datacentre server you will need a proxy (the library supports them, but that is a paid service)
  • Transcripts only. Views, retention and click-through still come from the API or from Studio
Install
pip install youtube-transcript-api
Screenshots
jdepoix/youtube-transcript-api: GitHub preview cardjdepoix/youtube-transcript-api: Screenshot 1jdepoix/youtube-transcript-api: Screenshot 2

38.7k stars · MIT · v3.3.1 (2026-08-20) · Track this in Scout · Share this tool

Self-hosted, cookie-free website analytics — the measurement floor for every other marketing move.

▶Repo detailsthe review · specs · pros & cons

What it is

A self-hosted, cookie-free website analytics platform: visitors, referrers, UTM campaigns, conversions and page performance on one dashboard, running on an existing PostgreSQL database. The current release adds custom dashboards, Core Web Vitals tracking and session replay to what Edition 1 described.

What it is good for. When the top priority is traffic to a site and growth on a channel, nothing connects the two without an instrument. Umami's campaign tracking is what turns "I published a tutorial" into "that tutorial sent nine people, two of whom opened the app" — and without that, every future edition of this radar is asking you to make decisions with your eyes closed. The session replay in the current version matters more than it sounds: when one screen in a product is the known explanation problem, watching six real sessions of somebody meeting it is worth more than any amount of speculation about what to fix. It is also the prerequisite for two tools this radar has already covered — Usertour is pointless until you know where people drop off, and GrowthBook's experiments are meaningless until you know how many visitors you get.

Stars38.7k
LicenceMIT
Latestv3.3.1 (2026-08-20)checked 7 Sep 2026
Written inTypeScript
NeedsDocker Compose, Docker and PostgreSQL
RunsSelf-hosted on your own server
Setup effort
2 / 5
Payoff
5 / 5
Good
  • Reuses your existing PostgreSQL — one container, no new database to back up
  • No cookies, so no consent banner eating your landing-page conversion
  • Session replay and Web Vitals now come in the box, which removes two other tools from your future shopping list
Watch for
  • Shallower than Google Analytics for funnels and cohorts — fine for a small site, a limit later
  • You now own its upgrades, backups and uptime, which is one more thing on a box that is filling up (see 08)
  • Tagged releases are irregular. Correction to the ledger: Edition 1 recorded the latest as v3.3.1 on 20 August 2026; the releases page today shows v3.1.0 (16 April 2026) as the most recent tag, and the ledger has been corrected
Screenshots
umami-software/umami: GitHub preview card

25.2k stars · MIT · v0.19.0 (2026-09-03) · Track this in Scout · Share this tool

Very light server monitoring with per-container Docker stats, history and alerts — the answer to 'can the box take one more container?'

▶Repo detailsthe review · specs · pros & cons

What it is

A very light server monitor: a hub with a web dashboard plus a small agent on each machine, recording CPU, memory, disk, network and per-container Docker statistics with history and configurable alerts. The whole thing is two Go binaries and uses a handful of megabytes.

What it is good for. Count what this radar has now put on one small server: a web application, PostgreSQL, and candidates including Umami, Listmonk, Mixpost, RSSHub, Tolgee, LibreTranslate, Coolify, plus today's comments and support desk. Every single edition has said "check your RAM headroom" and offered no way to check it. Beszel gives the number per container, over time, which converts an anxious guess into a decision — and its alerts mean the first time you learn that Postgres is being starved is not when a user emails you. This is deliberately the wildcard rather than a marketing entry, because the marketing plan fails just as completely when the site is down as when nobody visits it.

Stars25.2k
LicenceMIT
Latestv0.19.0 (2026-09-03)checked 7 Sep 2026
Written inGo
NeedsDocker and a GPU
Setup effort
2 / 5
Payoff
4 / 5
Good
  • Genuinely tiny — a monitoring tool that does not itself need the RAM you are trying to measure, unlike a Prometheus and Grafana stack
  • Per-Docker-container CPU and memory history, which is exactly the granularity your install decisions need
  • MIT, actively released, and alerting works out of the box rather than after a day of configuration
Watch for
  • Resource monitoring only. It will not tell you a page is slow or an API call is failing — that is a different tool
  • Still 0.x. It is stable in practice but the configuration format can move between versions
  • It monitors; it does not fix. Knowing you are at 92% memory is progress, but the next step is still yours
Works well with

Hub as a Docker container on the VPS behind your reverse proxy, agent alongside it on the same machine.

Screenshots
henrygd/beszel: GitHub preview cardhenrygd/beszel: Screenshot 1henrygd/beszel: Screenshot 2henrygd/beszel: Screenshot 3henrygd/beszel: Screenshot 4

58.2k stars · MIT, with a separate licence over the enterprise/ directory · v1.100.0 (2026-09-06) · Track this in Scout · Share this tool

One interface over 100+ model providers, with per-key budgets, spend tracking, caching and fallbacks — the meter on the AI bill.

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

What it is

A gateway that puts a hundred-plus model providers behind one OpenAI-shaped interface, as either a Python library or a proxy server you run. The proxy adds the parts that matter operationally: virtual keys, per-key budgets, spend tracking, caching, retries and automatic fallback to a second provider.

What it is good for. For a product built on paid models, unit economics are the thing that decides whether it can have a free tier, and most stacks measure them nowhere. GraphRAG costs dollars an import and BERTopic costs cents — Edition 3 covered that, but without a meter you cannot confirm it, price a plan, or notice the afternoon a bug puts an ingest worker into a retry loop. A gateway with a budget per feature turns that into a dashboard and a hard cap. The caching alone tends to pay for the setup, because during development the same conversation goes through the same prompt twenty times, and nineteen of those are currently full price. Wire it in before shipping an AI feature to strangers rather than after.

Stars58.2k
LicenceMIT, with a separate licence over the enterprise/ directory
Latestv1.100.0 (2026-09-06)checked 7 Sep 2026
Written inPython
NeedsRedis
RunsSelf-hosted on your own server
Setup effort
2 / 5
Payoff
4 / 5
Good
  • Per-feature virtual keys with budgets and alerts — you can cap a runaway loop instead of discovering it on a statement
  • One interface across providers, so switching a step from an expensive model to a cheap one is a config change, not a rewrite
  • Response caching and automatic fallback, which cut both your development spend and your outage risk
Watch for
  • Two very different products under one name. The Python library is a small dependency; the proxy wants its own PostgreSQL and Redis, so it is a real install
  • MIT except for an enterprise/ directory under a separate licence — check any feature you come to depend on
  • Enormous surface area and a very fast release cadence. Pin the version and use the tenth of it you need
Install
pip install litellm
Screenshots
BerriAI/litellm: GitHub preview cardBerriAI/litellm: Screenshot 1BerriAI/litellm: Screenshot 2

1.4k stars · MIT · 3.9.0 (2026-06-20) · Track this in Scout · Share this tool

PostgreSQL-backed task queue for Python — the background worker four editions of product advice quietly assumed he already had.

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

What it is

A distributed task queue for Python that uses PostgreSQL as its entire backend: jobs, locks, retries, scheduling and the dispatch notifications all live in tables in your existing database. It works with both synchronous and async code and has first-class support for periodic tasks.

What it is good for. Read back through this radar and count the phrases "queued worker job", "background job with a progress indicator", "run as a scheduled job": Docling parsing a 90-page PDF, BERTopic clustering, tsfresh over three years of price data, a backtest sweep. Every one of those takes minutes and none of them can happen inside a web request, so the honest position is that several of the product features this radar has covered are not shippable until a queue exists. The reason this specific library rather than Celery is the reason pgvector beat a dedicated vector database in Edition 2: no Redis, no RabbitMQ, no second thing to secure and back up. One pg_dump still captures everything, and a job's state is a row you can look at in SQL when something goes wrong at 3am.

Stars1.4k
LicenceMIT
Latest3.9.0 (2026-06-20)checked 7 Sep 2026
Written inPython
NeedsPostgreSQL and Python 3
Setup effort
2 / 5
Payoff
5 / 5
Good
  • No new infrastructure whatsoever — the queue is tables in the PostgreSQL database that is already there and already backed up
  • Retries, locks, scheduled and periodic tasks included, so the ingest pipeline stops needing hand-written cron scripts
  • Async-native, which matches FastAPI, and small enough that you can read the whole thing when you need to
Watch for
  • 1.4k stars and a small maintainer group. Mature and well documented, but not Celery-sized — a real consideration for something load-bearing
  • PostgreSQL as a queue has a genuine ceiling. Most projects are nowhere near it, but it is not the right tool at very high job rates
  • The worker is a second process to keep running, which means a systemd unit or a container — one more thing on the box that 08 is now measuring
Works well with

Install into the FastAPI virtual environment, run its migration against your existing PostgreSQL, and start one worker process beside the API.

Install
pip install procrastinate
Screenshots
procrastinate-org/procrastinate: GitHub preview card

13.8k stars · MIT · v1.16.0 (2026-08-27) · Track this in Scout · Share this tool

Pydantic-validated structured output from any LLM, with automatic retry on malformed responses — so the subtopic map cannot fail to parse.

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

What it is

A thin library that makes a language model return data matching a Pydantic model instead of free text: you declare the shape you want, and it handles the schema, the validation and the automatic retry when the model gets it wrong. It works across the major providers rather than binding you to one.

What it is good for. Some product output is structured by definition — a tree of named subtopics, each with a label, a summary and a set of source references — and every one of those labels comes out of a model that will occasionally return prose, invent a field, or wrap the JSON in an apology. Parsing that by hand is where the "sometimes the screen just fails to load" class of bug comes from, and that bug is fatal in a product whose entire promise is that it makes a mess legible. Instructor turns a malformed response into an automatic retry with the validation error fed back to the model, which is exactly the loop you would otherwise write badly yourself. It also makes prompt changes safe: the Pydantic model is the contract, so a reworded prompt cannot quietly change the shape the front end is expecting.

Stars13.8k
LicenceMIT
Latestv1.16.0 (2026-08-27)checked 7 Sep 2026
Written inPython
RunsLocally, on your own machine
Setup effort
1 / 5
Payoff
4 / 5
Good
  • The schema is a Pydantic class, which is the same thing FastAPI already uses — no new vocabulary to learn
  • Automatic retry with the validation error returned to the model, which fixes most malformed responses without your code seeing them
  • MIT, very active — v1.16.0 shipped three days before this report — and provider-agnostic, so it sits happily behind LiteLLM (09)
Watch for
  • Retries cost money and latency. A strict schema against a weak model can quietly triple the price of an import — which is precisely why 09 belongs in front of it
  • It guarantees the shape of the answer, never the quality. A confidently wrong subtopic label validates perfectly
  • One more layer between you and the provider API, so an odd failure now has two places to look
Install
pip install instructor
Screenshots
567-labs/instructor: GitHub preview card
12

skforecast/skforecast

💎 hidden gem

1.5k stars · BSD-3-Clause · v0.24.0 (2026-08-24) · Track this in Scout · Share this tool

scikit-learn-compatible time-series forecasting with rolling-origin backtesting built into the core — the anti-overfitting step most strategy work is missing.

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

What it is

A library that turns any scikit-learn-compatible model into a time-series forecaster, with the awkward parts — lag features, multi-step recursion, exogenous variables — handled automatically. Its distinguishing feature is that backtesting is built into the core: rolling-origin and expanding-window validation, hyperparameter search that respects time order, and probabilistic intervals rather than a single number.

What it is good for. Everything this radar has covered for trading research so far finds candidates: STUMPY finds repeating shapes, tsfresh finds predictive properties, backtesting.py tests a rule you wrote. The gap is the step in between — turning "these features look significant" into a model that is validated the way time-series models have to be validated, on data that comes strictly after the data it learned from. Get this wrong by even one bar and a strategy that is really noise will show you a beautiful equity curve; that mistake is the single most common way a solo trader loses a year. And the licence is the practical detail: BSD-3-Clause, so unlike backtesting.py and vectorbt this can sit inside a paid product feature, next to quantstats.

Stars1.5k
LicenceBSD-3-Clause
Latestv0.24.0 (2026-08-24)checked 7 Sep 2026
Written inPython
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
4 / 5
Good
  • Rolling-origin backtesting and time-aware hyperparameter search are the core API, not something you have to remember to do correctly
  • BSD-3-Clause — commercially safe, which two of the three backtesting options this radar has covered are not
  • Any scikit-learn model works, so a linear baseline and a gradient-boosted model are one line apart, and the baseline usually deserves to win
Watch for
  • It forecasts a series; it does not model a trade. Spread, slippage, position sizing and stops are still yours to add before any number means money
  • 1.5k stars and a small Spanish research team behind it — excellent documentation, real bus-factor risk
  • The docs are licensed CC BY-NC-SA even though the code is BSD, so do not lift documentation text into your own docs or marketing pages
Replaces

And the licence is the practical detail: BSD-3-Clause, so unlike backtesting.py and vectorbt this can sit inside a paid product feature, next to quantstats .

Works well with

And the licence is the practical detail: BSD-3-Clause, so unlike backtesting.py and vectorbt this can sit inside a paid product feature, next to quantstats .

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

Checked, and left out

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

papermark/papermark

papermark/papermark (9.0k, AGPL-3.0) — moved from mfts/papermark; latest tag v0.22.0 but the year could not be read off the page. Backlogged.

StJudeWasHere/seonaut

StJudeWasHere/seonaut (763, MIT) — no releases at all and the commit history was unreachable, so dormancy could not be ruled out. Backlogged.

arikchakma/maily.to

arikchakma/maily.to (3.8k, MIT) — would fill Listmonk's missing drag-and-drop editor, but no releases and no readable tag dates. Backlogged.

apache/answer

apache/answer (15.7k, Apache-2.0) — last release v2.0.1 (2025-05-29), fifteen months old, and premature before he has users. Backlogged.

Share this edition
← PreviousNo. 4Next →No. 6

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.