epstein-files 1.2.0__py3-none-any.whl → 1.2.5__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.
@@ -33,7 +33,7 @@ LOG_LEVEL_ENV_VAR = 'LOG_LEVEL'
33
33
  # Augment the standard log highlighter with 'epstein_filename' matcher
34
34
  class LogHighlighter(ReprHighlighter):
35
35
  highlights = ReprHighlighter.highlights + [
36
- *[fr"(?P<{doc_type}>{doc_type}(Cfg)?)" for doc_type in DOC_TYPE_STYLES.keys()],
36
+ *[fr"(?P<{doc_type}>{doc_type}(Cfg|s)?)" for doc_type in DOC_TYPE_STYLES.keys()],
37
37
  "(?P<epstein_filename>" + FILE_NAME_REGEX.pattern + ')',
38
38
  ]
39
39
 
@@ -5,7 +5,7 @@ from typing import cast
5
5
  from rich.padding import Padding
6
6
 
7
7
  from epstein_files.documents.document import Document
8
- from epstein_files.documents.email import Email
8
+ from epstein_files.documents.email import INTERESTING_TRUNCATION_LENGTHS, Email
9
9
  from epstein_files.documents.messenger_log import MessengerLog
10
10
  from epstein_files.documents.other_file import FIRST_FEW_LINES, OtherFile
11
11
  from epstein_files.epstein_files import EpsteinFiles, count_by_month
@@ -18,7 +18,7 @@ from epstein_files.util.constant.strings import AUTHOR, TIMESTAMP_STYLE
18
18
  from epstein_files.util.data import dict_sets_to_lists, uniquify
19
19
  from epstein_files.util.env import args
20
20
  from epstein_files.util.file_helper import log_file_write
21
- from epstein_files.util.logging import logger
21
+ from epstein_files.util.logging import logger, exit_with_error
22
22
  from epstein_files.util.rich import *
23
23
 
24
24
  DEVICE_SIGNATURE_SUBTITLE = f"Email [italic]Sent from \\[DEVICE][/italic] Signature Breakdown"
@@ -40,15 +40,15 @@ DEFAULT_EMAILERS = [
40
40
  STEVEN_HOFFENBERG,
41
41
  MASHA_DROKOVA,
42
42
  EHUD_BARAK,
43
- MARTIN_NOWAK,
44
43
  STEVE_BANNON,
45
44
  TYLER_SHEARS,
46
45
  JIDE_ZEITLIN,
47
46
  CHRISTINA_GALBRAITH,
48
- DAVID_STERN,
49
47
  MOHAMED_WAHEED_HASSAN,
50
48
  JENNIFER_JACQUET,
51
49
  ZUBAIR_KHAN,
50
+ ROSS_GOW,
51
+ DAVID_BLAINE,
52
52
  None,
53
53
  JEFFREY_EPSTEIN,
54
54
  ]
