Podbean logo
  • Discover
  • Podcast Features
    • Podcast Hosting

      Start your podcast with all the features you need.

    • Podbean AI Podbean AI

      AI-Enhanced Audio Quality and Content Generation.

    • Blog to Podcast

      Repurpose your blog into an engaging podcast.

    • Video to Podcast

      Convert YouTube playlists to podcasts, videos to audios.

  • Monetization
    • Ads Marketplace

      Join Ads Marketplace to earn through podcast sponsorships.

    • PodAds

      Manage your ads with dynamic ad insertion capability.

    • Apple Podcasts Subscriptions Integration

      Monetize with Apple Podcasts Subscriptions via Podbean.

    • Live Streaming

      Earn rewards and recurring income from Fan Club membership.

  • Podbean App
    • Podcast Studio

      Easy-to-use audio recorder app.

    • Podcast App

      The best podcast player & podcast app.

  • Help and Support
    • Help Center

      Get the answers and support you need.

    • Podbean Academy

      Resources and guides to launch, grow, and monetize podcast.

    • Podbean Blog

      Stay updated with the latest podcasting tips and trends.

    • What’s New

      Check out our newest and recently released features!

    • Podcasting Smarter

      Podcast interviews, best practices, and helpful tips.

  • Popular Topics
    • How to Start a Podcast

      The step-by-step guide to start your own podcast.

    • How to Start a Live Podcast

      Create the best live podcast and engage your audience.

    • How to Monetize a Podcast

      Tips on making the decision to monetize your podcast.

    • How to Promote Your Podcast

      The best ways to get more eyes and ears on your podcast.

    • Podcast Advertising 101

      Everything you need to know about podcast advertising.

    • Mobile Podcast Recording Guide

      The ultimate guide to recording a podcast on your phone.

    • How to Use Group Recording

      Steps to set up and use group recording in the Podbean app.

  • All Arts Business Comedy Education
  • Fiction Government Health & Fitness History Kids & Family
  • Leisure Music News Religion & Spirituality Science
  • Society & Culture Sports Technology True Crime TV & Film
  • Live
  • How to Start a Podcast
  • How to Start a Live Podcast
  • How to Monetize a podcast
  • How to Promote Your Podcast
  • How to Use Group Recording
  • Log in
  • Start your podcast for free
  • Podcasting
    • Podcast Features
      • Podcast Hosting

        Start your podcast with all the features you need.

      • Podbean AI Podbean AI

        AI-Enhanced Audio Quality and Content Generation.

      • Blog to Podcast

        Repurpose your blog into an engaging podcast.

      • Video to Podcast

        Convert YouTube playlists to podcasts, videos to audios.

    • Monetization
      • Ads Marketplace

        Join Ads Marketplace to earn through podcast sponsorships.

      • PodAds

        Manage your ads with dynamic ad insertion capability.

      • Apple Podcasts Subscriptions Integration

        Monetize with Apple Podcasts Subscriptions via Podbean.

      • Live Streaming

        Earn rewards and recurring income from Fan Club membership.

    • Podbean App
      • Podcast Studio

        Easy-to-use audio recorder app.

      • Podcast App

        The best podcast player & podcast app.

  • Advertisers
  • Enterprise
  • Pricing
  • Resources
    • Help and Support
      • Help Center

        Get the answers and support you need.

      • Podbean Academy

        Resources and guides to launch, grow, and monetize podcast.

      • Podbean Blog

        Stay updated with the latest podcasting tips and trends.

      • What’s New

        Check out our newest and recently released features!

      • Podcasting Smarter

        Podcast interviews, best practices, and helpful tips.

    • Popular Topics
      • How to Start a Podcast

        The step-by-step guide to start your own podcast.

      • How to Start a Live Podcast

        Create the best live podcast and engage your audience.

      • How to Monetize a Podcast

        Tips on making the decision to monetize your podcast.

      • How to Promote Your Podcast

        The best ways to get more eyes and ears on your podcast.

      • Podcast Advertising 101

        Everything you need to know about podcast advertising.

      • Mobile Podcast Recording Guide

        The ultimate guide to recording a podcast on your phone.

      • How to Use Group Recording

        Steps to set up and use group recording in the Podbean app.

  • Discover
  • Log in
    Sign up free
Python Bytes

Python Bytes

