epstein-files 1.0.4__py3-none-any.whl → 1.0.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- epstein_files/__init__.py +24 -25
- epstein_files/count_words.py +72 -0
- epstein_files/documents/document.py +1 -2
- epstein_files/documents/email.py +15 -10
- epstein_files/documents/json_file.py +4 -4
- epstein_files/documents/messenger_log.py +2 -1
- epstein_files/documents/other_file.py +2 -2
- epstein_files/epstein_files.py +40 -40
- epstein_files/util/constant/output_files.py +20 -4
- epstein_files/util/constant/strings.py +8 -8
- epstein_files/util/constant/urls.py +6 -21
- epstein_files/util/constants.py +19 -18
- epstein_files/util/doc_cfg.py +3 -1
- epstein_files/util/env.py +35 -30
- epstein_files/util/highlighted_group.py +4 -3
- epstein_files/util/output.py +29 -16
- epstein_files/util/rich.py +56 -28
- epstein_files/util/word_count.py +10 -10
- {epstein_files-1.0.4.dist-info → epstein_files-1.0.6.dist-info}/METADATA +37 -18
- epstein_files-1.0.6.dist-info/RECORD +34 -0
- {epstein_files-1.0.4.dist-info → epstein_files-1.0.6.dist-info}/entry_points.txt +1 -1
- epstein_files-1.0.4.dist-info/RECORD +0 -33
- {epstein_files-1.0.4.dist-info → epstein_files-1.0.6.dist-info}/LICENSE +0 -0
- {epstein_files-1.0.4.dist-info → epstein_files-1.0.6.dist-info}/WHEEL +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: epstein-files
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.6
|
|
4
4
|
Summary: Tools for working with the Jeffrey Epstein documents released in November 2025.
|
|
5
5
|
Home-page: https://michelcrypt4d4mus.github.io/epstein_text_messages/
|
|
6
6
|
License: GPL-3.0-or-later
|
|
@@ -32,6 +32,8 @@ Description-Content-Type: text/markdown
|
|
|
32
32
|
|
|
33
33
|
# I Made Epstein's Text Messages Great Again
|
|
34
34
|
|
|
35
|
+