@@ -56,17 +56,31 @@ DEFAULT_EMAILERS = [
56
56
  INTERESTING_EMAIL_IDS = [
57
57
  '032229', # Michael Wolff on strategy
58
58
  '028784', # seminars: Money / Power
59
- '029342', # Hakeem Jeffries
60
- '023454', # Email invitation sent to tech CEOs + Epstein
61
59
  '030630', # 'What happens with zubair's project?'
62
60
  '033178', # 'How is it going with Zubair?'
63
61
  '022396', # Ukraine friend
64
62
  '026505', # I know how dirty trump is
65
63
  '029679', # Trump's driver was the bag man
66
- '030781', '026258', '026260', # Bannon cripto coin issues
67
- '023627', # Michael Wolff article w/Brock
64
+ '026258', '026260', # Bannon cripto coin issues
68
65
  '032359', # Jabor e-currency
69
- #'023208', # Extremely long Leon Black email chain
66
+ '031451', '031596', # "would you like photso of donald and girls in bikinis in my kitchen."
67
+ '031601', # Old gf i gave to donald
68
+ '030727', # David Stern "Death of chinese shareholder quite an issue. What can we do with Qataris here?"
69
+ '030725', # David Stern in Moscow
70
+ '029098', # Nowak, "her Skype contact is in moscow."
71
+ '030714', # Bannon, Russian Dugan shout out
72
+ '031659', # "i have met some very bad people „ none as bad as trump"
73
+ ]
74
+
75
+ for id in INTERESTING_TRUNCATION_LENGTHS:
76
+ if id not in INTERESTING_EMAIL_IDS:
77
+ logger.debug(f"Adding INTERESTING_TRUNCATION_LENGTHS ID {id} to INTERESTING_EMAIL_IDS")
78
+ INTERESTING_EMAIL_IDS.append(id)
79
+
80
+
81
+ INTERESTING_TEXT_IDS = [
82
+ '027275', # "Crypto- Kerry- Qatar -sessions"
83
+ '027165', # melaniee walker crypto health
70
84
  ]
71
85
 
72
86
 
@@ -83,11 +97,17 @@ def print_email_timeline(epstein_files: EpsteinFiles) -> None:
83
97
  console.print(email)
84
98
 
85
99
 
86
- def print_emailers_info_png(epstein_files: EpsteinFiles) -> None:
100
+ def print_emailers_info(epstein_files: EpsteinFiles) -> None:
101
+ """Print tbe summary table of everyone in the files to an image."""
87
102
  print_color_key()
88
103
  console.line()
89
104
  all_emailers = sorted(epstein_files.emailers(), key=lambda person: person.sort_key())
90
- console.print(Person.emailer_info_table(all_emailers))
105
+ console.print(Person.emailer_info_table(all_emailers, show_epstein_total=True))
106
+
107
+ if not args.build:
108
+ logger.warning(f"Not writing .png file because --build is not set")
109
+ return
110
+
91
111
  svg_path = f"{EMAILERS_TABLE_PNG_PATH}.svg"
92
112
  console.save_svg(svg_path, theme=HTML_TERMINAL_THEME, title="Epstein Emailers")
93
113
  log_file_write(svg_path)
@@ -106,7 +126,10 @@ def print_emails_section(epstein_files: EpsteinFiles) -> list[Email]:
106
126
  people_to_print: list[Person]
107
127
 
108
128
  if args.names:
109
- people_to_print = epstein_files.person_objs(args.names)
129
+ try:
130
+ people_to_print = epstein_files.person_objs(args.names)
131
+ except Exception as e:
132
+ exit_with_error(str(e))
110
133
  else:
111
134
  if args.all_emails:
112
135
  people_to_print = all_emailers
@@ -140,17 +163,17 @@ def print_emails_section(epstein_files: EpsteinFiles) -> list[Email]:
140
163
  print_subtitle_panel(OTHER_INTERESTING_EMAILS_SUBTITLE)
141
164
  console.line()
142
165
 
143
- for other_email in extra_emails:
166
+ for other_email in Document.sort_by_timestamp(extra_emails):
144
167
  console.print(other_email)
145
168
  printed_emails.append(cast(Email, other_email))
146
169
 
147
170
  if args.all_emails:
148
171
  _verify_all_emails_were_printed(epstein_files, printed_emails)
149
172
 
150
- _print_email_device_info(epstein_files)
173
+ _print_email_device_signature_info(epstein_files)
151
174
  fwded_articles = [e for e in printed_emails if e.config and e.is_fwded_article()]
152
175
  log_msg = f"Rewrote {len(Email.rewritten_header_ids)} of {len(printed_emails)} email headers"
153
- logger.warning(f"{log_msg}, {len(fwded_articles)} of the emails were forwarded articles.")
176
+ logger.warning(f" -> {log_msg}, {len(fwded_articles)} of the Emails printed were forwarded articles.")
154
177
  return printed_emails
155
178
 
156
179
 
@@ -193,22 +216,30 @@ def print_json_stats(epstein_files: EpsteinFiles) -> None:
193
216
  print_json("count_by_month", count_by_month(epstein_files.all_documents()))
194
217
 
195
218
 
196
- def print_other_files_section(files: list[OtherFile], epstein_files: EpsteinFiles) -> None:
219
+ def print_other_files_section(epstein_files: EpsteinFiles) -> list[OtherFile]:
197
220
  """Returns the OtherFile objects that were interesting enough to print."""
221
+ if args.uninteresting:
222
+ files = [f for f in epstein_files.other_files if not f.is_interesting()]
223
+ else:
224
+ files = [f for f in epstein_files.other_files if args.all_other_files or f.is_interesting()]
225
+
198
226
  title_pfx = '' if args.all_other_files else 'Selected '
199
- category_table = OtherFile.count_by_category_table(files, title_pfx=title_pfx)
227
+ category_table = OtherFile.summary_table(files, title_pfx=title_pfx)
200
228
  other_files_preview_table = OtherFile.files_preview_table(files, title_pfx=title_pfx)
201
229
  print_section_header(f"{FIRST_FEW_LINES} of {len(files)} {title_pfx}Files That Are Neither Emails Nor Text Messages")
202
230
  print_other_page_link(epstein_files)
203
231
  print_centered(Padding(category_table, (2, 0)))
204
232
  console.print(other_files_preview_table)
233
+ return files
205
234
 
206
235
 
207
- def print_text_messages_section(imessage_logs: list[MessengerLog]) -> None:
236
+ def print_text_messages_section(epstein_files: EpsteinFiles) -> list[MessengerLog]:
208
237
  """Print summary table and stats for text messages."""
238
+ imessage_logs = [log for log in epstein_files.imessage_logs if not args.names or log.author in args.names]
239
+
209
240
  if not imessage_logs:
210
- logger.warning(f"No MessengerLog objects to output...")
211
- return
241
+ logger.warning(f"No MessengerLogs found for {args.names}")
242
+ return imessage_logs
212
243
 
213
244
  print_section_header('All of His Text Messages')
214
245
  print_centered("(conversations are sorted chronologically based on timestamp of first message in the log file)", style='dim')
@@ -222,6 +253,8 @@ def print_text_messages_section(imessage_logs: list[MessengerLog]) -> None:
222
253
  console.print(Padding(log_file))
223
254
  console.line(2)
224
255
 
256
+ return imessage_logs
257
+
225
258
 
226
259
  def write_urls() -> None:
227
260
  """Write _URL style constant variables to URLS_ENV file so bash scripts can load as env vars."""
@@ -245,7 +278,7 @@ def write_urls() -> None:
245
278
  logger.warning(f"Wrote {len(url_vars)} URL variables to '{URLS_ENV}'\n")
246
279
 
247
280
 
248
- def _print_email_device_info(epstein_files: EpsteinFiles) -> None:
281
+ def _print_email_device_signature_info(epstein_files: EpsteinFiles) -> None:
249
282
  print_subtitle_panel(DEVICE_SIGNATURE_SUBTITLE)
250
283
  console.print(_signature_table(epstein_files.email_device_signatures_to_authors(), (DEVICE_SIGNATURE, AUTHOR), ', '))
251
284
  console.print(_signature_table(epstein_files.email_authors_to_device_signatures(), (AUTHOR, DEVICE_SIGNATURE)))
@@ -70,7 +70,7 @@ CONSOLE_ARGS = {
70
70
  'color_system': '256',
71
71
  'highlighter': EpsteinHighlighter(),
72
72
  'record': args.build,
73
- 'safe_box': False,
73
+ 'safe_box': True,
74
74
  'theme': Theme(THEME_STYLES),
75
75
  'width': args.width,
76
76
  }
@@ -83,21 +83,21 @@ console = Console(**CONSOLE_ARGS)
83
83
  highlighter = CONSOLE_ARGS['highlighter']
84
84
 
85
85
 
86
- def add_cols_to_table(table: Table, col_names: list[str | dict]) -> None:
86
+ def add_cols_to_table(table: Table, cols: list[str | dict], justify: str = 'center') -> None:
87
87
  """Left most col will be left justified, rest are center justified."""
88
- for i, col in enumerate(col_names):
89
- justify='left' if i == 0 else 'center'
88
+ for i, col in enumerate(cols):
89
+ col_justify = 'left' if i == 0 else justify
90
90
 
91
91
  if isinstance(col, dict):
92
92
  col_name = col['name']
93
- kwargs = deepcopy(col)
94
- kwargs['justify'] = kwargs.get('justify', justify)
95
- del kwargs['name']
93
+ col_kwargs = deepcopy(col)
94
+ col_kwargs['justify'] = col_kwargs.get('justify', col_justify)
95
+ del col_kwargs['name']
96
96
  else:
97
97
  col_name = col
98
- kwargs = {'justify': justify}
98
+ col_kwargs = {'justify': col_justify}
99
99
 
100
- table.add_column(col_name, **kwargs)
100
+ table.add_column(col_name, **col_kwargs)
101
101
 
102
102
 
103
103
  def build_highlighter(pattern: str) -> EpsteinHighlighter:
@@ -187,7 +187,7 @@ def print_title_page_header() -> None:
187
187
  Text.from_markup(link_markup(other_site_url(), other_site_msg, f"{OTHER_SITE_LINK_STYLE} bold")),
188
188
  link_text_obj(WORD_COUNT_URL, 'most frequently used words in the emails and texts', AUX_SITE_LINK_STYLE),
189
189
  link_text_obj(JSON_METADATA_URL, 'author attribution explanations', AUX_SITE_LINK_STYLE),
190
- link_text_obj(WORD_COUNT_URL, "epstein's json files", AUX_SITE_LINK_STYLE),
190
+ link_text_obj(JSON_FILES_URL, "epstein's json files", AUX_SITE_LINK_STYLE),
191
191
  ]