Technology

#289 Textinator is coming for your text, wherever it is

#289 Textinator is coming for your text, wherever it is

2022-06-21
Download Right click and do "save link as"

Watch the live stream:

Watch on YouTube

About the show

Sponsored by us! Support our work through:

  • Our courses at Talk Python Training
  • Test & Code Podcast
  • Patreon Supporters

Special guest: Gina Häußge, creator & maintainer of OctoPrint

Michael #1: beanita

  • Local MongoDB-like database prepared to work with Beanie ODM
  • So, you know Beanie - Pydantic + async + MongoDB
  • And you know Mongita - Mongita is to MongoDB as SQLite is to SQL
  • Beanita lets you use Beanie, but against Mongita rather than a server-based MongoDB server

Brian #2: The Good Research Code Handbook

  • Patrick J Mineault
  • “for grad students, postdocs and PIs (principle investigator) who do a lot of programming as part of their research.”
  • lessons
    • setup
      • git, virtual environments, project layout, packaging, cookie cutter
    • style
      • style guides, keeping things clean
    • coding
      • separating concerns, separating pure functions and those with side effects, pythonic-ness
    • testing
      • unit testing, testing with side effects, …
      • (incorrect definition of end-to-end tests, but a good job at covering the other bits)
    • documentation
      • comments, tests, docstrings, README.md, usage docs, tutorials, websites
      • documenting pipelines and projects
    • social aspects
      • various reviews, pairing, open source, community
    • sample project
    • extras
      • testing example
      • good tools to use

Gina #3: CadQuery

  • Python lib to do build parametric 3D CAD models
  • Can output STL, STEP, AMF, SVG and some more
  • Uses same geometry kernel as FreeCAD (OpenCascade)
  • Also available: desktop editor, Jupyter extension, CLI
    • Would recommend the Jupyter extension, the app seems a bit behind latest development
  • Jupyter extension is easy to set up on Docker and comes with a nice 3D preview pane
  • Was able to create a basic parametric design of an insert for an assortment box easily
  • Python 3.8+, not yet 3.11, OpenCascade related

Michael #4: Textinator

  • Like TextSniper, but in Python
  • Simple MacOS StatusBar / Menu Bar app to automatically detect text in screenshots
  • Built with RUMPS: Ridiculously Uncomplicated macOS Python Statusbar apps
  • Take a screenshot of a region of the screen using ⌘ + ⇧ + 4 (Cmd + Shift + 4).
  • The app will automatically detect any text in the screenshot and copy it to your clipboard.
  • How Textinator Works
    • At startup, Textinator starts a persistent NSMetadataQuery Spotlight query (using the pyobjc Python-to-Objective-C bridge) to detect when a new screenshot is created.
    • When the user creates screenshot, the NSMetadataQuery query is fired and Textinator performs text detection using a Vision VNRecognizeTextRequest call.

Brian #5: Handling Concurrency Without Locks

  • "How to not let concurrency cripple your system”
  • Haki Benita
  • “…common concurrency challenges and how to overcome them with minimal locking.”
  • Starts with a Django web app
  • A url shortener that generates a unique short url and stores the result in a database so it doesn’t get re-used.
  • Discussions of
    • collision with two users checking, then storing keys at the same time.
    • locking problems in general
    • utilizing database ability to make sure some items are unique, in this case PostgreSQL
    • updating your code to take advantage of database constraints support to allow you to do less locking within your code

Gina #6: TatSu

  • Generates parsers from EBNF grammars (or ANTLR)
  • Can compile the model (similar to regex) for quick reuse or generate python source
  • Many examples provided
  • Active development, Python 3.10+

Extras

Michael:

  • Back on 285 we spoke about PEP 690. Now there is a proper blog post about it.
  • Expedited release of Python3.11.0b3 - Due to a known incompatibility with pytest and the previous beta release (Python 3.11.0b2) and after some deliberation, Python release team have decided to do an expedited release of Python 3.11.0b3 so the community can continue testing their packages with pytest and therefore testing the betas as expected. (via Python Weekly)
  • Kagi search
    • via Daniel Hjertholm
    • Not really python related, but if I know Michael right, he'll love the new completely ad free and privacy-respecting search engine kagi.com. I've used kagi.com since their public beta launched, mainly to search for solutions to Python issues at work. The results are way better than DuckDuckGo's results, and even better than Googles! Love the Programming-lens and the ability to up/down prioritize domains in the results.
    • Their FAQ explains everything you need to know: https://kagi.com/faq
    • Looks great but not sure about the pricing justification (32 sec of compute = $1), that’s either 837x more than all of Talk Python + Python Bytes or more than 6,700x more than just one of our sites/services. (We spend about $100/mo on 8 servers.) But they may be buying results from Google and Bing, and that could be the cost.
    • Here's a short interview with the man who started kagi.

