Open-source project
the-pudding/data avatar
the-pudding/data

the-pudding/data: the datasets behind The Pudding's stories

Data sets created for stories on The Pudding, open to the public.

1,082 stars250 forksHTMLMIT

At a glance

What is it?
The the-pudding/data repository collects the data sets behind The Pudding's data journalism stories, one directory per project, with each entry listing the story, its publish date, how often the data is refreshed and where the underlying files live. It suits a reader who wants to check a claim, or reuse a dataset that someone else already cleaned.
Who is it for?
Adopt the-pudding/data if you are working with one of the covered stories and want the cleaned data rather than the raw scrape, or if you want to check the numbers behind a published visualisation. Skip it if you need a general-purpose dataset, since each directory serves one specific story and the schemas are not shared.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 95 days ago.
What is it written in?
Mainly HTML, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 7, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • the-pudding/data1,082 ★ · +2
Star history
Repository2026-10-202026-11-07
the-pudding/data1.1k1.1k

2 Stars in the last 18 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

What the repository is, and how the table is organised

This repository holds the data sets created for stories on The Pudding, open to the public. The README is almost entirely a single table, and the table is the product. It has five columns. The first is the Pudding story title, which links to the published piece. The second is the story publish date. The third is the data update frequency, and this is the column that decides whether you can treat a file as fixed. The fourth is a list of keywords for the story. And the fifth is a link to the data itself, which is sometimes a directory in this repository, sometimes a different repository entirely, and sometimes a JSON file served from the publication's own site. The primary language is recorded as HTML, the licence is MIT, the last push was on 2026-08-04, and the repository has no GitHub releases, so the commit history is the version history of the data.

The directory layout, one folder per story

The top level of the repository is a directory per project, and the names are the short slug rather than the story title. There are around forty of them, and the spread tells you what The Pudding covers. There is `birthday-effect/`, `births/`, `birth-control/` and `census-history/` for demographic work, `foundation-names/`, `makeup-shades/`, `dress-codes/`, `campaign-colors/` and `vogue/` for design and naming, `country-radio/`, `song-decay/`, `skate-music/`, `boybands/`, `one-hit-wonders/`, `names-in-songs/`, `romance-covers/`, `kidz-bop/`, `hype/`, `stand-up/` and `three-seconds/` for music, `nba-unexpected/`, `people-map/`, `people-map-uk/`, `neighborhoods/` and `pockets/` for place data, `random/` for the replication story, and `dog-shelters/`, `clutches/`, `dearabby/`, `laugh/`, `rain/`, `mow/`, `queues/`, `titletowns/`, `clinch/`, `cookies/`, `dress-codes/` and `filmordigital/` for the smaller pieces. The `cooking`-adjacent entries, `mars-weather/`, `summer-reading/` and `women-in-headlines/`, sit alongside them. The unit of organisation is the story, not the subject, which is the right choice for a newsroom and the wrong one for anyone hoping to query across topics.

Stories whose data moves, and stories whose data does not

The update frequency column is the one to read before you cite a number. Most entries say Never, which for a story about country radio or about how Kidz Bop censors songs is exactly what you want, since the analysis was fixed at publish time. Three entries say Daily. The replication story about a flawed study on randomness is updated daily, which fits a piece that invites people to submit their own results, and the Infinite Monkey Theorem experiment also updates daily, which makes sense for a project that simulates keystrokes. The newsletter project, Winning the Internet, says Sometimes, since the data there is the newsletter's own subscriber and content history. Everything else is frozen at its publish date, and the publish dates in the table run from July 2020 to July 2025, so a dataset that is five years old is labelled as such in the same row.

The data often lives somewhere else

The fifth column is where the repository's structure gets interesting, and it is a detail worth flagging before you clone anything. The link target varies by story. The Bears Will Be Boys story on kids books points at a separate repository, the-pudding/kids-book-animals, at its static assets data directory. The romance covers story points at the-pudding/romance-covers-new at a listings.csv in its src/data. The country radio story points at the-pudding/country-radio-data repository. Who's in Your Wallet points at the-pudding/banknotes repo at src/data. The I Kissed a Girl story points at the-pudding/same-gender-lyrics-viz at a data.csv, and Police Misconduct points at the-pudding/police_misconduct_pudding repo at src/assets/data. A couple of entries serve raw JSON from the publication's own site, such as the random-data raw.json and the infinite-data data.json for the Infinite Monkey Theorem experiment. So this repository is an index as much as a store, and the per-story repos are where the actual files and the code that produced them live.

One story with data from elsewhere entirely

Most entries point at a GitHub repository, but the Whole Foods x 15 Percent Pledge story is the exception. Its data link goes to a Notion page, a Whole Foods Data FAQ, rather than to a directory or a file. The story itself is also distributed differently, linking to an Instagram post rather than to a pudding.cool article, which fits a piece that was published through a partner's channel. It is a useful reminder that the table is a catalogue assembled by hand, and the format of a given row depends on where that particular dataset happened to end up. A scraper walking this table would need to handle GitHub trees, GitHub blobs, raw JSON over HTTPS and a Notion page, and the interest of a data set is not the same as the interest of a link format.

What to expect when you use one of these datasets

The value here is that the data has already been through an editor's hands, which is the difference between a raw scrape and something you can build on. The limit is that the transformation is not documented in this repository. There is no schema file, no data dictionary and no notes about the cleaning, because the repository is a README and a set of directories, and the analysis code lives with the story in the project repositories or in the published piece itself. So if you want to know what a column means, or how a name was normalised, or which rows were dropped, the answer is in the story's methodology rather than in the data folder. The MIT licence covers the files here, and the last push was on 2026-08-04, so a directory that has not changed in a while is genuinely a frozen snapshot rather than a stale one.

Editorial conclusion

Adopt the-pudding/data if you are working with one of the covered stories and want the cleaned data rather than the raw scrape, or if you want to check the numbers behind a published visualisation. Skip it if you need a general-purpose dataset, since each directory serves one specific story and the schemas are not shared. Before you rely on a file, read the update frequency column, because the entries marked Daily are the ones that move, and note that the data for several stories actually lives in other repositories, with the URLs in the table pointing at the project repo that owns the files.

Frequently asked questions

What is in the the-pudding/data repository?

The data sets created for stories on The Pudding, open to the public, with one directory per project and a README table listing each story, its publish date, the data update frequency, keywords and a link to the data.

How do I tell whether a Pudding dataset is still changing?

The table has a data update frequency column. Most entries say Never, three say Daily, including the replication story and the Infinite Monkey Theorem experiment, and the newsletter project says Sometimes.

Is all of The Pudding's data in this one repository?

No. The link column points at several separate repositories depending on the story, for example the-pudding/kids-book-animals for the kids books story, the-pudding/country-radio-data for the country radio story and the-pudding/banknotes for the wallet story, and a couple of entries serve raw JSON from the publication's own site.

What licence applies to the Pudding datasets?

The repository is MIT licensed. The last push was on 2026-08-04 and the repository has no GitHub releases, so the commit history is the version history of the data.

Official sources

  1. Issues
  2. License: MIT
  3. Project website
  4. README
  5. the-pudding/data on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/the-pudding-data.svg)](https://hysenlabs.com/projects/the-pudding-data)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/the-pudding-data.svg)](https://hysenlabs.com/projects/the-pudding-data)

Was this useful?