|
|
36
|
+
|
|
35
37
|
* [I Made Epstein's Text Messages Great Again (And You Should Read Them)](https://cryptadamus.substack.com/p/i-made-epsteins-text-messages-great) post on [Substack](https://cryptadamus.substack.com/p/i-made-epsteins-text-messages-great)
|
|
36
38
|
* The Epstein text messages (and some of the emails along with summary information) generated by this code can be viewed [here](https://michelcrypt4d4mus.github.io/epstein_text_messages/).
|
|
37
39
|
* 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](https://michelcrypt4d4mus.github.io/epstein_text_messages/all_emails_epstein_files_nov_2025.html).
|
|
@@ -40,27 +42,44 @@ Description-Content-Type: text/markdown
|
|
|
40
42
|
* 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](./epstein_files/util/constants.py). Everything in `constants.py` appears in the JSON metadata linked above.
|
|
41
43
|
|
|
42
44
|
|
|
43
|
-
|
|
44
|
-
1. Requires you have a local copy of OCR text from the House Oversight document
|
|
45
|
-
1. Dependencies are in [pyproject.toml](./pyproject.toml). Use `poetry install` for easiest time installing. `pip install
|
|
45
|
+
## Usage
|
|
46
|
+
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](https://drive.google.com/drive/folders/1ldncvdqIf6miiskDp_EDuGSDAaI_fJx8).
|
|
47
|
+
1. Dependencies are in [pyproject.toml](./pyproject.toml). Use `poetry install` for easiest time installing. `pip install epstein-files` should also work, though `pipx install epstein-files` is usually better.
|
|
48
|
+
|
|
49
|
+
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`](./.env.example) (which will set it permanently) or you can run with:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
EPSTEIN_DOCS_DIR=/path/to/epstein/ocr_txt_files epstein_generate --help
|
|
53
|
+
```
|
|
46
54
|
|
|
47
|
-
|
|
55
|
+
All the tools that come with the package require `EPSTEIN_DOCS_DIR` to be set. These are the available tools:
|
|
48
56
|
|
|
49
57
|
```bash
|
|
50
58
|
# Generate color highlighted texts/emails/other files
|
|
51
|
-
|
|
59
|
+
epstein_generate
|
|
60
|
+
|
|
61
|
+
# Search for a string:
|
|
62
|
+
epstein_search Bannon
|
|
63
|
+
# Or a regex:
|
|
64
|
+
epstein_search '\bSteve\s*Bannon\b'
|
|
52
65
|
|
|
53
|
-
#
|
|
54
|
-
|
|
66
|
+
# Show a file with color highlighting of keywords
|
|
67
|
+
epstein_show 030999
|
|
68
|
+
# Show both the highlighted and raw versions of the file:
|
|
69
|
+
epstein_show --raw 030999
|
|
70
|
+
# This also works:
|
|
71
|
+
epstein_show HOUSE_OVERSIGHT_030999
|
|
55
72
|
|
|
56
|
-
#
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
73
|
+
# Count words used by Epstein and Bannon
|
|
74
|
+
epstein_word_count --name 'Jeffrey Epstein' --name 'Steve Bannon'
|
|
75
|
+
|
|
76
|
+
# Diff two epstein files after all the cleanup (stripping BOMs, matching newline chars, etc):
|
|
77
|
+
epstein_diff 030999 020442
|
|
60
78
|
```
|
|
61
79
|
|
|
80
|
+
The first time you run anything it will take a few minutes to fix all the data, attribute the redacted emails, etc.
|
|
62
81
|
Run `epstein_generate --help` for command line option assistance.
|
|
63
|
-
|
|
82
|
+
|
|
64
83
|
|
|
65
84
|
#### As A Library
|
|
66
85
|
```python
|
|
@@ -69,18 +88,18 @@ epstein_files = EpsteinFiles.get_files()
|
|
|
69
88
|
|
|
70
89
|
# All files
|
|
71
90
|
for document in epstein_files.all_documents():
|
|
72
|
-
do_stuff()
|
|
91
|
+
do_stuff(document)
|
|
73
92
|
|
|
74
93
|
# Emails
|
|
75
94
|
for email in epstein_files.emails:
|
|
76
|
-
do_stuff()
|
|
95
|
+
do_stuff(email)
|
|
77
96
|
|
|
78
97
|
# iMessage Logs
|
|
79
98
|
for imessage_log in epstein_files.imessage_logs:
|
|
80
|
-
do_stuff()
|
|
99
|
+
do_stuff(imessage_log)
|
|
81
100
|
|
|
82
101
|
# Other Files
|
|
83
|
-
for
|
|
84
|
-
do_stuff()
|
|
102
|
+
for file in epstein_files.other_files:
|
|
103
|
+
do_stuff(file)
|
|
85
104
|
```
|
|
86
105
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
epstein_files/__init__.py,sha256=w68EUhAzri8a_c9HggKMfoHTvPbVAO-u3NuHVizDc7U,4940
|
|
2
|
+
epstein_files/count_words.py,sha256=i1pYaQzX7b9S3pyV3RM_8asbQJ1PEk8wJgLOG6Mf0D8,2966
|
|
3
|
+
epstein_files/documents/communication.py,sha256=SunZdjMhR9v6y8LlQ6jhIu8vYjSndaBK0Su1mKnhfj0,2060
|
|
4
|
+
epstein_files/documents/document.py,sha256=BUaioSvOmfsR-ULa6hJy3WYg-hBDC-kqafUheMJ-jFY,16665
|
|
5
|
+
epstein_files/documents/email.py,sha256=jLr20lJPagAv3USE7GLY6f9neKCFWIBqeXgy1liJ6XE,38414
|
|
6
|
+
epstein_files/documents/emails/email_header.py,sha256=wkPfSLbmzkAeQwvhf0bAeFDLPbQT-EeG0v8vNNLYktM,7502
|
|
7
|
+
epstein_files/documents/imessage/text_message.py,sha256=wfWPQhwGG5Yzyhbr1NAQAY0bzRjjqVZmh8SPl48XmAM,3025
|
|
8
|
+
epstein_files/documents/json_file.py,sha256=1Cx_3uM38Dwgrbs8fU55TUZKSrCsmd4QpHKWtfWdudw,1089
|
|
9
|
+
epstein_files/documents/messenger_log.py,sha256=DHlQpbLbMITMpMtCYk2vcRc7-CTvYvOXql-9nDUc3tQ,5887
|
|
10
|
+
epstein_files/documents/other_file.py,sha256=NdVlCYcyzHvOInReqF-zvHJI1hwtzMWW9ekDojHIb4U,9091
|
|
11
|
+
epstein_files/epstein_files.py,sha256=EEx8Auwv8z0FkRrCi7wE8iuuRQd6K1rQDMc2vdbrsh4,18298
|
|
12
|
+
epstein_files/util/constant/common_words.py,sha256=aR0UjoWmxyR49XS-DtHECQ1CiA_bK8hNP6CQ1TS9yZA,3696
|
|
13
|
+
epstein_files/util/constant/html.py,sha256=9U098TGzlghGg4WfxLYHyub5JGR17Dv7VP5i2MSu8Kk,1415
|
|
14
|
+
epstein_files/util/constant/names.py,sha256=iwnFqIceffYyLj7AaCsh3uve4Y0WbsZvHukjA1aFJWY,10104
|
|
15
|
+
epstein_files/util/constant/output_files.py,sha256=BkV4_gmdj46RfGy5SFYp6dgTty3FtlBth5YGmaGutls,1700
|
|
16
|
+
epstein_files/util/constant/strings.py,sha256=FDtksfH50PSxtSBw9XhmqxtrgRgGxdIvGiAR2bbPpu4,1899
|
|
17
|
+
epstein_files/util/constant/urls.py,sha256=0IdCVVvXib0i-4TZFkVHoS4zCbjOBZWcr6NkGxsmQWM,4981
|
|
18
|
+
epstein_files/util/constants.py,sha256=MsWZQs3qd9N1HlgC7MoSKRF6ssbmWlUXX49REsp3qQs,110867
|
|
19
|
+
epstein_files/util/data.py,sha256=xwTqrbAi7ZDJM0iyFVOevnokP_oIQ2npkRjHzF1KGGY,2908
|
|
20
|
+
epstein_files/util/doc_cfg.py,sha256=5Pb__bP00mKi9ACv33omZQA-TBzumc7D2Td_Mk4M5DY,9822
|
|
21
|
+
epstein_files/util/env.py,sha256=qAj_ueYwlfmw1oeKaW3VYSf0VP_DZcN2CFsu5hab_ig,5011
|
|
22
|
+
epstein_files/util/file_helper.py,sha256=v_bE10MHEcXti9DVJo4WqyOsG83Xrv05S3Vc70cYJkk,3082
|
|
23
|
+
epstein_files/util/highlighted_group.py,sha256=L7R63oyDG_lQ9Vv5gB_rRwJgHS2sdMfXHs9xcuDzqdc,35667
|
|
24
|
+
epstein_files/util/logging.py,sha256=b9iCTQkpAxu_3HphM5wm7VuPbWj9tocTuyUvMUTaI5A,2137
|
|
25
|
+
epstein_files/util/output.py,sha256=siGbVIudA5hhHjekJw-OONCkrDPCqJXvy1QmkdDF1EU,7699
|
|
26
|
+
epstein_files/util/rich.py,sha256=rdHzn4XRB2erQSf2yYyPakRmd9ixqBUdS8-BVOUAXnE,14603
|
|
27
|
+
epstein_files/util/search_result.py,sha256=1fxe0KPBQXBk4dLfu6m0QXIzYfZCzvaSkWqvghJGzxY,567
|
|
28
|
+
epstein_files/util/timer.py,sha256=8hxW4Y1JcTUfnBrHh7sL2pM9xu1sL4HFQM4CmmzTarU,837
|
|
29
|
+
epstein_files/util/word_count.py,sha256=eGzcsoAvMcutRUFOJnVuEp9_28H74to7T9jTdGUZnuI,6757
|
|
30
|
+
epstein_files-1.0.6.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
31
|
+
epstein_files-1.0.6.dist-info/METADATA,sha256=FDiTv_Eii6pC_Ge3Xc3bUp0NiLZanWotVRq-XZLRilM,5546
|
|
32
|
+
epstein_files-1.0.6.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
|
|
33
|
+
epstein_files-1.0.6.dist-info/entry_points.txt,sha256=5qYgwAXpxegeAicD_rzda_trDRnUC51F5UVDpcZ7j6Q,240
|
|
34
|
+
epstein_files-1.0.6.dist-info/RECORD,,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[console_scripts]
|
|
2
2
|
epstein_diff=epstein_files:epstein_diff
|
|
3
|
-
epstein_dump_urls=epstein_files:epstein_dump_urls
|
|
4
3
|
epstein_generate=epstein_files:generate_html
|
|
5
4
|
epstein_search=epstein_files:epstein_search
|
|
6
5
|
epstein_show=epstein_files:epstein_show
|
|
6
|
+
epstein_word_count=epstein_files:epstein_word_count
|
|
7
7
|
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
epstein_files/__init__.py,sha256=ovNZSEnsLnGahLlDZIai9jC6ZWo7RFd79KstrOGwJak,4861
|
|
2
|
-
epstein_files/documents/communication.py,sha256=SunZdjMhR9v6y8LlQ6jhIu8vYjSndaBK0Su1mKnhfj0,2060
|
|
3
|
-
epstein_files/documents/document.py,sha256=s6k3qqZ9pnAWBqkm45o1T4nTIUth1No2jxhiYTF3jpI,16732
|
|
4
|
-
epstein_files/documents/email.py,sha256=QRlOE3OIu_o4AU7o3XuBMzVTTV3OZCajEXpbIZUdsck,38211
|
|
5
|
-
epstein_files/documents/emails/email_header.py,sha256=wkPfSLbmzkAeQwvhf0bAeFDLPbQT-EeG0v8vNNLYktM,7502
|
|
6
|
-
epstein_files/documents/imessage/text_message.py,sha256=wfWPQhwGG5Yzyhbr1NAQAY0bzRjjqVZmh8SPl48XmAM,3025
|
|
7
|
-
epstein_files/documents/json_file.py,sha256=Vf9iHiEhUqk-hEh6lGZX_mJNWZUUQWeT-UI3FhKW0hw,1101
|
|
8
|
-
epstein_files/documents/messenger_log.py,sha256=rOSy5yMerYBQ2r_o4SvuJ7Oeu-KhZVIIlh_Csb6uar0,5860
|
|
9
|
-
epstein_files/documents/other_file.py,sha256=aD1nFkwsQ1eKb9Li1xfqEGGbqhkQlpR-6vIt5GHMyk8,9087
|
|
10
|
-
epstein_files/epstein_files.py,sha256=XLyit5LmICnP44XoQWHUgMpRLS1-QgJZDaxO15qUnsI,18349
|
|
11
|
-
epstein_files/util/constant/common_words.py,sha256=aR0UjoWmxyR49XS-DtHECQ1CiA_bK8hNP6CQ1TS9yZA,3696
|
|
12
|
-
epstein_files/util/constant/html.py,sha256=9U098TGzlghGg4WfxLYHyub5JGR17Dv7VP5i2MSu8Kk,1415
|
|
13
|
-
epstein_files/util/constant/names.py,sha256=iwnFqIceffYyLj7AaCsh3uve4Y0WbsZvHukjA1aFJWY,10104
|
|
14
|
-
epstein_files/util/constant/output_files.py,sha256=B2qEXfNI_gT2Vp5HGSld2xM0PfeZ27j65HNymSmyzX4,974
|
|
15
|
-
epstein_files/util/constant/strings.py,sha256=RBWJQnOXqBba8TwmjpvtkY8Jt54aFt4LYajoR8RanDk,1917
|
|
16
|
-
epstein_files/util/constant/urls.py,sha256=2AM7AUqJQcNjCLrB6bKdh2sMtBOn7u8a8mwNq6HC0Zk,5621
|
|
17
|
-
epstein_files/util/constants.py,sha256=GxI7RcnRgR8rDH4-dPrLlUH7q6mnhg5oK7ks56ZmpkA,110796
|
|
18
|
-
epstein_files/util/data.py,sha256=xwTqrbAi7ZDJM0iyFVOevnokP_oIQ2npkRjHzF1KGGY,2908
|
|
19
|
-
epstein_files/util/doc_cfg.py,sha256=I-n7_77hcA5DHGcqXISEjXOiTjYnTCLS7E16PUYw2kw,9736
|
|
20
|
-
epstein_files/util/env.py,sha256=mvYy3Kj576aULU6E7NPuN-5ZEVOn0Zb4HAwR8VOmUMo,4839
|
|
21
|
-
epstein_files/util/file_helper.py,sha256=v_bE10MHEcXti9DVJo4WqyOsG83Xrv05S3Vc70cYJkk,3082
|
|
22
|
-
epstein_files/util/highlighted_group.py,sha256=He6LDIhcT_YZyAkGHcOR-T_znACoEyNznKWOKH4lA40,35564
|
|
23
|
-
epstein_files/util/logging.py,sha256=b9iCTQkpAxu_3HphM5wm7VuPbWj9tocTuyUvMUTaI5A,2137
|
|
24
|
-
epstein_files/util/output.py,sha256=k4HrOKvP6Os0-LrxVRiNKk7Pw9M3RxrlYP2Eql7TFIA,7366
|
|
25
|
-
epstein_files/util/rich.py,sha256=x81QievKngC0oxsCpHRxKhjFstZ5hBVx91nFy63g_RQ,13709
|
|
26
|
-
epstein_files/util/search_result.py,sha256=1fxe0KPBQXBk4dLfu6m0QXIzYfZCzvaSkWqvghJGzxY,567
|
|
27
|
-
epstein_files/util/timer.py,sha256=8hxW4Y1JcTUfnBrHh7sL2pM9xu1sL4HFQM4CmmzTarU,837
|
|
28
|
-
epstein_files/util/word_count.py,sha256=XTINgLm01jFQlNgdiLCcVFCodXAIb1dNbaAvznoRb1o,6757
|
|
29
|
-
epstein_files-1.0.4.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
30
|
-
epstein_files-1.0.4.dist-info/METADATA,sha256=0_21zSew4FH6uTlcNitaX9yU3jtXiscsdV0fOP98ccA,5042
|
|
31
|
-
epstein_files-1.0.4.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
|
|
32
|
-
epstein_files-1.0.4.dist-info/entry_points.txt,sha256=EV9qTh_n9X_1MOiQnxG5hM6R5v0rfi8W4QE-bsZkw3o,238
|
|
33
|
-
epstein_files-1.0.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|