Edition No. 30 · 24 Sep 2026

Twelve repositories for watching a machine, backing it up and publishing what it holds

Jellyfin's release after 10.11.11 is 12.1, and the missing version 11 was a deliberate decision.

By Genn·12 repositories·14 min read

Jellyfin is one of the best-known ways to keep a film and music collection on a machine of your own. Its last version was 10.11.11. Its newest version is 12.1. There is no version 11 and there never will be: the project decided to drop the leading 10. it had carried since 2018, so the release that would have been 10.12 came out as 12.0. That is entry 11, and it is the most interesting true thing found this morning.

The rest of the edition is a backup tool that finally gives restic a screen, two ways to watch a machine without paying a monitoring bill, a PostgreSQL backup project with 319 stars, and a file renamer that shows you the whole rename before it touches anything.

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

Three things worth knowing

Jellyfin skipped version 11 on purpose. The release after 10.11.11 is 12.1. The project's own notes say it is "dropping the preceding 10." from its version numbers, so what would have been 10.12.0 shipped as 12.0. Eight release candidates, 12.0 and then 12.1 are all on the releases page; there is nothing numbered 11 between them, and there will not be.

A modified open-source licence is still a licence somebody has to read. GoatCounter's licence file opens by saying it is "a slightly modified version of European Union Public License (EUPL) 1.2", with a change to the appendix that lists compatible licences. EUPL-1.2 has appeared twice before in this archive — Edition 19 covered Zola and Edition 27 covered tere — and this is the first copy of it carrying an edit.

The file-renaming category is mostly abandoned. Four alternatives to F2 were opened this morning. One is alive: pipe-rename, last code 21 February 2026. The other three stopped between twenty-one and forty-seven months ago — massren in December 2024, node-rename-cli in January 2023 and, in the mail-filter list, gmail-britta in October 2022. A simple job that is finished attracts no maintenance, which is why the survivors matter.

