File size: 16,775 Bytes
5779747
e50e82a
e42a810
 
 
5779747
e42a810
 
 
5779747
e42a810
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5779747
e42a810
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5779747
e42a810
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5e4c3ce
e42a810
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5e4c3ce
e42a810
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
import streamlit as st

# 🌟πŸ”₯ Set up the Streamlit UI with a checklist style!
st.title("πŸ“‹ Library Demo Checklist")
st.write("Check off each demo as you try these witty one-liners from our galaxy of libraries!")

# 🌟 Session state to track checklist
if 'checklist' not in st.session_state:
    st.session_state['checklist'] = {i: False for i in range(1, 41)}  # 40 demos total

# πŸ“œ PDF Libraries Section
with st.expander("πŸ“œ PDF Libraries", expanded=True):
    st.subheader("PDF Powerhouse")
    st.write("Tick these off as you shred, spin, and weave PDFs!")
    
    # 1. pypdf
    st.checkbox("1. pypdf - Snags text faster than a paper shredder at a spy convention!", 
                key="check_1", 
                value=st.session_state['checklist'][1], 
                on_change=lambda: st.session_state['checklist'].update({1: not st.session_state['checklist'][1]}))
    st.code("pypdf.PdfReader('doc.pdf').pages[0].extract_text()")
    
    # 2. pikepdf
    st.checkbox("2. pikepdf - Gives your PDF a makeover like a digital plastic surgeon!", 
                key="check_2", 
                value=st.session_state['checklist'][2], 
                on_change=lambda: st.session_state['checklist'].update({2: not st.session_state['checklist'][2]}))
    st.code("pikepdf.Pdf.open('in.pdf').save('out.pdf')")
    
    # 3. pdfminer.six
    st.checkbox("3. pdfminer.six - Pulls text out like a magician yanking a rabbit from a hat!", 
                key="check_3", 
                value=st.session_state['checklist'][3], 
                on_change=lambda: st.session_state['checklist'].update({3: not st.session_state['checklist'][3]}))
    st.code("pdfminer.high_level.extract_text('doc.pdf')")
    
    # 4. fpdf2
    st.checkbox("4. fpdf2 - Whips up a PDF quicker than a chef flipping pancakes!", 
                key="check_4", 
                value=st.session_state['checklist'][4], 
                on_change=lambda: st.session_state['checklist'].update({4: not st.session_state['checklist'][4]}))
    st.code("fpdf.FPDF().add_page().output('new.pdf')")
    
    # 5. pdfkit
    st.checkbox("5. pdfkit - Turns web pages into PDFs like a spider spinning a paper web!", 
                key="check_5", 
                value=st.session_state['checklist'][5], 
                on_change=lambda: st.session_state['checklist'].update({5: not st.session_state['checklist'][5]}))
    st.code("pdfkit.from_url('http://example.com', 'out.pdf')")
    
    # 6. pdfrw
    st.checkbox("6. pdfrw - Reads PDFs like a librarian with a caffeine buzz!", 
                key="check_6", 
                value=st.session_state['checklist'][6], 
                on_change=lambda: st.session_state['checklist'].update({6: not st.session_state['checklist'][6]}))
    st.code("pdfrw.PdfReader('doc.pdf')")
    
    # 7. pdfplumber
    st.checkbox("7. pdfplumber - Dives into PDFs and grabs text like a plumber fixing a leaky pipe!", 
                key="check_7", 
                value=st.session_state['checklist'][7], 
                on_change=lambda: st.session_state['checklist'].update({7: not st.session_state['checklist'][7]}))
    st.code("pdfplumber.open('doc.pdf').pages[0].extract_text()")
    
    # 8. pymupdf
    st.checkbox("8. pymupdf - Speed-reads PDFs faster than a bookworm on espresso!", 
                key="check_8", 
                value=st.session_state['checklist'][8], 
                on_change=lambda: st.session_state['checklist'].update({8: not st.session_state['checklist'][8]}))
    st.code("fitz.open('doc.pdf')[0].get_text()")
    
    # 9. borb
    st.checkbox("9. borb - Crafts PDFs smoother than a bard reciting poetry!", 
                key="check_9", 
                value=st.session_state['checklist'][9], 
                on_change=lambda: st.session_state['checklist'].update({9: not st.session_state['checklist'][9]}))
    st.code("borb.pdf.Document().save('out.pdf')")
    
    # 10. pdf2image
    st.checkbox("10. pdf2image - Turns PDFs into pics like a wizard waving a wand!", 
                key="check_10", 
                value=st.session_state['checklist'][10], 
                on_change=lambda: st.session_state['checklist'].update({10: not st.session_state['checklist'][10]}))
    st.code("pdf2image.convert_from_path('doc.pdf')[0].save('out.jpg')")