192
192
 
193
193
  for link in links:
@@ -199,7 +199,8 @@ def print_title_page_tables(epstein_files: 'EpsteinFiles') -> None:
199
199
  _print_external_links()
200
200
  console.line()
201
201
  _print_abbreviations_table()
202
- epstein_files.print_files_summary()
202
+ print_centered(epstein_files.overview_table())
203
+ console.line()
203
204
  print_color_key()
204
205
  print_centered(f"if you think there's an attribution error or can deanonymize an {UNKNOWN} contact {CRYPTADAMUS_TWITTER}", 'grey46')
205
206
  print_centered('note this site is based on the OCR text provided by Congress which is not always the greatest', 'grey23')
@@ -252,7 +253,7 @@ def print_subtitle_panel(msg: str, style: str = 'black on white') -> None:
252
253
  def print_section_header(msg: str, style: str = SECTION_HEADER_STYLE, is_centered: bool = False) -> None:
253
254
  panel = Panel(Text(msg, justify='center'), expand=True, padding=(1, 1), style=style)
254
255
  panel = Align.center(panel) if is_centered else panel
255
- console.print(Padding(panel, (3, 0, 1, 0)))
256
+ console.print(Padding(panel, (3, 5, 1, 5)))
256
257
 
257
258
 
258
259
  def print_starred_header(msg: str, num_stars: int = 7, num_spaces: int = 2, style: str = TITLE_STYLE) -> None:
@@ -289,9 +290,14 @@ def write_html(output_path: Path | None) -> None:
289
290
  logger.warning(f"Not writing HTML because args.build={args.build}.")
290
291
  return
291
292
 
292
- console.save_html(str(output_path), code_format=CONSOLE_HTML_FORMAT, theme=HTML_TERMINAL_THEME)
293
+ console.save_html(str(output_path), clear=False, code_format=CONSOLE_HTML_FORMAT, theme=HTML_TERMINAL_THEME)
293
294
  log_file_write(output_path)
294
295
 
296
+ if args.write_txt:
297
+ txt_path = f"{output_path}.txt"
298
+ console.save_text(txt_path)
299
+ log_file_write(txt_path)
300
+
295
301
 
296
302
  def _print_abbreviations_table() -> None:
297
303
  table = build_table(title="Abbreviations Used Frequently In These Conversations", show_header=False)
@@ -311,8 +317,7 @@ def _print_external_links() -> None:
311
317
  raw_docs_link = join_texts([link_text_obj(RAW_OVERSIGHT_DOCS_GOOGLE_DRIVE_URL, 'raw files', style=f"{ARCHIVE_LINK_COLOR} dim")], encloser='()')
312
318
  print_centered(join_texts([presser_link, raw_docs_link]))
