Spaces:
Sleeping
Sleeping
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!") |