# πŸ“Έ Image Capture Libraries Section
with st.expander("πŸ“Έ Image Capture Libraries", expanded=True):
    st.subheader("Image Snappers")
    st.write("Check these off as you snap, grab, and process pixel perfection!")
    
    # 11. opencv-python
    st.checkbox("11. opencv-python - Snaps a pic quicker than a paparazzi at a celebrity meltdown!", 
                key="check_11", 
                value=st.session_state['checklist'][11], 
                on_change=lambda: st.session_state['checklist'].update({11: not st.session_state['checklist'][11]}))
    st.code("cv2.imwrite('snap.jpg', cv2.VideoCapture(0).read()[1])")
    
    # 12. pillow
    st.checkbox("12. pillow - Polishes pics like a pillow fluffer at a sleepover!", 
                key="check_12", 
                value=st.session_state['checklist'][12], 
                on_change=lambda: st.session_state['checklist'].update({12: not st.session_state['checklist'][12]}))
    st.code("Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)).save('out.jpg')")
    
    # 13. imutils
    st.checkbox("13. imutils - Grabs frames smoother than a cat burglar in sneakers!", 
                key="check_13", 
                value=st.session_state['checklist'][13], 
                on_change=lambda: st.session_state['checklist'].update({13: not st.session_state['checklist'][13]}))
    st.code("imutils.video.VideoStream(src=0).start().read()")
    
    # 14. pyscreeze
    st.checkbox("14. pyscreeze - Snags your screen like a sneaky spy with a camera!", 
                key="check_14", 
                value=st.session_state['checklist'][14], 
                on_change=lambda: st.session_state['checklist'].update({14: not st.session_state['checklist'][14]}))
    st.code("pyscreeze.screenshot().save('screen.jpg')")
    
    # 15. pyautogui
    st.checkbox("15. pyautogui - Snaps your desktop faster than a robot paparazzo!", 
                key="check_15", 
                value=st.session_state['checklist'][15], 
                on_change=lambda: st.session_state['checklist'].update({15: not st.session_state['checklist'][15]}))
    st.code("pyautogui.screenshot().save('screen.jpg')")
    
    # 16. mss
    st.checkbox("16. mss - Captures screens quicker than a ninja snapping selfies!", 
                key="check_16", 
                value=st.session_state['checklist'][16], 
                on_change=lambda: st.session_state['checklist'].update({16: not st.session_state['checklist'][16]}))
    st.code("mss.mss().shot(output='screen.png')")
    
    # 17. imageio
    st.checkbox("17. imageio - Snags images like a pirate looting a pixel treasure chest!", 
                key="check_17", 
                value=st.session_state['checklist'][17], 
                on_change=lambda: st.session_state['checklist'].update({17: not st.session_state['checklist'][17]}))
    st.code("imageio.imwrite('out.jpg', imageio.get_reader('<video0>').get_next_data())")
    
    # 18. pygrabber
    st.checkbox("18. pygrabber - Grabs Windows shots like a cowboy roping a pixel steer!", 
                key="check_18", 
                value=st.session_state['checklist'][18], 
                on_change=lambda: st.session_state['checklist'].update({18: not st.session_state['checklist'][18]}))
    st.code("pygrabber.dshow_graph.FilterGraph().grab_frame().save('out.jpg')")
    
    # 19. scikit-image
    st.checkbox("19. scikit-image - Processes pics like a scientist dissecting a pixel frog!", 
                key="check_19", 
                value=st.session_state['checklist'][19], 
                on_change=lambda: st.session_state['checklist'].update({19: not st.session_state['checklist'][19]}))
    st.code("skimage.io.imsave('out.jpg', frame)")
    
    # 20. grab
    st.checkbox("20. grab - Snaps screens like a ghost haunting your desktop!", 
                key="check_20", 
                value=st.session_state['checklist'][20], 
                on_change=lambda: st.session_state['checklist'].update({20: not st.session_state['checklist'][20]}))
    st.code("grab.Grab().screen().save('screen.jpg')")

