Edition No. 15 · 9 Sep 2026

Jobs that run on their own

Fourteen editions have covered tools. Almost every one of them is a thing you open, use, and close.

By Genn·12 repositories·15 min read

The web version carries the English / Русский switch. The Russian text of this edition is also in the file radar-2026-09-09-ru.md, delivered into the chat on the day. This archive stays English only.

Fourteen editions have covered tools. Almost every one of them is a thing you open, use, and close. This edition is about the other kind: work that happens while you are asleep, and the small number of tools that tell you whether it happened at all.

There is a reason to say this today. Yesterday's edition dropped three good repositories because a GitHub page looked stale. It was wrong. All three are alive, and all three are here. That mistake was found because the run left a record of what it dropped and why. The same idea, applied to your own work, is most of this edition.

We aim for twelve every day. Some candidates fall out while we check them — those are listed at the end, with the reason.

Two things worth knowing

- Yesterday's report dropped three good projects by mistake, and today's puts them back. Activepieces, Novu and Plane were all dropped on 8 September because their GitHub releases list showed nothing newer than 2024. That list is unreliable. Checked properly today, Activepieces released version 0.90.4 on 8 September 2026, Plane released v1.4.2 on 23 August 2026, and Novu tagged a package on 7 September 2026. All three are in this edition. The lesson is already written into the rules: read the single latest release page, not the list. - Before you plan on running your own mail server, check one thing with your hosting company. Entry #5 is excellent software, but hosting companies block outgoing port 25 on new accounts to stop spam. You have to ask them to open it, and they can refuse. Ask first. Install second.

