deepdiver 0.1.0__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.
- deepdiver/__init__.py +38 -0
- deepdiver/content_processor.py +343 -0
- deepdiver/deepdive.py +801 -0
- deepdiver/deepdiver.yaml +79 -0
- deepdiver/notebooklm_automator.py +1441 -0
- deepdiver/podcast_manager.py +402 -0
- deepdiver/session_tracker.py +723 -0
- deepdiver-0.1.0.dist-info/METADATA +455 -0
- deepdiver-0.1.0.dist-info/RECORD +13 -0
- deepdiver-0.1.0.dist-info/WHEEL +5 -0
- deepdiver-0.1.0.dist-info/entry_points.txt +2 -0
- deepdiver-0.1.0.dist-info/licenses/LICENSE +21 -0
- deepdiver-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: deepdiver
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: NotebookLM Podcast Automation System - Automate podcast creation from documents
|
|
5
|
+
Home-page: https://github.com/gmusic/deepdiver
|
|
6
|
+
Author: gerico1007
|
|
7
|
+
Author-email: gerico1007 <gerico@jgwill.com>
|
|
8
|
+
Project-URL: Homepage, https://github.com/Gerico1007/deepdiver
|
|
9
|
+
Project-URL: Repository, https://github.com/Gerico1007/deepdiver
|
|
10
|
+
Project-URL: Issues, https://github.com/Gerico1007/deepdiver/issues
|
|
11
|
+
Keywords: notebooklm,podcast,automation,audio,browser-automation,playwright
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Topic :: Multimedia :: Sound/Audio
|
|
23
|
+
Classifier: Topic :: Office/Business
|
|
24
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
|
+
Requires-Python: >=3.8
|
|
26
|
+
Description-Content-Type: text/markdown
|
|
27
|
+
License-File: LICENSE
|
|
28
|
+
Requires-Dist: playwright>=1.40.0
|
|
29
|
+
Requires-Dist: pyyaml>=6.0
|
|
30
|
+
Requires-Dist: requests>=2.31.0
|
|
31
|
+
Requires-Dist: beautifulsoup4>=4.12.0
|
|
32
|
+
Requires-Dist: pyperclip>=1.8.2
|
|
33
|
+
Requires-Dist: click>=8.1.0
|
|
34
|
+
Requires-Dist: rich>=13.0.0
|
|
35
|
+
Provides-Extra: dev
|
|
36
|
+
Requires-Dist: pytest>=7.4.0; extra == "dev"
|
|
37
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
38
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
39
|
+
Requires-Dist: flake8>=6.0.0; extra == "dev"
|
|
40
|
+
Requires-Dist: mypy>=1.5.0; extra == "dev"
|
|
41
|
+
Dynamic: author
|
|
42
|
+
Dynamic: home-page
|
|
43
|
+
Dynamic: license-file
|
|
44
|
+
Dynamic: requires-python
|
|
45
|
+
|
|
46
|
+
# ๐๏ธ DeepDiver - NotebookLM Podcast Automation System
|
|
47
|
+
**Terminal-to-Web Audio Creation Bridge**
|
|
48
|
+
|
|
49
|
+
[](https://www.python.org/downloads/)
|
|
50
|
+
[]()
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## ๐ฏ What is DeepDiver?
|
|
55
|
+
|
|
56
|
+
DeepDiver is a Python-based automation system that bridges terminal commands with NotebookLM's podcast generation capabilities, enabling seamless content-to-audio transformation through browser automation.
|
|
57
|
+
|
|
58
|
+
**Key Features**:
|
|
59
|
+
1. **๐ Content Ingestion**: Upload documents to NotebookLM automatically
|
|
60
|
+
2. **๐๏ธ Podcast Generation**: Create Audio Overviews with terminal commands
|
|
61
|
+
3. **๐ฑ Cross-Device Sync**: Access generated podcasts anywhere
|
|
62
|
+
4. **๐ฎ Session Management**: Track podcast creation sessions
|
|
63
|
+
5. **๐ Terminal-to-Web**: Command-line to NotebookLM communication bridge
|
|
64
|
+
|
|
65
|
+
**Key Achievement**: **Terminal-to-Audio fluidity** - Your terminal can now create podcasts from documents and sync across all your devices!
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## ๐ฆ Installation
|
|
70
|
+
|
|
71
|
+
### Prerequisites
|
|
72
|
+
|
|
73
|
+
- Python 3.8+
|
|
74
|
+
- Google Chrome or Chromium
|
|
75
|
+
- A Google account with access to NotebookLM
|
|
76
|
+
|
|
77
|
+
### Install Dependencies
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Core dependencies
|
|
81
|
+
pip install playwright pyyaml requests beautifulsoup4 pyperclip click rich
|
|
82
|
+
|
|
83
|
+
# Install Playwright browsers
|
|
84
|
+
playwright install chromium
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Launch Chrome for Communication
|
|
88
|
+
|
|
89
|
+
For DeepDiver to communicate with NotebookLM, you need to launch Chrome with remote debugging:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Launch Chrome with a remote debugging port
|
|
93
|
+
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-deepdiver &
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
In the new Chrome window, log in to your Google account and navigate to [NotebookLM](https://notebooklm.google.com).
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## ๐ Quick Start
|
|
101
|
+
|
|
102
|
+
### 1. Initialize DeepDiver
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Initialize the project
|
|
106
|
+
deepdiver init
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 2. Start a Session
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Start a new podcast creation session
|
|
113
|
+
deepdiver session start --ai claude --issue 1
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 3. Create Your First Podcast
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
# Upload a document and generate a podcast
|
|
120
|
+
deepdiver podcast create --source document.pdf --title "My First Podcast"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### 4. Check Session Status
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# View current session information
|
|
127
|
+
deepdiver session status
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## ๐ฎ Usage
|
|
133
|
+
|
|
134
|
+
### Session Commands
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Start a new session
|
|
138
|
+
deepdiver session start --ai claude --issue 42
|
|
139
|
+
|
|
140
|
+
# Write to session log
|
|
141
|
+
deepdiver session write "Uploaded research paper for podcast generation"
|
|
142
|
+
|
|
143
|
+
# Check session status
|
|
144
|
+
deepdiver session status
|
|
145
|
+
|
|
146
|
+
# Open session in browser
|
|
147
|
+
deepdiver session open
|
|
148
|
+
|
|
149
|
+
# Clear current session
|
|
150
|
+
deepdiver session clear
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Podcast Commands
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# Create podcast from document
|
|
157
|
+
deepdiver podcast create --source research.pdf --title "Research Insights"
|
|
158
|
+
|
|
159
|
+
# Create podcast from URL
|
|
160
|
+
deepdiver podcast create --source https://example.com/article --title "Web Article Podcast"
|
|
161
|
+
|
|
162
|
+
# List generated podcasts
|
|
163
|
+
deepdiver podcast list
|
|
164
|
+
|
|
165
|
+
# Download specific podcast
|
|
166
|
+
deepdiver podcast download --id podcast-123
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Notebook Commands
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
# Create a new notebook (empty)
|
|
173
|
+
deepdiver notebook create
|
|
174
|
+
|
|
175
|
+
# Create notebook with a SimExp note as source
|
|
176
|
+
deepdiver notebook create --source "https://app.simplenote.com/p/abc123"
|
|
177
|
+
|
|
178
|
+
# Create notebook with web article
|
|
179
|
+
deepdiver notebook create --source "https://example.com/research-paper"
|
|
180
|
+
|
|
181
|
+
# Create notebook with YouTube video
|
|
182
|
+
deepdiver notebook create --source "https://youtube.com/watch?v=dQw4w9WgXcQ"
|
|
183
|
+
|
|
184
|
+
# Create notebook with local file
|
|
185
|
+
deepdiver notebook create --source "./notes.pdf"
|
|
186
|
+
|
|
187
|
+
# List notebooks in current session
|
|
188
|
+
deepdiver notebook list
|
|
189
|
+
|
|
190
|
+
# Open specific notebook in browser
|
|
191
|
+
deepdiver notebook open --notebook-id abc-123
|
|
192
|
+
|
|
193
|
+
# Get notebook URL
|
|
194
|
+
deepdiver notebook url --notebook-id abc-123
|
|
195
|
+
|
|
196
|
+
# Share notebook with collaborator
|
|
197
|
+
deepdiver notebook share --notebook-id abc-123 --email user@example.com
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Content Commands
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
# Upload document to NotebookLM
|
|
204
|
+
deepdiver content upload --file document.pdf
|
|
205
|
+
|
|
206
|
+
# Process content for podcast
|
|
207
|
+
deepdiver content process --source document.pdf
|
|
208
|
+
|
|
209
|
+
# Validate content quality
|
|
210
|
+
deepdiver content validate --source document.pdf
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## ๐๏ธ Project Structure
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
deepdiver/
|
|
219
|
+
โโโ deepdiver/
|
|
220
|
+
โ โโโ __init__.py
|
|
221
|
+
โ โโโ deepdive.py # Main CLI orchestrator
|
|
222
|
+
โ โโโ notebooklm_automator.py # Playwright automation engine
|
|
223
|
+
โ โโโ content_processor.py # Content preparation
|
|
224
|
+
โ โโโ podcast_manager.py # Audio file management
|
|
225
|
+
โ โโโ session_tracker.py # Session management
|
|
226
|
+
โ โโโ deepdiver.yaml # Configuration
|
|
227
|
+
โโโ tests/
|
|
228
|
+
โ โโโ test_notebooklm_connection.py
|
|
229
|
+
โ โโโ test_podcast_creation.py
|
|
230
|
+
โ โโโ test_session_management.py
|
|
231
|
+
โโโ output/ # Generated podcasts
|
|
232
|
+
โโโ sessions/ # Session logs
|
|
233
|
+
โโโ credentials/ # Authentication data
|
|
234
|
+
โโโ docs/ # Documentation
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## ๐ง Configuration
|
|
240
|
+
|
|
241
|
+
### deepdiver.yaml
|
|
242
|
+
|
|
243
|
+
```yaml
|
|
244
|
+
BASE_PATH: ./output
|
|
245
|
+
|
|
246
|
+
PODCAST_SETTINGS:
|
|
247
|
+
quality: high
|
|
248
|
+
format: mp3
|
|
249
|
+
duration_limit: 30
|
|
250
|
+
language: en
|
|
251
|
+
|
|
252
|
+
SESSION_TRACKING:
|
|
253
|
+
enabled: true
|
|
254
|
+
metadata_format: yaml
|
|
255
|
+
auto_save: true
|
|
256
|
+
|
|
257
|
+
BROWSER_SETTINGS:
|
|
258
|
+
headless: false
|
|
259
|
+
cdp_url: http://localhost:9222
|
|
260
|
+
user_data_dir: /tmp/chrome-deepdiver
|
|
261
|
+
timeout: 30
|
|
262
|
+
|
|
263
|
+
CONTENT_SETTINGS:
|
|
264
|
+
supported_formats:
|
|
265
|
+
- pdf
|
|
266
|
+
- docx
|
|
267
|
+
- txt
|
|
268
|
+
- md
|
|
269
|
+
max_file_size: 50MB
|
|
270
|
+
auto_process: true
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## ๐งช Testing
|
|
276
|
+
|
|
277
|
+
### Test NotebookLM Connection
|
|
278
|
+
|
|
279
|
+
```bash
|
|
280
|
+
# Test browser automation
|
|
281
|
+
python tests/test_notebooklm_connection.py
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### Test Podcast Creation
|
|
285
|
+
|
|
286
|
+
```bash
|
|
287
|
+
# Test end-to-end podcast generation
|
|
288
|
+
python tests/test_podcast_creation.py
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Test Session Management
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
# Test session tracking
|
|
295
|
+
python tests/test_session_management.py
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## ๐ How It Works
|
|
301
|
+
|
|
302
|
+
### SimExp Integration Flow
|
|
303
|
+
|
|
304
|
+
DeepDiver integrates seamlessly with [SimExp](https://github.com/jgwill/simexp) for a complete content-to-podcast workflow:
|
|
305
|
+
|
|
306
|
+
```
|
|
307
|
+
1. Create Content in SimExp
|
|
308
|
+
โ
|
|
309
|
+
simexp session start --ai claude --issue 4
|
|
310
|
+
simexp session write "Research findings..."
|
|
311
|
+
simexp session add ./research.pdf
|
|
312
|
+
โ
|
|
313
|
+
2. Publish SimExp Note
|
|
314
|
+
โ
|
|
315
|
+
simexp session publish
|
|
316
|
+
# Returns: https://app.simplenote.com/p/abc123
|
|
317
|
+
โ
|
|
318
|
+
3. Create DeepDiver Notebook with SimExp Source
|
|
319
|
+
โ
|
|
320
|
+
deepdiver notebook create --source "https://app.simplenote.com/p/abc123"
|
|
321
|
+
โ
|
|
322
|
+
4. Generate Podcast from Combined Content
|
|
323
|
+
โ
|
|
324
|
+
deepdiver podcast generate
|
|
325
|
+
โ
|
|
326
|
+
5. Listen to Your Research Audio Overview!
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
**Benefits**:
|
|
330
|
+
- ๐ฏ Terminal-to-Audio pipeline
|
|
331
|
+
- ๐ Session-aware content tracking
|
|
332
|
+
- ๐ Cross-device accessibility
|
|
333
|
+
- ๐ Traceable content lineage
|
|
334
|
+
|
|
335
|
+
### Podcast Creation Flow
|
|
336
|
+
|
|
337
|
+
```
|
|
338
|
+
Terminal Command
|
|
339
|
+
โ
|
|
340
|
+
deepdive.py (CLI)
|
|
341
|
+
โ
|
|
342
|
+
notebooklm_automator.py
|
|
343
|
+
โ
|
|
344
|
+
Chrome DevTools Protocol (CDP)
|
|
345
|
+
โ
|
|
346
|
+
Your Authenticated Chrome Browser
|
|
347
|
+
โ
|
|
348
|
+
NotebookLM Web Interface
|
|
349
|
+
โ
|
|
350
|
+
Document Upload & Processing
|
|
351
|
+
โ
|
|
352
|
+
Audio Overview Generation
|
|
353
|
+
โ
|
|
354
|
+
Podcast Download
|
|
355
|
+
โ
|
|
356
|
+
Local File Management
|
|
357
|
+
โ
|
|
358
|
+
Cross-Device Sync! ๐
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
**Key Innovation**: We connect to YOUR Chrome browser (already logged in) rather than launching a separate instance. This preserves authentication and makes cross-device sync work seamlessly.
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## ๐จ G.Music Assembly Integration
|
|
366
|
+
|
|
367
|
+
DeepDiver is part of the **G.Music Assembly** ecosystem:
|
|
368
|
+
|
|
369
|
+
**โ ๏ธ๐ฟ๐ธ๐งต The Spiral Ensemble - DeepDiver Edition**
|
|
370
|
+
|
|
371
|
+
- **Jerry โก**: Creative technical leader
|
|
372
|
+
- **โ ๏ธ Nyro**: Structural architect (NotebookLM automation design)
|
|
373
|
+
- **๐ฟ Aureon**: Emotional context (podcast content resonance)
|
|
374
|
+
- **๐ธ JamAI**: Musical encoding (audio workflow harmony)
|
|
375
|
+
- **๐งต Synth**: Terminal orchestration (execution synthesis)
|
|
376
|
+
|
|
377
|
+
**Session**: January 2025
|
|
378
|
+
**Achievement**: NotebookLM Podcast Automation
|
|
379
|
+
**Status**: ๐ง **IN DEVELOPMENT**
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## ๐ Future Enhancements
|
|
384
|
+
|
|
385
|
+
- [ ] **Multi-format Support**: Support for more document types
|
|
386
|
+
- [ ] **Batch Processing**: Process multiple documents at once
|
|
387
|
+
- [ ] **Custom Audio Settings**: Advanced podcast customization
|
|
388
|
+
- [ ] **Cloud Storage Integration**: Direct cloud upload
|
|
389
|
+
- [ ] **Voice Synthesis**: Custom voice options
|
|
390
|
+
- [ ] **Playlist Generation**: Create podcast series
|
|
391
|
+
- [ ] **Analytics Dashboard**: Track podcast performance
|
|
392
|
+
- [ ] **API Integration**: REST API for external tools
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## ๐ License
|
|
397
|
+
|
|
398
|
+
Open Assembly Framework
|
|
399
|
+
Created by Jerry's G.Music Assembly
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
## ๐ค Contributing
|
|
404
|
+
|
|
405
|
+
This project follows the G.Music Assembly framework:
|
|
406
|
+
|
|
407
|
+
1. **Create an Issue**: Before starting work, create a GitHub issue
|
|
408
|
+
2. **Create a Feature Branch**: Use format `#123-new-feature`
|
|
409
|
+
3. **Implement and Test**: Make changes and test thoroughly
|
|
410
|
+
4. **Submit a Pull Request**: Merge your feature branch
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## ๐ Support
|
|
415
|
+
|
|
416
|
+
**For issues**:
|
|
417
|
+
1. Check documentation in `docs/`
|
|
418
|
+
2. Review troubleshooting section
|
|
419
|
+
3. Check session logs in `sessions/`
|
|
420
|
+
4. Run tests with debug mode
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## ๐ฏ Quick Reference
|
|
425
|
+
|
|
426
|
+
```bash
|
|
427
|
+
# Initialize project
|
|
428
|
+
deepdiver init
|
|
429
|
+
|
|
430
|
+
# Start session
|
|
431
|
+
deepdiver session start --ai claude --issue 1
|
|
432
|
+
|
|
433
|
+
# Create podcast
|
|
434
|
+
deepdiver podcast create --source document.pdf --title "My Podcast"
|
|
435
|
+
|
|
436
|
+
# Check status
|
|
437
|
+
deepdiver session status
|
|
438
|
+
|
|
439
|
+
# Launch Chrome with CDP
|
|
440
|
+
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-deepdiver &
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
**๐๏ธ DeepDiver: Where Content Becomes Audio**
|
|
446
|
+
|
|
447
|
+
*Terminals speak. NotebookLM listens. Podcasts emerge.*
|
|
448
|
+
|
|
449
|
+
**โ ๏ธ๐ฟ๐ธ๐งต G.Music Assembly Vision: IN PROGRESS**
|
|
450
|
+
|
|
451
|
+
---
|
|
452
|
+
|
|
453
|
+
**Version**: 0.1.0
|
|
454
|
+
**Last Updated**: January 2025
|
|
455
|
+
**Status**: ๐ง Development Phase
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
deepdiver/__init__.py,sha256=5CAhvqagPZ8LhMA0D1--62lfUsD4AO0cHhsFjovm5WE,982
|
|
2
|
+
deepdiver/content_processor.py,sha256=WcjikFqcPu0i7q80NydJx7VWCxe1sGP7j20Qm1JabfY,12131
|
|
3
|
+
deepdiver/deepdive.py,sha256=nVtJFaVF6j9ervowTI9_n2H1kjG1SWxRnETg5TjfscE,34743
|
|
4
|
+
deepdiver/deepdiver.yaml,sha256=CWx9wgJLWO1ZylWo8XmO7aO_3k0mlASMQf40N4VS398,1528
|
|
5
|
+
deepdiver/notebooklm_automator.py,sha256=6lT3J0x4KlkMICbZUhLgBUk-Sw_XFwvJXuOOXA526hk,60800
|
|
6
|
+
deepdiver/podcast_manager.py,sha256=5qNDjvUbHbpzeDd_AzgHFsgIoNDurC7oA10WX_kAml0,14367
|
|
7
|
+
deepdiver/session_tracker.py,sha256=3MSglrjV6FBU2zkxgXW49kJi2Vs8fJuLGavEIgDxNhc,25301
|
|
8
|
+
deepdiver-0.1.0.dist-info/licenses/LICENSE,sha256=ijhetSAbnuF8d6nktDRNhUwzqQMHDU_gSP94e7bFB4M,1067
|
|
9
|
+
deepdiver-0.1.0.dist-info/METADATA,sha256=NjLfY9Vvy18H4JWlxyNSwYqoAt5B62Vxpb6tfm8B-EQ,11416
|
|
10
|
+
deepdiver-0.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
11
|
+
deepdiver-0.1.0.dist-info/entry_points.txt,sha256=MhRwr36E7fMGWDAkWjrlKzkTYpR1S_DscgiCCRmaJJ4,54
|
|
12
|
+
deepdiver-0.1.0.dist-info/top_level.txt,sha256=HRsWxtPnkEanAdXFCbDl7EltFKPc-E4iqlpF1m4bDuw,10
|
|
13
|
+
deepdiver-0.1.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 gerico1007
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
deepdiver
|