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

# 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.5.tar.gz (121.3 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.5-py3-none-any.whl (133.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: epstein_files-1.0.5.tar.gz
  • Upload date:
  • Size: 121.3 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.5.tar.gz
Algorithm Hash digest
SHA256 467c98089f950509e9123228f668657893b5dfa48dea26f0bfb7d4ab21b95d42
MD5 9d1dd14113ebc148e1e474f2d54b1fc0
BLAKE2b-256 321ffaff29ad6d76047d982d9f8256ba323ec8c59b7ab538207b5b4cf99d5df4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: epstein_files-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 133.1 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2f7fd0f8eac8a463ef2de2af33458792a22ef56b7b23221639265dcc8cd6eea9
MD5 c0e261c2b79b64a49c447483687fb0f3
BLAKE2b-256 d7d63806dcab27043a668908208fe858ed5ceac1690b1ab5c99b7de8093ac7fc

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