313
319
  print_centered(link_markup(JMAIL_URL, JMAIL) + " (read His Emails via Gmail interface)")
314
- print_centered(link_markup(COFFEEZILLA_ARCHIVE_URL, 'Archive Of Epstein Materials') + " (Coffeezilla)")
315
- print_centered(link_markup(COURIER_NEWSROOM_ARCHIVE_URL, 'Searchable Archive') + " (Courier Newsroom)")
320
+ print_centered(link_markup(EPSTEIN_DOCS_URL) + " (searchable archive)")
316
321
  print_centered(link_markup(EPSTEINIFY_URL) + " (raw document images)")
317
322
  print_centered(link_markup(EPSTEIN_WEB_URL) + " (character summaries)")
318
323
  print_centered(link_markup(EPSTEIN_MEDIA_URL) + " (raw document images)")
@@ -331,7 +336,7 @@ def _print_social_media_links() -> None:
331
336
  link_text_obj('https://universeodon.com/@cryptadamist/115572634993386057', '@mastodon', style=SOCIAL_MEDIA_LINK_STYLE),
332
337
  link_text_obj(SUBSTACK_URL, '@substack', style=SOCIAL_MEDIA_LINK_STYLE),
333
338
  link_text_obj('https://x.com/Cryptadamist/status/1990866804630036988', '@twitter', style=SOCIAL_MEDIA_LINK_STYLE),
334
- link_text_obj('https://github.com/michelcrypt4d4mus/epstein_text_messages', '@github', style=SOCIAL_MEDIA_LINK_STYLE)
339
+ link_text_obj(GH_PROJECT_URL, '@github', style=SOCIAL_MEDIA_LINK_STYLE)
335
340
  ]
336
341
 
337
342
  print_centered(join_texts(social_links, join=' / '))#, encloser='()'))#, encloser='‹›'))
@@ -1,5 +1,6 @@
1
1
  import time
2
2
  from dataclasses import dataclass, field
3
+ from typing import Type
3
4
 
4
5
  from epstein_files.util.logging import logger
5
6
 
@@ -10,6 +11,19 @@ class Timer:
10
11
  checkpoint_at: float = field(default_factory=lambda: time.perf_counter())
11
12
  decimals: int = 2
12
13
 
14
+ def log_section_complete(self, label: str, all_docs: list, printed_docs: list) -> None:
15
+ num_skipped = len(all_docs) - len(printed_docs)
16
+ prefix = suffix = ''
17
+
18
+ if num_skipped == 0:
19
+ prefix = 'all '
20
+ elif num_skipped < 0:
21
+ suffix = f"(at least {num_skipped} {label}s printed more than once)"
22
+ else:
23
+ suffix = f"(skipped {num_skipped})"
24
+
25
+ self.print_at_checkpoint(f"Printed {prefix}{len(printed_docs)} {label}s {suffix}".strip())
26
+
13
27
  def print_at_checkpoint(self, msg: str) -> None:
14
28
  logger.warning(f"{msg} in {self.seconds_since_checkpoint_str()}...")
15
29
  self.checkpoint_at = time.perf_counter()
@@ -239,7 +239,7 @@ def write_word_counts_html() -> None:
239
239
  console.print(word_count)
240
240
  print_subtitle_panel(f"{len(COMMON_WORDS_LIST):,} Excluded Words")
241
241
  console.print(', '.join(COMMON_WORDS_LIST), highlight=False)
242
- write_html(WORD_COUNT_HTML_PATH)
242
+ write_html(WORD_COUNT_HTML_PATH if args.build else None)
243
243
  timer.print_at_checkpoint(f"Finished counting words")
244
244
 