# πŸŽ₯ Video Capture Libraries Section
with st.expander("πŸŽ₯ Video Capture Libraries", expanded=True):
    st.subheader("Video Vanguards")
    st.write("Mark these as you snatch frames and stream like a pro!")
    
    # 21. opencv-python (Video)
    st.checkbox("21. opencv-python - Grabs video frames like a director snatching scenes from a blockbuster!", 
                key="check_21", 
                value=st.session_state['checklist'][21], 
                on_change=lambda: st.session_state['checklist'].update({21: not st.session_state['checklist'][21]}))
    st.code("cv2.VideoCapture(0).read()[1]")
    
    # 22. vidgear
    st.checkbox("22. vidgear - Streams video smoother than a greased-up eel!", 
                key="check_22", 
                value=st.session_state['checklist'][22], 
                on_change=lambda: st.session_state['checklist'].update({22: not st.session_state['checklist'][22]}))
    st.code("vidgear.gears.CamGear(source=0).start().read()")
    
    # 23. moviepy
    st.checkbox("23. moviepy - Edits clips like a director yelling 'Cut!' at a pixel party!", 
                key="check_23", 
                value=st.session_state['checklist'][23], 
                on_change=lambda: st.session_state['checklist'].update({23: not st.session_state['checklist'][23]}))
    st.code("moviepy.editor.VideoFileClip('video.mp4').write_videofile('out.mp4')")
    
    # 24. pyav
    st.checkbox("24. pyav - Grabs frames like a ninja snatching scrolls from a vault!", 
                key="check_24", 
                value=st.session_state['checklist'][24], 
                on_change=lambda: st.session_state['checklist'].update({24: not st.session_state['checklist'][24]}))
    st.code("av.open('/dev/video0').decode(video=0).__next__()")
    
    # 25. pafy
    st.checkbox("25. pafy - Streams YouTube like a couch potato binge-watching cat videos!", 
                key="check_25", 
                value=st.session_state['checklist'][25], 
                on_change=lambda: st.session_state['checklist'].update({25: not st.session_state['checklist'][25]}))
    st.code("pafy.new('youtube_url').getbest().url")
    
    # 26. cvpubsubs
    st.checkbox("26. cvpubsubs - Captures cams like a pub serving pixel pints!", 
                key="check_26", 
                value=st.session_state['checklist'][26], 
                on_change=lambda: st.session_state['checklist'].update({26: not st.session_state['checklist'][26]}))
    st.code("cvpubsubs.webcam_pub.VideoHandlerThread(0).start()")
    
    # 27. imutils (Video)
    st.checkbox("27. imutils - Streams video like a thief sneaking frames in the night!", 
                key="check_27", 
                value=st.session_state['checklist'][27], 
                on_change=lambda: st.session_state['checklist'].update({27: not st.session_state['checklist'][27]}))
    st.code("imutils.video.VideoStream(src=0).start().read()")
    
    # 28. imageio (Video)
    st.checkbox("28. imageio - Snags video frames like a fisherman reeling in pixel fish!", 
                key="check_28", 
                value=st.session_state['checklist'][28], 
                on_change=lambda: st.session_state['checklist'].update({28: not st.session_state['checklist'][28]}))
    st.code("imageio.get_reader('<video0>').get_next_data()")
    
    # 29. grab (Video)
    st.checkbox("29. grab - Records screens like a ghost filming a desktop haunting!", 
                key="check_29", 
                value=st.session_state['checklist'][29], 
                on_change=lambda: st.session_state['checklist'].update({29: not st.session_state['checklist'][29]}))
    st.code("grab.Grab().screen().save('frame.jpg')")
    
    # 30. pyscreeze (Video)
    st.checkbox("30. pyscreeze - Snaps screen video like a spy with a frame-by-frame camera!", 
                key="check_30", 
                value=st.session_state['checklist'][30], 
                on_change=lambda: st.session_state['checklist'].update({30: not st.session_state['checklist'][30]}))
    st.code("pyscreeze.screenshot().save('screen.jpg')")