If you only do three things

  1. ayoisaiah/f2 (#7) — five minutes, on files that already exist. It renames a folder full of files in one command and shows you the full list of changes before it does anything. Nothing is renamed until you say so.
  2. garethgeorge/backrest (#3) — one evening, and it is the strongest thing on the page. It puts a web screen on top of restic, so scheduling backups and, more importantly, restoring a file becomes clicking rather than remembering a command.
  3. k1LoW/tbls (#5) — half an hour, read-only, on a database that already exists. It writes the documentation nobody ever writes: every table, every column, every link between them, as Markdown you can keep in the project.

Jellyfin skipped version 11 on purpose

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

37,192 stars · AGPL-3.0 · v0.8.5 (2026-05-30, /releases/latest and ungh agree) · Track this in Scout

One configurable web page that gathers RSS feeds, weather, release notifications and machine statistics into a single view.

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

What it is

Glance is a small program written in Go that reads a configuration file and renders a dashboard in the browser. Each block on the page is a "widget" — an RSS feed, a weather forecast, a list of the newest releases of a repository, a graph of processor and memory use.

What it is good for. Anyone who starts the day by opening the same eight websites in the same order. It is also useful on a machine that runs a few services, because one of the built-in widgets shows processor, memory and disk use without installing a separate monitoring system.

Stars37,192
LicenceAGPL-3.0
Latestv0.8.5 (2026-05-30, /releases/latest and ungh agree)
Good
  • One binary, a few megabytes, and it will happily run on the smallest rented machine you can buy.
  • The configuration is one readable YAML file, so the whole page can be kept in version control and copied somewhere else in a minute.
  • It reads normal RSS and Atom feeds, so it works with sites that have nothing to do with the project.
Watch for
  • AGPL-3.0. If you modify it and let other people use your modified copy over a network, you have to publish your changes. Running it unmodified for yourself is fine.
  • Everything is configuration. There is no click-and-drag editor, so a first page takes a little reading of the documentation.
  • The newest release is v0.8.5 from 30 May 2026, while code landed on 5 September 2026. Still before version 1.0, so settings can change between releases.
Similar repositories
Install
mkdir glance && cd glance
curl -fsSL https://raw.githubusercontent.com/glanceapp/glance/main/docs/glance.yml -o glance.yml
docker run --rm -p 8080:8080 \
  -v "$PWD/glance.yml:/app/config/glance.yml" \
  glanceapp/glance:latest
Screenshots
glanceapp/glance: GitHub preview cardglanceapp/glance: Screenshot 1glanceapp/glance: Screenshot 2glanceapp/glance: Screenshot 3

21,692 stars · AGPL-3.0, with a separately licensed commercial Enterprise Edition for single sign-on and fine-grained permissions · v1.0.4 (2026-09-24T11:57:05Z, /releases/latest and ungh agree to the minute) · Track this in Scout

Logs, metrics, traces and browser monitoring in one Rust program that stores data in a compressed columnar format on cheap object storage.

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

What it is

OpenObserve is an observability platform written in Rust that stores data in a compressed columnar format and can keep it on cheap object storage instead of fast disks. It covers logs, metrics, traces and browser-side monitoring in a single deployment.

What it is good for. Anyone running two or three services who has so far been reading logs by connecting to the machine and scrolling. It is also for anyone who priced a hosted logging service, saw what a few gigabytes a month costs, and closed the tab.

Stars21,692
LicenceAGPL-3.0, with a separately licensed commercial Enterprise Edition for single sign-on and fine-grained permissions
Latestv1.0.4 (2026-09-24T11:57:05Z, /releases/latest and ungh agree to the minute)
Good
  • One binary or one container, with no separate database, message queue or search cluster to install first.
  • It speaks OpenTelemetry, the common standard for sending this kind of data, so most programming languages already have a library that can talk to it.
  • Old data can be pushed to object storage, which is the cheapest place to keep things you will rarely read again.
Watch for
  • AGPL-3.0, and there is a separate Enterprise Edition under a commercial licence that holds single sign-on and fine-grained permissions. The free version is complete for one person or a small team; it is not the same product a company buys.
  • Searching a lot of data still wants memory. Budget 1 to 2 GB before you store anything serious.
  • The vocabulary is not simple. Logs, metrics and traces are three different things, and the screen assumes you already know which one you want.
Similar repositories
Install
docker run -d --name openobserve \
  -v "$PWD/openobserve-data:/data" \
  -p 5080:5080 \
  -e ZO_ROOT_USER_EMAIL="you@example.com" \
  -e ZO_ROOT_USER_PASSWORD="change-this-password" \
  public.ecr.aws/zinclabs/openobserve:latest
Screenshots
openobserve/openobserve: Screenshot 1openobserve/openobserve: Screenshot 2openobserve/openobserve: Screenshot 3openobserve/openobserve: Screenshot 4

7,277 (ungh); the repository page displayed 7.4k stars · GPL-3.0 · v1.14.1 (2026-07-12, /releases/latest and ungh agree) · Track this in Scout

A web screen that schedules restic backups, applies retention rules and restores single files by browsing a snapshot.

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

What it is

Backrest is a Go program that runs restic on a schedule and keeps the schedule, the repository list and the retention rules in one place. It ships as a single binary with restic as its only dependency, and it is reached in a browser on port 9898.

What it is good for. The situation where backups exist but nobody has ever tested a restore, because restoring means reading the manual again under pressure. It is also for anyone who has put off backups entirely because the good tools are all command-line tools.

Stars7,277 (ungh); the repository page displayed 7.4k
LicenceGPL-3.0
Latestv1.14.1 (2026-07-12, /releases/latest and ungh agree)
Good
  • Restoring is browsable. You open a snapshot, find the file, and download it — which is the half of backup that usually goes untested.
  • It supports the destinations restic supports, including S3-compatible storage, Azure, Backblaze B2 and a plain folder, so the copy can live off the machine.
  • Backups are encrypted and de-duplicated by restic itself, so a daily copy of 200 GB does not cost 200 GB every day.
Watch for
  • GPL-3.0. Fine to run; a problem if you wanted to build it into a closed product you distribute.
  • It is a screen on top of restic, not a replacement, so restic's rules still apply. Lose the repository password and every backup is unreadable for good.
  • The web page has no authentication switched on by default. Do not expose port 9898 to the open internet before setting a password.
Similar repositories
Install
docker run -d --name backrest \
  -v "$PWD/backrest-config:/config" \
  -v "$PWD/backrest-cache:/cache" \
  -v /path/to/the/files/you/want/copied:/userdata:ro \
  -v /path/to/where/backups/go:/repos \
  -p 9898:9898 \
  ghcr.io/garethgeorge/backrest:latest
Screenshots
garethgeorge/backrest: Screenshot 1garethgeorge/backrest: Screenshot 2garethgeorge/backrest: Screenshot 3

5,858 stars · EUPL-1.2 (modified) - the LICENSE file states 'a slightly modified version of European Union Public License (EUPL) 1.2', changing the appendix that lists compatible licences; count.js is ISC · v2.7.0 (2025-12-15, the release title carries the year and ungh agrees) · Track this in Scout

Web analytics that records a visit by hashing non-identifying details rather than storing an identifier, so it keeps no personal data and needs no cookie banner.

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

What it is

GoatCounter is a web analytics program written in Go. A visit is recorded by hashing a few non-identifying details rather than by storing an identifier, so the same person on the same day counts once without a record that can be traced back.

What it is good for. Anyone who put a large analytics script on a small site, then found themselves adding a consent banner to justify it. It is also for anyone who only ever looked at two numbers — how many people, and which page — and never used the other four hundred.

Stars5,858
LicenceEUPL-1.2 (modified) - the LICENSE file states 'a slightly modified version of European Union Public License (EUPL) 1.2', changing the appendix that lists compatible licences; count.js is ISC
Latestv2.7.0 (2025-12-15, the release title carries the year and ungh agrees)
Good
  • No cookies and no personal data, which removes an entire legal conversation for a small site.
  • The counting script is about 3 KB, against roughly fifty times that for the large hosted products, so pages stay fast.
  • It runs on SQLite, a database that is just a file, so there is nothing else to install or back up separately.
Watch for
  • The licence is EUPL-1.2 with a modification to its compatible-licence appendix, written by the author. EUPL is a real open-source licence and this is the third project in this archive to use it, but a modified licence is a licence somebody has to read.
  • The newest release is v2.7.0 from 15 December 2025 while code landed on 20 July 2026, so a release is nine months old. That is a release habit, not a sign of trouble.
  • It is deliberately simple. There are no funnels, no cohorts and no session recordings, and no plan to add them.
Similar repositories
Install
curl -fsSL -o goatcounter \
  https://github.com/arp242/goatcounter/releases/latest/download/goatcounter-linux-amd64
chmod +x goatcounter
./goatcounter db create site -vhost stats.example.com -user.email you@example.com
./goatcounter serve -listen :8081 -tls http
Screenshots
arp242/goatcounter: GitHub preview card

4,344 stars · MIT · v1.96.0 (2026-09-03, /releases/latest and ungh agree) · Track this in Scout

Reads a live database and writes its documentation as Markdown with generated diagrams, then lints the schema against rules you set.

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

What it is

tbls is a single Go binary that connects to a database and produces Markdown documentation with a diagram of every table and every relationship. It also includes a linter, so the same command can fail a build when the schema drifts from the rules you agreed.

What it is good for. Anyone who has inherited a database that nobody documented, which is almost everyone. The linting half is for a small team that keeps meaning to write column comments and never does.

Stars4,344
LicenceMIT
Latestv1.96.0 (2026-09-03, /releases/latest and ungh agree)
Good
  • Read-only. It connects, reads the structure, and writes files. There is no version where it changes your data.
  • It supports PostgreSQL, MySQL, SQLite, SQL Server, BigQuery, DynamoDB and several more, so one tool covers a mixed estate.
  • The output is Markdown and the diagrams are generated, so the documentation lives in the same place as the code and is reviewed like the code.
Watch for
  • It documents structure, not meaning. It will tell you a column is called status and an integer; it cannot tell you that 3 means refunded.
  • The rules of the linter have to be written by somebody, and an empty rule file finds nothing.
  • Diagrams of a large database are large. Past about eighty tables the single picture stops being readable and you need to split it by schema.
Similar repositories
Install
# macOS or Linux with Homebrew
brew install k1LoW/tap/tbls
# or with Go installed
go install github.com/k1LoW/tbls@latest
tbls doc "postgres://user:password@localhost:5432/mydb?sslmode=disable" ./dbdoc
Screenshots
k1LoW/tbls: GitHub preview cardk1LoW/tbls: Screenshot 1k1LoW/tbls: Screenshot 2
06

pgmoneta/pgmoneta

💎 hidden gem

319 stars · BSD-3-Clause · 0.21.0 (2026-04-29, the repository page and ungh agree) · Track this in Scout

Full and incremental PostgreSQL backups with continuous write-ahead log shipping and point-in-time recovery, written in C for low memory use.

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

What it is

pgmoneta takes full and incremental backups of PostgreSQL, ships the write-ahead log continuously, and supports point-in-time recovery — putting the database back to the state it had at a specific timestamp. It compresses and can encrypt the stored copies and exposes its own numbers for monitoring.

What it is good for. The situation where a database runs on one machine, the backup is a nightly dump, and nobody has worked out how much work would be lost if the disk failed at four in the afternoon. Point-in-time recovery turns "we lost today" into "we lost four minutes".

Stars319
LicenceBSD-3-Clause
Latest0.21.0 (2026-04-29, the repository page and ungh agree)
Good
  • Incremental backups and continuous log shipping, so the gap between the last good copy and now is minutes rather than a day.
  • Written in C with small memory use, which matters when the backup tool shares a machine with the database it is protecting.
  • BSD-3-Clause, one of the least demanding licences there is. No conditions beyond keeping the copyright notice.
Watch for
  • 319 stars. That is the smallest project in this edition, and it means fewer worked examples and fewer people who have hit your exact problem.
  • PostgreSQL only, and it expects a Unix-like system. Packages exist for RPM-based distributions; elsewhere you compile it.
  • The newest release, 0.21.0, is dated 29 April 2026 while code landed on 14 September 2026. It is still before version 1.0, so configuration can change.
Similar repositories
Install
# RPM-based systems, from the PostgreSQL YUM repository
sudo dnf install -y pgmoneta
# or from source
sudo dnf install -y git gcc cmake make libev-devel openssl-devel \
                    systemd-devel zlib-devel libzstd-devel lz4-devel libssh-devel
git clone https://github.com/pgmoneta/pgmoneta.git
cd pgmoneta && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release && make && sudo make install
07

ayoisaiah/f2

💎 hidden gem

2,432 stars · MIT · v2.2.2 (2025-11-10, the repository page and ungh agree) · Track this in Scout

Renames many files at once from a pattern, prints the full list of changes before writing anything, and can undo a rename that went wrong.

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

What it is

F2 is a cross-platform command-line renamer written in Go. It matches files by text or by pattern, can pull information out of the files themselves — such as the date a photograph was taken — and defaults to a dry run so the result is visible before anything is written.

What it is good for. Anyone with a folder of downloads, scans, invoices or camera files named by four different programs in four different ways. It is also for anyone who has once renamed a batch wrongly and spent the evening undoing it.

Stars2,432
LicenceMIT
Latestv2.2.2 (2025-11-10, the repository page and ungh agree)
Good
  • Dry run by default. You see every old name and new name, and the rename only happens when you ask a second time.
  • It has an undo. If a rename does go wrong, one command puts the names back.
  • It can read EXIF data from photographs and tags from music files, so files can be renamed by the date a picture was taken rather than by the date it was copied.
Watch for
  • The newest release, v2.2.2, is dated 10 November 2025, while code landed on 22 June 2026. The release is ten months old; the project is not.
  • It is a command-line tool. There is no window, and the pattern syntax takes twenty minutes to learn properly.
  • Renaming is not moving. It changes names in place and does not sort files into folders.
Similar repositories
Install
# with Go installed
go install github.com/ayoisaiah/f2/v2/cmd/f2@latest
# or download the binary for your system from
# https://github.com/ayoisaiah/f2/releases
# see what would happen (nothing is changed)
f2 -f 'IMG_' -r 'holiday_' .
# do it
f2 -f 'IMG_' -r 'holiday_' . -x
Screenshots
ayoisaiah/f2: GitHub preview cardayoisaiah/f2: Screenshot 1
08

mbrt/gmailctl

💎 hidden gem

2,199 stars · MIT · v0.12.0 (2026-05-19, ungh; the page summary read this as May 2025 and was wrong by a year) · Track this in Scout

Keeps Gmail filters as one declarative file written in Jsonnet, shows the difference before applying, and pushes the whole set through Google's own interface.

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

What it is

gmailctl is a Go command-line tool that turns a declarative configuration into Gmail filters through Google's own API. The configuration is written in Jsonnet, a small language that allows comments, variables and reusable pieces, so a rule used in ten filters is written once.

What it is good for. Anyone whose inbox is held together by thirty filters built up over five years, none of which they can now explain. Writing them down makes the whole set visible, reviewable and copyable to a second account.

Stars2,199
LicenceMIT
Latestv0.12.0 (2026-05-19, ungh; the page summary read this as May 2025 and was wrong by a year)
Good
  • It shows a difference before applying anything, so you can see which filters will be added, changed or removed.
  • The configuration is a file, which means it can go in version control and be restored after a mistake.
  • Variables and functions remove the repetition that makes a long filter list unreadable in the Gmail screen.
Watch for
  • The setup is the hard part. You have to create a Google Cloud project, switch on the Gmail API and download credentials before the first command works.
  • Jsonnet is another small language to learn. It is not difficult, but it is not JSON either.
  • Gmail's own limits still apply, including the cap on how many filters an account may hold.
Similar repositories
Install
# with Go installed
go install github.com/mbrt/gmailctl/cmd/gmailctl@latest
# or on macOS
brew install gmailctl
gmailctl init        # walks you through the Google API setup
gmailctl edit        # write the rules
gmailctl diff        # see what would change
gmailctl apply       # apply it

7,501 stars · MIT · v4.2.0 (2025-12-11, ungh) · Track this in Scout

Turns a folder of code into one templated prompt with a source tree and a token count, respecting the ignore rules already in the project.

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

What it is

code2prompt is a Rust command-line tool that walks a directory, respects the ignore rules already in the project, and writes the result as a single templated prompt. Templates control the shape of the output, so the same codebase can be formatted differently for different questions.

What it is good for. Anyone who asks an assistant about their own code and keeps getting answers based on half the picture. It is also useful for writing documentation from a codebase, or for producing a review request that actually contains the files being reviewed.

Stars7,501
LicenceMIT
Latestv4.2.0 (2025-12-11, ungh)
Good
  • It obeys .gitignore, so build output and dependency folders do not end up in the prompt by accident.
  • The token count is printed before you send anything, which is the difference between a question that fits and a question that is silently truncated.
  • Filters by file type and by path, so you can send only the parts that matter.
Watch for
  • A big codebase produces a prompt too large for any model. The filters are not optional on a real project; they are the job.
  • The newest release, v4.2.0, is dated 11 December 2025, while code landed on 29 June 2026 — three months ago.
  • It prepares a prompt and stops. It does not talk to any model, so you still need something to paste it into.
Similar repositories
Install
# with Rust installed
cargo install code2prompt
# or on macOS
brew install code2prompt
code2prompt . --exclude "node_modules,dist,*.lock"
Screenshots
mufeedvh/code2prompt: GitHub preview cardmufeedvh/code2prompt: Screenshot 1mufeedvh/code2prompt: Screenshot 2mufeedvh/code2prompt: Screenshot 3

19,870 (ungh; the repository page could not be opened) stars · MIT (read from the npm registry entry for @11ty/eleventy, because the repository page returned HTTP 504) · v3.1.6 (2026-06-02, ungh; npm agrees on the version) · Track this in Scout

Turns a folder of templates in any of about ten languages into finished HTML files, adding no client-side JavaScript of its own.

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

What it is

Eleventy is a static site generator written in JavaScript. It reads templates in whichever of ten or so languages you prefer — Markdown, Nunjucks, Liquid, plain HTML, JavaScript — and writes finished HTML files, adding no client-side JavaScript of its own.

What it is good for. Anyone with a blog, documentation site or small company site who is paying for hosting that runs code they do not need. A generated site can be served from free static hosting and will survive any amount of traffic.

Stars19,870 (ungh; the repository page could not be opened)
LicenceMIT (read from the npm registry entry for @11ty/eleventy, because the repository page returned HTTP 504)
Latestv3.1.6 (2026-06-02, ungh; npm agrees on the version)
Good
  • It adds no JavaScript to the finished pages unless you ask for it, so the result is genuinely light.
  • Ten template languages are supported and can be mixed in one project, so an existing site rarely has to be rewritten to move.
  • Configuration is a single JavaScript file, and the project has an unusually direct upgrade path between major versions.
Watch for
  • GitHub's own page for this repository returned HTTP 504 three times on 22 September and twice again today. The licence below was read from the npm registry, not from the repository page. Everything else here comes from the ungh mirror.
  • Needs Node.js 18 or later, so there is a runtime to install and keep patched even though the finished site has none.
  • There is no editing screen. Content is files, and a person who wants a login and a text box needs a separate content system on top.
Similar repositories
Install
mkdir mysite && cd mysite
npm init -y
npm install @11ty/eleventy --save-dev
echo "# Hello" > index.md
npx @11ty/eleventy --serve
Screenshots
11ty/eleventy: GitHub preview card

55,366 stars · GPL-2.0 · 12.1 (2026-09-15, /releases/latest and ungh agree on the tag and the timestamp) · Track this in Scout

A media server that indexes a library of video and audio, fetches artwork and descriptions, and streams to browsers, phones, televisions and set-top boxes.

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

What it is

Jellyfin is a media server written in C# that indexes a library of video and audio, fetches metadata and artwork, and streams to browsers and to client apps on televisions, phones and set-top boxes. It converts formats on the fly when a device cannot play a file directly.

What it is good for. Anyone with years of ripped discs, recorded lectures or family video on a disk somewhere, who would like to watch them the way they watch everything else. It is also the answer for a household that wants its own library without a monthly bill.

Stars55,366
LicenceGPL-2.0
Latest12.1 (2026-09-15, /releases/latest and ungh agree on the tag and the timestamp)
Good
  • The newest release is 12.1, published 15 September 2026. There is no version 11: the project dropped the leading 10. it had used since 2018, so 10.11 was followed by 12.0.
  • No subscription, no account, no tier. Every feature, including hardware-accelerated conversion, is in the free version.
  • Client apps exist for Android, iOS, Android TV, Roku, Kodi and the browser, so the library is reachable from the devices people already own.
Watch for
  • GPL-2.0. Fine to run; awkward if you wanted to bundle it inside something you sell.
  • Converting video in real time is heavy work. Without a graphics card that can help, one 4K stream can occupy an entire processor.
  • It organises what it can recognise. Files named inconsistently will be matched to the wrong film, and fixing that is manual.
Similar repositories
Install
docker run -d --name jellyfin \
  -v "$PWD/jellyfin-config:/config" \
  -v "$PWD/jellyfin-cache:/cache" \
  -v /path/to/your/media:/media:ro \
  -p 8096:8096 \
  jellyfin/jellyfin:latest
Screenshots
jellyfin/jellyfin: GitHub preview card

25,217 stars · Apache-2.0 · 1.7.0 (2026-08-26, ungh; pypi.org is blocked by robots.txt from this sandbox) · Track this in Scout

A Python library that fetches historical prices, dividends, company financial statements and option chains from Yahoo Finance and returns them as pandas dataframes.

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

What it is

yfinance is a Python library that fetches historical prices, dividends, company financial statements and option chains from Yahoo Finance's public endpoints and returns them as pandas dataframes. It handles the request details, caching and rate limiting behind one simple call.

What it is good for. The situation where you want to test an idea about markets and the first obstacle is that every data provider wants a subscription before you have written a line. It is also the quickest way to build a table of prices for a hobby portfolio.

Stars25,217
LicenceApache-2.0
Latest1.7.0 (2026-08-26, ungh; pypi.org is blocked by robots.txt from this sandbox)
Good
  • Free, and it covers shares, indices, currencies, funds and cryptocurrency in one interface.
  • The output is a pandas dataframe, so it drops straight into the rest of the Python analysis world with no conversion.
  • Very widely used, which means almost every question has been asked and answered somewhere.
Watch for
  • It is not affiliated with Yahoo, and the project says so plainly. Yahoo's terms describe the data as being for personal use, so read them before building anything commercial on top.
  • The data source is unofficial and can break. When Yahoo changes something the library stops working until a new version appears, which has happened more than once.
  • The history is not clean. Splits, dividends and delisted companies all have edge cases, and a backtest that trusts the raw numbers will flatter itself.
Similar repositories
Install
python3 -m venv venv
source venv/bin/activate
pip install yfinance
python3 -c "import yfinance as yf; print(yf.Ticker('MSFT').history(period='1mo'))"
Screenshots
ranaroussi/yfinance: GitHub preview card

Checked, and left out

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

antifuchs/gmail-britta - FINISHED. 768 stars, last code 29 October 2022, forty-seven months. New to the ledger as not-qualified, found under the comparison list for entry #8. Listed inside the edition with its date, because a dead alternative is a useful fact about a live one.

antifuchs/gmail-britta - FINISHED. 768 stars, last code 29 October 2022, forty-seven months. New to the ledger as not-qualified, found under the comparison list for entry #8. Listed inside the edition with its date, because a dead alternative is a useful fact about a live one.

laurent22/massren - FINISHED. 1,397 stars, last code 8 December 2024, twenty-one months. New to the ledger as not-qualified, found under the comparison list for entry #7.

laurent22/massren - FINISHED. 1,397 stars, last code 8 December 2024, twenty-one months. New to the ledger as not-qualified, found under the comparison list for entry #7.

jhotmann/node-rename-cli - FINISHED. 172 stars, last code 9 January 2023, forty-four months. New to the ledger as not-qualified, found under the comparison list for entry #7.

jhotmann/node-rename-cli - FINISHED. 172 stars, last code 9 January 2023, forty-four months. New to the ledger as not-qualified, found under the comparison list for entry #7.

gethomepage/homepage - ALIVE. 32,815 stars, code 23 September 2026

gethomepage/homepage - ALIVE. 32,815 stars, code 23 September 2026 (ungh). The larger, heavier answer to the job glance does; queued deliberately because glance was published today.

SigNoz/signoz - ALIVE. 32,055 stars, code 8 September 2026

SigNoz/signoz - ALIVE. 32,055 stars, code 8 September 2026 (ungh). The ClickHouse-based answer to the job openobserve does; queued deliberately because openobserve was published today.

yamadashy/repomix - ALIVE. 28,481 stars, code 23 September 2026

yamadashy/repomix - ALIVE. 28,481 stars, code 23 September 2026 (ungh). The Node.js answer to the job code2prompt does; queued deliberately because code2prompt was published today.

twopirllc/pandas-ta - COULD NOT BE SETTLED. ungh returned HTTP 404 and nothing else here can confirm it, so it was left out of the comparison list under entry #12 rather than listed unopened. Not added to the ledger.

twopirllc/pandas-ta - COULD NOT BE SETTLED. ungh returned HTTP 404 and nothing else here can confirm it, so it was left out of the comparison list under entry #12 rather than listed unopened. Not added to the ledger.

Share this edition
← PreviousNo. 29Next →
Coming tomorrow

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.