245
245
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: epstein-files
3
- Version: 1.2.0
3
+ Version: 1.2.5
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,7 +32,7 @@ Project-URL: TextMessages, https://michelcrypt4d4mus.github.io/epstein_text_mess
32
32
  Project-URL: WordCounts, https://michelcrypt4d4mus.github.io/epstein_text_messages/communication_word_count_epstein_files_nov_2025.html
33
33
  Description-Content-Type: text/markdown
34
34
 
35
- # I Made Epstein's Text Messages Great Again
35
+ # Color Highlighted Epstein Emails and Text Messages
36
36
 
37
37
  ![joi](https://github.com/michelcrypt4d4mus/epstein_text_messages/raw/master/docs/joi_ito_gavin_is_clever_epstein_funds_bitcoin_dev_team.png)
38
38
 
@@ -120,3 +120,6 @@ for file in epstein_files.other_files:
120
120
  do_stuff(file)
121
121
  ```
122
122
 
123
+ # Everyone Who Sent or Received an Email in the November Document Dump
124
+ ![emails](https://github.com/michelcrypt4d4mus/epstein_text_messages/raw/master/docs/emailers_info_table.png)
125
+
@@ -0,0 +1,34 @@
1
+ epstein_files/__init__.py,sha256=_7YTeRPEpqnY7XBBGvjLpk-G287D1NrYjldTinsKeoI,5899
2
+ epstein_files/documents/communication.py,sha256=QiCZ35R2ttlqcdovm5LBdGqgoj4xCcpl9ANqwlA9XGU,1752
3
+ epstein_files/documents/document.py,sha256=cJxL0UF8mtUvkUx1YGa62J24336DULVKLv1j6_d39Gg,19668
4
+ epstein_files/documents/email.py,sha256=ZylzikpeuiwhZsWVnfaYlO8llMjIfvAS2hQuuQELl6g,42343
5
+ epstein_files/documents/emails/email_header.py,sha256=3UD2pXMS9bRsFP4L5RSP2tSjI8OR6lq6gPKKao0DYLY,7739
6
+ epstein_files/documents/imessage/text_message.py,sha256=IexwwVeF14FZqD7IuK47bIHYam07ZcD3rxheVNULNkc,3394
7
+ epstein_files/documents/json_file.py,sha256=WcZW5NNqA67rHTdopbOGtup00muNaLlvrNgKb-K4zO8,1504
8
+ epstein_files/documents/messenger_log.py,sha256=1bv62WoQMKR3gYDrK9W3Xm7cqLbKrkRBV7NTFL2cexE,7349
9
+ epstein_files/documents/other_file.py,sha256=xZSILlnYlX2QIYCQCm6WNHvNqhF5do6AmxT7qxw-yog,9417
10
+ epstein_files/epstein_files.py,sha256=fHa50Xdxgc2Vw7YgcgS3vAjTqDp1L5yPWOWQ3sb4RlM,14021
11
+ epstein_files/person.py,sha256=lrBPCg1LFfd8koytEL0AOb8CcFKmJjLV9kAFqzGHHdU,14700
12
+ epstein_files/util/constant/common_words.py,sha256=C1JERPnOGHV2UMC71aEue1i9QTQog-RfT3IzdcYQOYQ,3702
13
+ epstein_files/util/constant/html.py,sha256=MFooFV8KfFBCm9hL1u6A3hi_u37i7lL6UKAYoKQj3PI,1505
14
+ epstein_files/util/constant/names.py,sha256=exsR_dtwVEANYFJSU1wk50hiqzAtfc8zQbaKKwgX42A,11408
15
+ epstein_files/util/constant/output_files.py,sha256=vxof85L-1GqSwss8XvLS3HZGguyWSzJkoJm1PrYYJ7g,2123
16
+ epstein_files/util/constant/strings.py,sha256=jh_ou1VoA-6T1ej9l7CFfETEOCuSCectqqK7ppBQz2I,2030
17
+ epstein_files/util/constant/urls.py,sha256=rFVU7824M1gAsmWLnAr-BBVOstlVwIsgyOlUWd1cdDk,6181
18
+ epstein_files/util/constants.py,sha256=ANm_qMYK-dpgg02W9i9PUYiOI2fqr_5aoa50AHOOKIo,123568
19
+ epstein_files/util/data.py,sha256=oZSrjzQSnXHtOlqxisodpH65cTGe57TfA3sZyQQzT7Q,3051
20
+ epstein_files/util/doc_cfg.py,sha256=gIBAoeheQYqqrCtVRU2ytYu799LyCiPxPyHDgWUad3c,9471
21
+ epstein_files/util/env.py,sha256=506dRXdetaKAHZ8vIacxA5x2Cv-IGBNYS8A0NQfMdUM,6961
22
+ epstein_files/util/file_helper.py,sha256=MpG1hI7DGs05fV9KSVb_ltc98DC8tv1E_TTo5X_E7Js,3010
23
+ epstein_files/util/highlighted_group.py,sha256=6EwCRVysWRzQOYu12ZKvVapKHTveSmnF-5bCZTsJtHk,62411
24
+ epstein_files/util/logging.py,sha256=pSLHGrUnPQGFMGYNIOTbZbCyy5dDOCbNrbNz22wIcZI,2099
25
+ epstein_files/util/output.py,sha256=ZNkx6iSJhaaeE3WkG3SDjgATL6pGkJpqzOCov7hZQW8,13221
26
+ epstein_files/util/rich.py,sha256=pp_rIfy8rrxDONvpcizQ6r-x3oeJXEqgCgaA3FNDIHI,13739
27
+ epstein_files/util/search_result.py,sha256=1fxe0KPBQXBk4dLfu6m0QXIzYfZCzvaSkWqvghJGzxY,567
28
+ epstein_files/util/timer.py,sha256=GZHefXiPA-prK-1szC1cebl44Y-i4Wd3K8zedFpcggg,1373
29
+ epstein_files/util/word_count.py,sha256=Ab0KSBv5oaee40h9MpGIlMNWRH4nAWDcMAq4A1TdpvA,9226
30
+ epstein_files-1.2.5.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
31
+ epstein_files-1.2.5.dist-info/METADATA,sha256=9cKpM9bg6-9MbKQ-EcX_S4oPBfS1a01FADl_2LbRvec,6222
32
+ epstein_files-1.2.5.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
33
+ epstein_files-1.2.5.dist-info/entry_points.txt,sha256=5qYgwAXpxegeAicD_rzda_trDRnUC51F5UVDpcZ7j6Q,240
34
+ epstein_files-1.2.5.dist-info/RECORD,,
@@ -1,34 +0,0 @@
1
- epstein_files/__init__.py,sha256=HfNEIZ8I8h44GdWTaS0UTA2NjIGZYoqcdTFGV9OnACM,5403
2
- epstein_files/documents/communication.py,sha256=NzcZ3vQBjVAovasnxpUyII4weycMaJ2T3fc_8d4eg-U,1875
3
- epstein_files/documents/document.py,sha256=eDPN06KztjWcb6LCmNxqud0fcckfr6ZySHO1TxbjaCY,17643
4
- epstein_files/documents/email.py,sha256=7zLkvyHdv2fSTKGrT6eW2b6VqaTXpBWPzCKXqOQwl6s,42083
5
- epstein_files/documents/emails/email_header.py,sha256=P2dZno30W49oqf9MixiAZbtxX1ooe-yJ6VVa_R24ySw,7588
6
- epstein_files/documents/imessage/text_message.py,sha256=Tx81FVz8LwQwC_ZhMa5XI-qlF2jPNxbAnC2KN1d0fdk,3353
7
- epstein_files/documents/json_file.py,sha256=WcZW5NNqA67rHTdopbOGtup00muNaLlvrNgKb-K4zO8,1504
8
- epstein_files/documents/messenger_log.py,sha256=1bv62WoQMKR3gYDrK9W3Xm7cqLbKrkRBV7NTFL2cexE,7349
9
- epstein_files/documents/other_file.py,sha256=TeEzsfGN_mTFZPhfyt9ihxK9oTCYwI8sRLplTsgpOMY,9893
10
- epstein_files/epstein_files.py,sha256=7xEgs9rKQen6mNPCk2drWc7VsXg9OylDnmzFk8U4UEM,14500
11
- epstein_files/person.py,sha256=ZzU2WNEdUXJpwA8M3y99AhfK1oQVlnOy-SNP2b8JkjI,14700
12
- epstein_files/util/constant/common_words.py,sha256=C1JERPnOGHV2UMC71aEue1i9QTQog-RfT3IzdcYQOYQ,3702
13
- epstein_files/util/constant/html.py,sha256=MFooFV8KfFBCm9hL1u6A3hi_u37i7lL6UKAYoKQj3PI,1505
14
- epstein_files/util/constant/names.py,sha256=iaF4vJnbqatC1evCBwFagqCQtQr15OUJC_jYbHgoEfs,11058
15
- epstein_files/util/constant/output_files.py,sha256=gUZJ4mNoeJy3qTYWr_jhSmQI-_uV_jdLR0YCiaQd_Qg,1982
16
- epstein_files/util/constant/strings.py,sha256=YgrUSf3fANRw2jr1r8HrmbZpzET7KY7gn-MrrZ4-bQI,2017
17
- epstein_files/util/constant/urls.py,sha256=6cJVEGFWwQ5CCq5oy-Ukj2-xZvbclMWySVxykaFW-W4,5599
18
- epstein_files/util/constants.py,sha256=HJK7c9T2y6CxQS1CtB8qObCL6hQ6M92xlH5deJZbc8M,121602
19
- epstein_files/util/data.py,sha256=CXvQBWZuAnkxOuOv2KtwIZe7jtHtfqAOd6ELIhNeJzI,2983
20
- epstein_files/util/doc_cfg.py,sha256=RjKRX6BGTJf0J4vAWdEH6kMtfG75Psu3ntNx4MYnMzY,9509
21
- epstein_files/util/env.py,sha256=6DvDCDdG_2AwXR2sOO5kL3GHtZFQxHs8HT87VjVt9NE,6718
22
- epstein_files/util/file_helper.py,sha256=MpG1hI7DGs05fV9KSVb_ltc98DC8tv1E_TTo5X_E7Js,3010
23
- epstein_files/util/highlighted_group.py,sha256=c7p7_P-DfbSqrxIh8Es4A3aFxQFrsv9WBodzqMrVcAQ,55708
24
- epstein_files/util/logging.py,sha256=F45YqEKAiIb0rDZnOB7XuaY-dOkOKrsfSzO1VVqY508,2097
25
- epstein_files/util/output.py,sha256=8Hqt-CV_02-GyETrcqm4AM6dWO0OTV9nddOQNJ7eW8k,11836
26
- epstein_files/util/rich.py,sha256=J4b6TLaJ3HQFQdo5Iib60lRwrjzlHRW2zWEaobkrSEc,13698
27
- epstein_files/util/search_result.py,sha256=1fxe0KPBQXBk4dLfu6m0QXIzYfZCzvaSkWqvghJGzxY,567
28
- epstein_files/util/timer.py,sha256=QqqXAQofKPWkDngNwG0mOqRn7nHcAR-BGQjqAwZfXoE,840
29
- epstein_files/util/word_count.py,sha256=rs-bsSMnGG1BnYUmxYuBLZ8X0-3-jJdaB03v1jOIq4g,9202
30
- epstein_files-1.2.0.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
31
- epstein_files-1.2.0.dist-info/METADATA,sha256=ttXba8M6jt-gbb94ouqD95zOMdTosW8HSUfFJiDLFlI,6032
32
- epstein_files-1.2.0.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
33
- epstein_files-1.2.0.dist-info/entry_points.txt,sha256=5qYgwAXpxegeAicD_rzda_trDRnUC51F5UVDpcZ7j6Q,240
34
- epstein_files-1.2.0.dist-info/RECORD,,