If you only do three things

  1. healthchecks/healthchecks (#8) — tonight, fifteen minutes, free. A daily report can fail to finish and nothing tells you. A backup can fail the same way, and you find out on the day you need it. One line added to a command fixes this.
  2. towfiqi/serpbear (#6) — this evening, about an hour. It records where your pages sit in Google every day. You cannot go back and collect the last three months. Every day you wait is a day of history you will never have.
  3. activepieces/activepieces (#1) — this weekend, half a day. A new signup should reach a CRM, a newsletter list and a phone without anyone copying anything by hand.

Jobs that run on their own

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

23.4k stars · MIT, except packages/ee/ and packages/server/api/src/app/ee, which are under a separate paid licence (read from the LICENSE file 2026-09-09) · 0.90.4 (2026-09-08), read from /releases/latest · Track this in Scout · Share this tool

An open-source alternative to Zapier, and the MIT-licensed competitor to n8n.

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

What it is

Activepieces is an open-source alternative to Zapier. Rules are built in a browser window by choosing a trigger and then one or more actions.

What it is good for. A new signup can add a row to a CRM, put the person on a newsletter list, and send a message to a phone. Without something like this the person sits in a database and nothing follows. It works on the publishing side too. A new video can post itself to social accounts and drop into a newsletter draft.

Stars23.4k
LicenceMIT, except packages/ee/ and packages/server/api/src/app/ee, which are under a separate paid licence (read from the LICENSE file 2026-09-09)
Latest0.90.4 (2026-09-08), read from /releases/latest
Good
  • The main code is MIT, so you can run it, change it, and build on it.
  • About 400 ready-made connections, plus a plain HTTP step for anything with a web address.
  • You can write your own step in TypeScript when a ready-made one does not exist.
Watch for
  • Not all of it is MIT. Files under packages/ee/ are under a separate paid licence. Read that before building on a feature.
  • It is a Node.js application with its own database. Expect it to want 1 to 2 GB of memory, so check what is free first.
  • n8n (Edition 1 #6) does the same job. Running both wastes memory and attention. Pick one and mark the other exclude.
Install
sudo apt install -y docker.io docker-compose-plugin
mkdir -p ~/activepieces && cd ~/activepieces
curl -fsSL https://raw.githubusercontent.com/activepieces/activepieces/main/docker-compose.yml -o docker-compose.yml
# Open docker-compose.yml and set the passwords and AP_FRONTEND_URL before starting.
sudo docker compose up -d
Screenshots
activepieces/activepieces: GitHub preview cardactivepieces/activepieces: Screenshot 1activepieces/activepieces: Screenshot 2activepieces/activepieces: Screenshot 3activepieces/activepieces: Screenshot 4

17.5k stars · AGPL-3.0 (the sidebar also lists Apache-2.0 for parts of the repository; LICENSE-AGPL confirmed as GNU AGPL v3 on 2026-09-09) · v1.808.0 (2026-09-09), read from /releases/latest — released the same day as the edition · Track this in Scout · Share this tool

Turns a script you already have into a scheduled job with a generated web form and a log of every run.

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

What it is

Windmill is a developer platform that runs scripts. It supports Python, TypeScript, Go, Bash and SQL. It reads the arguments of your function and builds a small form from them, and it can join several scripts into one flow.

What it is good for. A project full of scripts that pull data, run a test, and write a report is the plain case for this. Those scripts otherwise run only when somebody sits down and runs them. Here they run at six in the morning and report a failure. The form it generates also means you can change one number and press a button, instead of opening an editor and hunting for a variable.

Stars17.5k
LicenceAGPL-3.0 (the sidebar also lists Apache-2.0 for parts of the repository; LICENSE-AGPL confirmed as GNU AGPL v3 on 2026-09-09)
Latestv1.808.0 (2026-09-09), read from /releases/latest — released the same day as the edition
Good
  • It builds a usable web form from your function's arguments. You write no front-end code at all.
  • It keeps every run, with the values used and the output produced. You can see why last Tuesday's result was wrong.
  • Secrets, schedules, retries and queues are handled for you. That is a large amount of code you do not have to write or maintain.
Watch for
  • The licence is AGPL-3.0. Running it privately for your own work is fine. Offering Windmill itself to other people over the web would oblige you to publish your changes.
  • It is a big program. Postgres plus worker processes, 2 GB of memory and upwards.
  • It overlaps Procrastinate (Edition 5 #10) and entry #1 above. The honest split is this. Windmill runs your scripts. Activepieces connects other people's products.
Install
mkdir -p ~/windmill && cd ~/windmill
curl -fsSL https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile -o Caddyfile
sudo docker compose up -d
# Then open http://your-server:8000 and create the first account.
Screenshots
windmill-labs/windmill: GitHub preview cardwindmill-labs/windmill: Screenshot 1windmill-labs/windmill: Screenshot 2windmill-labs/windmill: Screenshot 3windmill-labs/windmill: Screenshot 4

55.5k stars · AGPL-3.0 · v1.4.2 (2026-08-23), read from /releases/latest · Track this in Scout · Share this tool

Open-source project tracking that serves as an editorial calendar for the blog and the channel.

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

What it is

Plane is an open-source project tracker. It has work items, cycles, and several ways to look at them, including a board and a calendar.

What it is good for. Edition 14 covered where the words live. This is the other half of that: where the plan lives. One video is really four pieces of work: the script, the recording, the translated version, and the blog post that goes with it. They share one publish date. Kept only in somebody's head, that structure is the first thing to slip.

Stars55.5k
LicenceAGPL-3.0
Latestv1.4.2 (2026-08-23), read from /releases/latest
Good
  • The calendar view is exactly the shape a publishing schedule needs.
  • It runs on your own server, so unpublished plans stay there.
  • It is moving quickly. Version v1.4.2 was published on 23 August 2026.
Watch for
  • The licence is AGPL-3.0, with the same condition as Windmill above.
  • It is heavy for one person. Postgres, Redis, a file store and several containers, wanting 2 to 4 GB of memory.
  • A tracker only helps if you open it every day. If you know you will not, a plain text file in your repository is the better answer, and it is free.
Install
mkdir -p ~/plane && cd ~/plane
curl -fsSL -o setup.sh https://raw.githubusercontent.com/makeplane/plane/master/deploy/selfhost/install.sh
# Read setup.sh before you run it. It writes files and starts containers.
chmod +x setup.sh
./setup.sh
Screenshots
makeplane/plane: GitHub preview cardmakeplane/plane: Screenshot 1makeplane/plane: Screenshot 2makeplane/plane: Screenshot 3makeplane/plane: Screenshot 4

39.7k stars · MIT in the About sidebar, plus a separately licensed paid enterprise edition. The LICENSE file could not be fetched on either branch path tried on 2026-09-09 (both 404) — confirm before depending on a specific feature. · @novu/framework@v2.13.2 (2026-09-07), read from /releases/latest. This is a MONOREPO PER-PACKAGE TAG, not a product version — see verification_notes.monorepo_tags. · Track this in Scout · Share this tool

One place to send email, push, SMS and in-app notifications from a single API.

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

What it is

Novu is notification infrastructure. You define a message flow once. It handles sending across channels, remembers what each person agreed to receive, and gives an application a ready-made notification list.

What it is good for. When a job takes real time to finish, the person either watches a spinner or leaves and never comes back. This sends "it is ready" by email and by browser alert, and keeps the message in a list inside the app. It also carries the per-person "stop emailing me" setting, which you would otherwise have to build yourself and which the law expects you to have.

Stars39.7k
LicenceMIT in the About sidebar, plus a separately licensed paid enterprise edition. The LICENSE file could not be fetched on either branch path tried on 2026-09-09 (both 404) — confirm before depending on a specific feature.
Latest@novu/framework@v2.13.2 (2026-09-07), read from /releases/latest. This is a MONOREPO PER-PACKAGE TAG, not a product version — see verification_notes.monorepo_tags.
Good
  • One template, several channels. You change the wording in a dashboard, not in Python.
  • It ships a ready-made notification bell for React, so the in-app half is an afternoon rather than a week.
  • It is very active. The newest tag is dated 7 September 2026.
Watch for
  • The About sidebar says MIT, but the project also has a separately licensed paid edition. Check that the feature you want sits in the free half before you plan around it.
  • Self-hosting means an API service, a worker, a dashboard, MongoDB and Redis. That is 2 GB of memory and upwards, and MongoDB is one more database to run. Their hosted free tier is the sensible start.
  • Novu sends messages. It does not decide when to send them. Dittofeed (Edition 14 #8) decides. Do not adopt both at once, or you will have two half-built systems.
Install
git clone -b next https://github.com/novuhq/novu.git
cd novu/docker/community
cp .env.example .env
# Set the secret values listed in .env, then:
sudo docker compose up -d
Screenshots
novuhq/novu: GitHub preview cardnovuhq/novu: Screenshot 1novuhq/novu: Screenshot 2

16.8k stars · MIT · v3.3.7 (2026-06-03), read from /releases/latest · Track this in Scout · Share this tool

Your own mail-sending server, with DKIM signing, bounce handling and a searchable log of every message.

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

What it is

Postal is a complete mail server for outgoing mail. It has a web interface, an HTTP interface and an SMTP interface, and it tracks what happened to every message.

What it is good for. Listmonk (Edition 2 #1), Mautic (Edition 10 #6) and Dittofeed (Edition 14 #8) all write the email. None of them deliver it. Every one of them asks you for a sending account. That is the same missing piece three times over. Owning it removes a bill that grows as your list grows, and it gives you the delivery log you need on the day a whole group of addresses stops receiving anything.

Stars16.8k
LicenceMIT
Latestv3.3.7 (2026-06-03), read from /releases/latest
Good
  • MIT, and the whole product is in the repository. Nothing is held back.
  • It does the real delivery work: message signing, bounce processing, suppression lists, and a searchable log of every message.
  • It accepts mail over both SMTP and HTTP, so any of the tools above can hand it their messages.
Watch for
  • The install is the easy half. Getting mail accepted is the hard half. A brand new sending address has no reputation, so you must start with small volumes and build up, or you land in spam folders.
  • Hosting companies block outgoing port 25 on new accounts. You have to ask them to open it and they can say no. Check this before you spend the afternoon.
  • MariaDB plus a message queue plus the application, about 2 GB of memory. And when mail stops flowing at midnight, it is your problem, not a supplier's.
Install
sudo apt install -y docker.io docker-compose-plugin git
sudo git clone https://github.com/postalserver/install /opt/postal/install
sudo ln -s /opt/postal/install/bin/postal /usr/bin/postal
sudo postal bootstrap postal.yourdomain.com
sudo postal initialize
sudo postal make-user
sudo postal start
Screenshots
postalserver/postal: GitHub preview cardpostalserver/postal: Screenshot 1
06

towfiqi/serpbear

💎 hidden gem

2.1k stars · MIT · v3.1.0 (2026-03-27) · Track this in Scout · Share this tool

Self-hosted Google rank tracker — unlimited keywords, one small SQLite container, Search Console integration.

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

What it is

SerpBear is a self-hosted rank tracker. You add your domains and your keywords, it checks their position once a day, and it keeps the history. It also reads Google Search Console.

What it is good for. Fifteen editions have covered tools to make pages better. Not one has told you whether the pages moved. Every site competes for a handful of words, and a site published in two languages competes for them twice. This is the only thing in the ledger that measures that. Start it today, because you cannot fill in the past.

Stars2.1k
LicenceMIT
Latestv3.1.0 (2026-03-27)checked 7 Sep 2026
Written inTypeScript
Setup effort
2 / 5
Payoff
4 / 5
Good
  • MIT, small, one container, and it stores its data in a single SQLite file. It sits happily beside everything else on a small server.
  • Unlimited keywords. Paid rank trackers charge steeply per keyword, and that is what usually stops people tracking a second language at all.
  • It connects to Google Search Console, so you also see the words you already rank for and never thought to track.
Watch for
  • It needs a key from a third-party search-data company, such as ScrapingAnt or SerpApi. That is a small monthly bill, and it is the real cost of running this.
  • The last release is v3.1.0, from 27 March 2026. Almost six months quiet. That is still well inside the eighteen-month line this radar uses, but it is not a fast-moving project.
  • Position on its own is a number that flatters you. Read it next to real traffic from GoAccess (Edition 8 #4) or PostHog (Edition 11 #8).
Install
mkdir -p ~/serpbear/data
sudo docker run -d --name serpbear -p 3000:3000 \
  -v $HOME/serpbear/data:/app/data \
  -e USER=admin \
  -e PASSWORD=choose-a-real-password \
  -e SECRET=a-long-random-string \
  -e APIKEY=another-long-random-string \
  towfiqi/serpbear
Screenshots
towfiqi/serpbear: GitHub preview cardtowfiqi/serpbear: Screenshot 1towfiqi/serpbear: Screenshot 2
07

elmohq/elmo

💎 hidden gem

305 stars · MIT · v0.3.0 (2026-08-31) · Track this in Scout · Share this tool

Self-hosted AEO/GEO tracker — records whether ChatGPT, Perplexity, Gemini and AI Overviews mention and cite your brand.

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

What it is

Elmo is a self-hosted tracker for AI answer engines. You give it a list of prompts. It runs them against the models on a schedule and stores the answers, including which brands were mentioned and which pages were cited.

What it is good for. Editions 1, 2 and 8 covered an AI-visibility skill, llms.txt and structured data. Those are all changes you make to your pages. Not one of them tells you whether the change worked. This is the measuring half of that work. For a product whose buyers already sit inside a chat window, this is not a side channel.

Stars305
LicenceMIT
Latestv0.3.0 (2026-08-31)checked 7 Sep 2026
Written inTypeScript
Good
  • MIT and self-hosted, so your prompt list and your results stay yours. That list is competitive information.
  • It is moving. Version v0.3.0 was published on 31 August 2026.
  • It records the other products named in the same answer. That is a competitor list you did not have to build.
Watch for
  • 201 stars and a small team. If they stop, you are left with a working copy and nobody to fix it. Treat it as a tool, not a foundation.
  • Every check is a paid call to a model. Ten prompts across four models every day adds up quietly. Put LiteLLM (Edition 5 #9) in front of it and set a spending limit.
  • Model answers vary from run to run. Read the trend over weeks. A single day means nothing.
Install
git clone https://github.com/elmohq/elmo.git && cd elmo
cp .env.example .env
# Add your model API keys to .env, then:
sudo docker compose up -d
Screenshots
elmohq/elmo: GitHub preview cardelmohq/elmo: Screenshot 1elmohq/elmo: Screenshot 2elmohq/elmo: Screenshot 3elmohq/elmo: Screenshot 4

10.1k stars · BSD-3-Clause · v4.4 (2026-08-31), read from /releases/latest · Track this in Scout · Share this tool

Gives every scheduled job a URL to call when it finishes, and alerts you when the call does not arrive.

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

What it is

Healthchecks waits for a signal instead of watching a machine. Each job gets a web address and an expected schedule. Silence is the alarm.

What it is good for. This is the most concrete item on the list, because the failure it catches is a silent one. A scheduled job can stop finishing and nobody notices for weeks. A backup is worse. Restic (Edition 8 #11) has no way to tell you it stopped running, so you would learn about it on the day the disk dies. One extra line at the end of the command closes that hole for good.

Stars10.1k
LicenceBSD-3-Clause
Latestv4.4 (2026-08-31), read from /releases/latest
Good
  • Two minutes per job. You add && curl -fsS https://hc-ping.com/your-id to the end of the command and you are done.
  • The hosted version is free for twenty jobs. For most people that is enough, and it means nothing new to run or update.
  • It can alert by email, Telegram, Slack, and ntfy (Edition 7 #4), which you may already have on your phone.
Watch for
  • It only knows what you tell it. A job that finishes normally but writes a broken file still reports success. Make the script check its own output.
  • It overlaps Uptime Kuma (Edition 7 #1), which also has this kind of check built in. If Uptime Kuma is already running, use that and skip this.
  • Running it yourself is a Django application with Postgres. Use the free hosted version unless you have a firm reason not to.
Install
# Nothing to install for the hosted version. Sign up at healthchecks.io,
# create a check, copy its address, then edit your crontab:
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://hc-ping.com/YOUR-ID
# If you would rather run it yourself:
sudo docker run -d --name healthchecks -p 8000:8000 \
  -e SECRET_KEY=a-long-random-string \
  -e SITE_ROOT=https://checks.yourdomain.com \
  -v $HOME/healthchecks:/data \
  healthchecks/healthchecks
Screenshots
healthchecks/healthchecks: GitHub preview cardhealthchecks/healthchecks: Screenshot 1healthchecks/healthchecks: Screenshot 2healthchecks/healthchecks: Screenshot 3healthchecks/healthchecks: Screenshot 4
09

segment-any-text/wtpsplit

💎 hidden gem

1.3k stars · MIT · 2.2.1 on PyPI (2026-04-11) — dated from PyPI per the 'for a Python tool, believe PyPI' rule · Track this in Scout · Share this tool

Splits text into real sentences in 85 languages using small CPU models, including text with no punctuation.

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

What it is

wtpsplit is a Python library with small trained models that find sentence boundaries. The current model family is called SaT.

What it is good for. In a text pipeline, everything afterwards depends on this first cut. Chonkie (Edition 2 #10) makes chunks from it. BERTopic and turftopic group those chunks. model2vec and vicinity search them. All of them work with whatever the splitter hands over. Real chat is lowercase, runs on, and often has no full stops. A rule-based splitter turns a whole message into one enormous sentence, and the topic map comes out vague for reasons nobody can see. Russian makes it worse, because the simple splitters were tuned on English.

Stars1.3k
LicenceMIT
Latest2.2.1 on PyPI (2026-04-11) — dated from PyPI per the 'for a Python tool, believe PyPI' rule
Good
  • MIT, and the small models run on an ordinary processor. No graphics card needed.
  • It handles text with no punctuation, which is exactly the case that breaks the simple approach.
  • One language-agnostic model covers English and Russian data alike, so you do not maintain two paths.
Watch for
  • It is a model, so the first run downloads weights and it wants a few hundred MB of memory. Load it once when your service starts, not on every request.
  • It is slower than splitting on full stops. Do it in a background job rather than while a person is waiting. Procrastinate (Edition 5 #10) is the queue for that.
  • The last release on PyPI is 2.2.1, from 11 April 2026. Five months. Fine, but not fast-moving.
Install
source venv/bin/activate
pip install wtpsplit
python -c "from wtpsplit import SaT; s = SaT('sat-3l-sm'); print(s.split('привет как дела все нормально спасибо'))"
Screenshots
segment-any-text/wtpsplit: GitHub preview cardsegment-any-text/wtpsplit: Screenshot 1
10

ueberdosis/hocuspocus

💎 hidden gem

2.4k stars · MIT · v4.7.0 (2026-09-09), read from /releases/latest and CONFIRMED against registry.npmjs.org/@hocuspocus/server/latest, which also returned 4.7.0 · Track this in Scout · Share this tool

The ready-made Yjs collaboration server — holds the document, broadcasts changes, and saves to your own database.

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

What it is

Hocuspocus is a collaboration backend for Yjs. It holds documents in memory, sends changes to everyone connected, and saves them to your database through a small hook you write.

What it is good for. Edition 13 #9 recommended Yjs for shared documents and stopped there, which was half an answer. Yjs alone only agrees between browsers that are already connected to something. This is that something, and it is the exact piece a solo founder loses a week to. It also brings the boring parts you would forget: who is allowed into a document, and when to write it back to Postgres.

Stars2.4k
LicenceMIT
Latestv4.7.0 (2026-09-09), read from /releases/latest and CONFIRMED against registry.npmjs.org/@hocuspocus/server/latest, which also returned 4.7.0
Good
  • MIT, and it was released today. Version v4.7.0 is dated 9 September 2026, and the npm package agrees.
  • Saving to your database is a few lines of code. The document is stored as bytes in Postgres.
  • It comes from the same team as Tiptap, so the documentation is real and kept up to date.
Watch for
  • It is a Node.js service. If the rest of the application is written in something else, that is a second thing to deploy, watch and restart.
  • Long-lived connections change how you size the server. Memory grows with the number of open documents, not with the number of requests.
  • It is only worth anything if the product really gets shared documents. If one person opens one document, this is a week spent on nothing.
Install
mkdir myapp-collab && cd myapp-collab
npm init -y
npm install @hocuspocus/server @hocuspocus/extension-database
# server.js
#   import { Server } from '@hocuspocus/server'
#   Server.configure({ port: 1234 }).listen()
node server.js
Screenshots
ueberdosis/hocuspocus: GitHub preview cardueberdosis/hocuspocus: Screenshot 1

23.3k stars · Apache-2.0 on the core, with some features under the Timescale License, which forbids offering it to others as a database service · 2.30.0 (2026-09-08), read from /releases/latest · Track this in Scout · Share this tool

A PostgreSQL extension for time-series data — automatic time chunking, compression of old chunks, and continuous aggregates.

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

What it is

TimescaleDB is an extension for PostgreSQL built for data with a timestamp. It splits one big table into time-based pieces on its own, compresses the older pieces, and keeps rolling summaries up to date.

What it is good for. Searching three years of price data for a pattern means asking the same question hundreds of times with different settings. If one pass takes a minute, you test ten ideas in an afternoon. If it takes a second, you test hundreds. That is the whole difference between searching and guessing. The rolling summaries also keep one-minute, five-minute and hourly bars current, instead of rebuilding them in Python on every run.

Stars23.3k
LicenceApache-2.0 on the core, with some features under the Timescale License, which forbids offering it to others as a database service
Latest2.30.0 (2026-09-08), read from /releases/latest
Good
  • It is still PostgreSQL. Same connection string, same SQL, same backups. Nothing else in the application has to change.
  • Compressing older pieces usually cuts stored size a great deal, which matters on a VPS disk you pay for.
  • It is very active. Version 2.30.0 was published on 8 September 2026.
Watch for
  • There are two licences in one repository. The core is Apache-2.0. Some features sit under the Timescale License, which forbids offering it to others as a database service. Selling your own application is fine. Reselling the database is not.
  • Installing it means matching your PostgreSQL version and restarting the server. Test it on a copy of your data first, never on the live one.
  • If your data already fits comfortably and your queries already feel fast, this changes nothing. Time one real query before you spend the evening.
Install
sudo apt install -y gnupg postgresql-common apt-transport-https lsb-release wget
echo "deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/timescaledb.list
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg
sudo apt update
sudo apt install -y timescaledb-2-postgresql-16
sudo timescaledb-tune
sudo systemctl restart postgresql
# Then, inside psql, on a COPY of your database first:
#   CREATE EXTENSION IF NOT EXISTS timescaledb;
#   SELECT create_hypertable('candles', 'time', migrate_data => true);
Screenshots
timescale/timescaledb: GitHub preview card

39.4k stars · MIT · 1.44.1 on PyPI (2026-08-26) — dated from PyPI per the 'for a Python tool, believe PyPI' rule · Track this in Scout · Share this tool

A Rust-based dataframe library with a Python interface — multi-core, lazy, and able to work through files larger than memory.

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

What it is

Polars is a table library written in Rust with a Python interface. It uses every processor core, and it can work through a file that is larger than your memory.

What it is good for. A backtest sweep is the same loading and reshaping repeated hundreds of times. Anything that makes one pass three times faster makes the whole afternoon three times shorter. Polars also reads Parquet files well, and Parquet is the sensible format for three years of ticks. It pairs neatly with entry #11. The database holds and summarises the data. Polars does the run-by-run work in memory.

Stars39.4k
LicenceMIT
Latest1.44.1 on PyPI (2026-08-26) — dated from PyPI per the 'for a Python tool, believe PyPI' rule
Good
  • MIT and mature. Version 1.44.1 was released on 26 August 2026.
  • It uses every processor core without you writing anything special for it.
  • Lazy mode looks at all your steps before it starts, then skips the work it does not need.
Watch for
  • It is not pandas. Method names and behaviour differ. Expect a day of rewriting and a few surprises.
  • Some libraries expect a pandas table. You will call .to_pandas() at the edges, and that copy costs time and memory back.
  • If your files are small, you will not feel any difference, and you will have spent a day for nothing. Time one real run first.
Install
source venv/bin/activate
pip install polars
python -c "import polars as pl; print(pl.__version__)"
Screenshots
pola-rs/polars: GitHub preview card

Checked, and left out

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

amicalhq/refref

amicalhq/refref — Re-checked today and UNCHANGED since 7 September: 215 stars, 113 commits, still no releases at all. Dropped again because a payments-adjacent tool with no released version is not something one person should run. Recorded loudly because the CATEGORY is still empty after fifteen editions: nothing in this ledger lets a happy customer earn something for bringing another one, and refref is the only candidate anyone has found.

pentacent/keila

pentacent/keila — VERIFIED ALIVE today (0.30.3, 6 September 2026, AGPL-3.0) and left out on slate fit, not health. It is third in line for the same slot behind Listmonk (Ed.2 #1) and Mautic (Ed.10 #6), and it runs on Elixir, a runtime nothing else on his box uses. Stays in the backlog; surface only if Listmonk is marked exclude.

Share this edition
← PreviousNo. 14Next →No. 16

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.