awacke1's picture
Update app.py
75643c7 verified
raw
history blame
16.1 kB
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 (38 items after removing pyaudio and pyalsaaudio)
if 'checklist' not in st.session_state:
st.session_state['checklist'] = {i: False for i in range(1, 39)} # Adjusted to 38 demos
# πŸ“œ 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. sounddevice
st.checkbox("32. sounddevice - Snags audio smoother than a whisper in a quiet cave!",
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("sounddevice.rec(44100).tobytes()")
# 33. soundfile
st.checkbox("33. soundfile - Saves sound like a librarian archiving whispers!",
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("soundfile.write('out.wav', data, 44100)")
# 34. pyaudioanalysis
st.checkbox("34. pyaudioanalysis - Analyzes audio like a detective cracking a sonic mystery!",
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("pyAudioAnalysis.audioBasicIO.read_audio_file('audio.wav')[1]")
# 35. pyo
st.checkbox("35. pyo - Spins audio magic like a wizard mixing potions!",
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("pyo.Server().boot().start()")
# 36. speechrecognition
st.checkbox("36. speechrecognition - Hears you like a nosy neighbor with super ears!",
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("speech_recognition.Recognizer().listen(speech_recognition.Microphone())")
# 37. soundcard
st.checkbox("37. soundcard - Captures sound like a bard strumming a silent lute!",
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("soundcard.default_microphone().record(44100, 1)")
# 38. webrtcvad
st.checkbox("38. webrtcvad - Detects voices like a spy eavesdropping on a whisper party!",
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("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 / 38) # Adjusted to 38 demos
st.write(f"{completed} out of 38 demos checked off!")