Gina:

  • rdserialtool: Reads out low-cost USB power monitors (UM24C, UM25C, UM34C) via BLE/pybluez. Amazing if you need to monitor the power consumption/voltage/current of some embedded electronics on a budget. Helped me solve a very much OctoPrint development specific problem. Python 3.4+
  • nodejs-bin:
    • by Sam Willis: https://twitter.com/samwillis/status/1537787836119793667
    • Install nodejs via pypi/as dependency, still very much an Alpha but looks promising
    • Makes it easier to obtain a full stack environment
    • Very interesting for end to end testing with JS based tooling, or packaging a frontend with your Python app
    • See also nodeenv, which does a similar thing, but with additional steps

Joke: Rejected Github Badges

view more

More Episodes

#465 Stack Overflow is Cooked
2026-01-12
#464 Malicious Package? No Build For You!
2026-01-05
#463 2025 is @wrapped
2025-12-22
#462 LinkedIn Cringe
2025-12-15
#461 This episdoe has a typo
2025-12-09
#460 Overlooked Python Typing
2025-12-01
#459 Inverted dependency trees
2025-11-24
#458 I will install Linux on your computer
2025-11-17
#457 Tapping into HTTP
2025-11-11
#456 You're so wrong
2025-11-03
#455 Gilded Python and Beyond
2025-10-27
#454 It's some form of Elvish
2025-10-20
#453 Python++
2025-10-16
#452 pi py-day (or is it py pi-day?)
2025-10-09
#451 Databases are a Fad
2025-09-29
#450 At-Cost Agentic IDE Tooling
2025-09-22
#449 Suggestive Trove Classifiers
2025-09-15
#448 I'm Getting the BIOS Flavor
2025-09-08
#447 Going down a rat hole
2025-09-02
#446 State of Python 2025
2025-08-25
  • ←
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • →
012345678910111213141516171819

Get this podcast on your
phone, FREE

Download Podbean app on App Store Download Podbean app on Google Play

Create your
podcast in
minutes

  • Full-featured podcast site
  • Unlimited storage and bandwidth
  • Comprehensive podcast stats
  • Distribute to Apple Podcasts, Spotify, and more
  • Make money with your podcast
Get started

It is Free

  • Podcast Services

    • Podcast Features
    • Pricing
    • Enterprise Solution
    • Private Podcast
    • The Podcast App
    • Live Stream
    • Audio Recorder
    • Remote Recording
    • Podbean AI
  •  
    • Create a Podcast
    • Video Podcast
    • Start Podcasting
    • Start Radio Talk Show
    • Education Podcast
    • Church Podcast
    • Nonprofit Podcast
    • Get Sermons Online
    • Free Audiobooks
  • MONETIZATION & MORE

    • Podcast Advertising
    • Dynamic Ads Insertion
    • Apple Podcasts Subscriptions
    • Switch to Podbean
    • YouTube to Podcast
    • Blog to Podcast
    • Submit Your Podcast
    • Podbean Plugins
    • Developers
  • KNOWLEDGE BASE

    • How to Start a Podcast
    • How to Start a Live Podcast
    • How to Monetize a Podcast
    • How to Promote Your Podcast
    • Mobile Podcast Recording Guide
    • How to Use Group Recording
    • Podcast Advertising 101
  • Support

    • Support Center
    • What’s New
    • Free Webinars
    • Podcast Events
    • Podbean Academy
    • Podbean Amplified Podcast
    • Badges
    • Resources
  • Podbean

    • About Us
    • Podbean Blog
    • Careers
    • Press and Media
    • Green Initiative
    • Affiliate Program
    • Contact Us
  • Privacy Policy
  • Cookie Policy
  • Terms of Use
  • Consent Preferences
  • Copyright © 2015-2026 Podbean.com