# 🎡 Audio Capture Libraries Section
with st.expander("🎡 Audio Capture Libraries", expanded=True):
    st.subheader("Audio Aces")
    st.write("Tune in and check these off as you capture sound like a pro!")
    
    # 31. pydub
    st.checkbox("31. pydub - Twists audio like a DJ spinning tunes at a silent disco!", 
                key="check_31", 
                value=st.session_state['checklist'][31], 
                on_change=lambda: st.session_state['checklist'].update({31: not st.session_state['checklist'][31]}))
    st.code("pydub.AudioSegment.from_file('audio.wav').export('out.wav')")
    
    # 32. pyaudio
    st.checkbox("32. pyaudio - Grabs sound bites faster than a parrot snagging crackers!", 
                key="check_32", 
                value=st.session_state['checklist'][32], 
                on_change=lambda: st.session_state['checklist'].update({32: not st.session_state['checklist'][32]}))
    st.code("pyaudio.PyAudio().open().read(1024)")
    
    # 33. sounddevice
    st.checkbox("33. sounddevice - Snags audio smoother than a whisper in a quiet cave!", 
                key="check_33", 
                value=st.session_state['checklist'][33], 
                on_change=lambda: st.session_state['checklist'].update({33: not st.session_state['checklist'][33]}))
    st.code("sounddevice.rec(44100).tobytes()")
    
    # 34. soundfile
    st.checkbox("34. soundfile - Saves sound like a librarian archiving whispers!", 
                key="check_34", 
                value=st.session_state['checklist'][34], 
                on_change=lambda: st.session_state['checklist'].update({34: not st.session_state['checklist'][34]}))
    st.code("soundfile.write('out.wav', data, 44100)")
    
    # 35. pyaudioanalysis
    st.checkbox("35. pyaudioanalysis - Analyzes audio like a detective cracking a sonic mystery!", 
                key="check_35", 
                value=st.session_state['checklist'][35], 
                on_change=lambda: st.session_state['checklist'].update({35: not st.session_state['checklist'][35]}))
    st.code("pyAudioAnalysis.audioBasicIO.read_audio_file('audio.wav')[1]")
    
    # 36. pyo
    st.checkbox("36. pyo - Spins audio magic like a wizard mixing potions!", 
                key="check_36", 
                value=st.session_state['checklist'][36], 
                on_change=lambda: st.session_state['checklist'].update({36: not st.session_state['checklist'][36]}))
    st.code("pyo.Server().boot().start()")
    
    # 37. speechrecognition
    st.checkbox("37. speechrecognition - Hears you like a nosy neighbor with super ears!", 
                key="check_37", 
                value=st.session_state['checklist'][37], 
                on_change=lambda: st.session_state['checklist'].update({37: not st.session_state['checklist'][37]}))
    st.code("speech_recognition.Recognizer().listen(speech_recognition.Microphone())")
    
    # 38. pyalsaaudio
    st.checkbox("38. pyalsaaudio - Grabs Linux sound like a penguin snagging fish!", 
                key="check_38", 
                value=st.session_state['checklist'][38], 
                on_change=lambda: st.session_state['checklist'].update({38: not st.session_state['checklist'][38]}))
    st.code("pyalsa.alsaaudio.PCM().read()[1]")
    
    # 39. soundcard
    st.checkbox("39. soundcard - Captures sound like a bard strumming a silent lute!", 
                key="check_39", 
                value=st.session_state['checklist'][39], 
                on_change=lambda: st.session_state['checklist'].update({39: not st.session_state['checklist'][39]}))
    st.code("soundcard.default_microphone().record(44100, 1)")
    
    # 40. webrtcvad
    st.checkbox("40. webrtcvad - Detects voices like a spy eavesdropping on a whisper party!", 
                key="check_40", 
                value=st.session_state['checklist'][40], 
                on_change=lambda: st.session_state['checklist'].update({40: not st.session_state['checklist'][40]}))
    st.code("webrtcvad.Vad().is_speech(audio_frame, 16000)")

# πŸ“Š Progress Tracker
st.write("### Progress Tracker")
completed = sum(1 for v in st.session_state['checklist'].values() if v)
st.progress(completed / 40)
st.write(f"{completed} out of 40 demos checked off!")