Skip to main content

Tools for working with the Jeffrey Epstein documents released in November 2025.

Project description

I Made Epstein's Text Messages Great Again

joi_ito

  • I Made Epstein's Text Messages Great Again (And You Should Read Them) post on Substack
  • The Epstein text messages (and some of the emails along with summary information) generated by this code can be viewed here.
  • All of His Emails along with descriptions of the 496 files that were neither emails nor text messages can be read at another page also generated by this code.
  • Word counts for the communications are here.
  • Metadata containing what I have figured out about who sent or received the communications in a given file (and a brief explanation for how I figured it out for each file) is deployed here
  • Configuration variables assigning specific HOUSE_OVERSIGHT_XXXXXX.txt file IDs (the 111111 part) as being emails to or from particular people based on various research and contributions can be found in constants.py. Everything in constants.py appears in the JSON metadata linked above.

Usage

  1. Requires you have a local copy of the OCR text files from the House Oversight document release in a directory /path/to/epstein/ocr_txt_files. You can download those OCR text files from the Congressional Google Drive folder.
  2. Dependencies are in pyproject.toml. Use poetry install for easiest time installing. pip install epstein-files should also work, though pipx install epstein-files is usually better.

You need to set the EPSTEIN_DOCS_DIR environment variable with the path to the folder of files you just downloaded when running. You can either create a .env file modeled on .env.example (which will set it permanently) or you can run with:

EPSTEIN_DOCS_DIR=/path/to/epstein/ocr_txt_files epstein_generate --help

All the tools that come with the package require EPSTEIN_DOCS_DIR to be set. These are the available tools:

# Generate color highlighted texts/emails/other files
epstein_generate

# Search for a string:
epstein_search Bannon
# Or a regex:
epstein_search '\bSteve\s*Bannon\b'

# Show a file with color highlighting of keywords
epstein_show 030999
# Show both the highlighted and raw versions of the file:
epstein_show --raw 030999
# This also works:
epstein_show HOUSE_OVERSIGHT_030999

# Count words used by Epstein and Bannon
epstein_word_count --name 'Jeffrey Epstein' --name 'Steve Bannon'

# Diff two epstein files after all the cleanup (stripping BOMs, matching newline chars, etc):
epstein_diff 030999 020442

The first time you run anything it will take a few minutes to fix all the data, attribute the redacted emails, etc. Run epstein_generate --help for command line option assistance.

As A Library

from epstein_files.epstein_files import EpsteinFiles
epstein_files = EpsteinFiles.get_files()

# All files
for document in epstein_files.all_documents():
    do_stuff(document)

# Emails
for email in epstein_files.emails:
    do_stuff(email)

# iMessage Logs
for imessage_log in epstein_files.imessage_logs:
    do_stuff(imessage_log)

# Other Files
for file in epstein_files.other_files:
    do_stuff(file)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

epstein_files-1.0.6.tar.gz (122.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

epstein_files-1.0.6-py3-none-any.whl (134.7 kB view details)

Uploaded Python 3

File details

Details for the file epstein_files-1.0.6.tar.gz.

File metadata

  • Download URL: epstein_files-1.0.6.tar.gz
  • Upload date:
  • Size: 122.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.11 Darwin/22.6.0

File hashes

Hashes for epstein_files-1.0.6.tar.gz
Algorithm Hash digest
SHA256 b1d514633b06d4bac9587adb3ec73e0949596bb09cd5ed32555e0ad882169c3f
MD5 099430f9117f07f632aa546084d732b7
BLAKE2b-256 6eb4cc85b8628d2bd8c28d44a538d3134c9c10664338b95c96d25c1e73df1359

See more details on using hashes here.

File details

Details for the file epstein_files-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: epstein_files-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 134.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.11 Darwin/22.6.0

File hashes

Hashes for epstein_files-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1895a7eb33f6932b17000a87e15b4dd558a5a8361a8040abd544eb622bb4ceee
MD5 25427d9449668aa07fa26926c19458be
BLAKE2b-256 150b211017ce94a1e33e16c282687983055e2631082dd8d1ac126a7cd14fe926

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page