MCPcopy Index your code
hub / github.com/ArthurHeitmann/arctic_shift

github.com/ArthurHeitmann/arctic_shift @2026_05

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2026_05 ↗ · + Follow
568 symbols 604 edges 556 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Project Arctic Shift

Making Reddit data accessible to researchers, moderators and everyone else.

Interact with the data through large dumps, an API or web interface.

Downloads

All download links are organized here. Once a new dump is available, it will also be added on the releases page.

Alternatively for downloading data of users or smaller subreddits, you can use this tool.

For information on how the data was collected and modified, see here.

API

Depending on your use case, you can try my (limited) API. For manual queries, you can use this tool.

Usage

First download one more dumps from the above links.

Generally I'd recommend to work with the compressed files instead of unpacking them. Unless of course you have seemingly infinite disk space.

With the helper scripts in this repository you can quickly get started.

(You need at least Python 3.10)

  1. Clone this repository and its submodules
git clone --recursive https://github.com/ArthurHeitmann/arctic_shift.git
cd arctic_shift
  1. Install the zstandard library
pip install zstandard
  1. Open scripts/processFiles.py in your editor. That script can process .zst, .zst_blocks, .jsonl/ndjson and .json files.

  2. Enter the path to a file or folder in fileOrFolderPath (since it is a raw string, you don't have to escape backslashes). If you enter a folder, all files in that folder will be processed.

  3. Add your code to the processFile function.

  4. Run the file and be (very) patient.

Contact & Removal requests

Removal requests and generic support requests can be submitted here. To check if your data is in the dataset, search for your username here.

Removal forms of other archives: Pushshift | PullPush | potentially archive.org.

If you have questions, you can DM me on discord (raiderbv if the link doesn't work) or email. Alternatively open an issue or pull request.

Extension points exported contracts — how you extend this code

Subreddit (Interface)
(no doc)
schemas/subreddits.ts
RedditComment (Interface)
(no doc)
schemas/RC.ts
SubredditRules (Interface)
(no doc)
schemas/subreddit_rules.ts
RedditPost (Interface)
(no doc)
schemas/RS.ts
SubredditWikiPage (Interface)
(no doc)
schemas/subreddit_wikis.ts
RedditComment_2011 (Interface)
(no doc)
schemas/RC/2011.ts
Subreddit (Interface)
(no doc)
schemas/subreddits/subreddits_meta_only_2024-01.ts
RedditPost_2011 (Interface)
(no doc)
schemas/RS/2011.ts

Core symbols most depended-on inside this repo

formatTime
called by 3
scripts/utils.py
logProgress
called by 2
scripts/utils.py
yieldLinesJson
called by 2
scripts/fileStreams.py
processFile
called by 2
scripts/processFiles.py
onRow
called by 1
scripts/utils.py
getZstFileJsonStream
called by 1
scripts/fileStreams.py
getJsonLinesFileJsonStream
called by 1
scripts/fileStreams.py
getZstBlocksFileJsonStream
called by 1
scripts/fileStreams.py

Shape

Interface 553
Function 11
Method 3
Class 1

Languages

TypeScript97%
Python3%

Modules by API surface

scripts/fileStreams.py6 symbols
scripts/utils.py5 symbols
scripts/processFiles.py4 symbols
schemas/subreddits/subreddits_meta_only_2025-01.ts1 symbols
schemas/subreddits/subreddits_meta_only_2024-01.ts1 symbols
schemas/subreddits/subreddits_2025-01.ts1 symbols
schemas/subreddits/subreddits_2024-01.ts1 symbols
schemas/subreddits/subreddit_wikis_2025-01.ts1 symbols
schemas/subreddits/subreddit_rules_2025-01.ts1 symbols
schemas/subreddits.ts1 symbols
schemas/subreddit_wikis.ts1 symbols
schemas/subreddit_rules.ts1 symbols

For agents

$ claude mcp add arctic_shift \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact