Skip to main content
The reddit source normally fetches posts from a large public Reddit archive (called Arctic Shift) over the network, which can be slow and rate-limited. If you want research to run fast or fully offline, download the slice you care about once with a small script, then point metalworks at the local copy. Is this for you? Use it if you’ll run research repeatedly over the same subreddits, need to work offline, or want to pin exactly what a run sees. The tradeoff: a local copy is a snapshot — it won’t include new posts until you re-download. For a one-off run, you don’t need this; just use the reddit source. The script is scripts/load_arctic_corpus.py in the repo. It’s standalone (standard library plus duckdb), so you can also adapt it for a different archive.

Install

This includes duckdb, which the script uses to read the archive.

Download a slice

Run python scripts/load_arctic_corpus.py --help for the full list.

What you get

A folder with one Parquet file per subreddit and month (and comments alongside, if you asked for them):

Point metalworks at it

Everything else works the same. If you didn’t download comments, the report comes back marked partial and uses the posts alone (your quotes come from comments, so they’ll be thinner) — see Comments are optional.

Other data

This script is just for Reddit. To run research over something else — your own database, an internal API, a forum — build a source or implement CorpusReader for non-archive Reddit data.