The Real Python Podcast

Querying OpenStreetMaps via API & Lazy Evaluation in Python


Listen Later

Would you like to get more practice working with APIs in Python? How about exploring the globe using the data from OpenStreetMap? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.

We share an article from the Pybites blog about building queries using the Overpass API for OpenStreetMap. The post explores the data structures, tags, query formats, and how to use Overpass in Python.

Christopher discusses a Real Python article by recent guest Stephen Gruppetta about lazy evaluation in Python. The piece covers the advantages of generator expressions or functions and the potential disadvantages of using lazy versus eager evaluation methods.

We also share several other articles and projects from the Python community, including a news roundup, handling control-c in asyncio, preventing data leakage in pandas and scikit-learn, discussing the Django developer survey results, asking developers why they aren’t shipping faster, using UV to install into isolated environments, and a couple of tools for retrying in Python.

This episode is sponsored by Sentry.

Course Spotlight: How to Set Up a Django Project

In this course, you’ll learn the necessary steps that you’ll need to take to set up a new Django project. You’ll learn the basic setup for any new Django project, which needs to happen before programming the specific functionality of your project.

Topics:

  • 00:00:00 – Introduction
  • 00:02:33 – PyPy v7.3.16 Release
  • 00:02:54 – PEP 745: Python 3.14 Release Schedule
  • 00:03:31 – The BASIC programming language turns 60
  • 00:05:24 – Asyncio Handle Control-C (SIGINT)
  • 00:07:37 – OpenStreetMaps, Overpass API and Python
  • 00:11:53 – What’s Lazy Evaluation in Python?
  • 00:16:10 – Sponsor: Sentry
  • 00:17:17 – How to Prevent Data Leakage in pandas & scikit-learn
  • 00:24:09 – Django Developers Survey 2023 Results
  • 00:33:07 – Video Course Spotlight
  • 00:34:21 – I Asked 100 Devs Why They Aren’t Shipping Faster?
  • 00:47:03 – pipxu: Install in Isolated Environments Using UV
  • 00:49:05 – tenacity: Retrying Library for Python
  • 00:50:04 – stamina: Production-Grade Retries for Python
  • 00:52:00 – Thanks and goodbye
  • News:

    • PyPy v7.3.16 Release
    • PEP 745: Python 3.14 Release Schedule
    • The BASIC programming language turns 60 - Ars Technica
    • Show Links:

      • Asyncio Handle Control-C (SIGINT) – When the user presses CTRL-C on the keyboard, the OS raises an interrupt signal to your program. When writing concurrent code this can get complicated as the signal goes to the process. This article shows you how to handle capturing CTRL-C elegantly when using asyncio.
      • OpenStreetMaps, Overpass API and Python – OpenStreetMaps (OSM) is an open source mapping project that allows people to browse the world map and to plan routes. Not only does it have the expected web interface, but it also has an API known as Overpass. This article shows you two ways to use Python to query Overpass.
      • What’s Lazy Evaluation in Python? – This tutorial explores lazy evaluation in Python and looks at the advantages and disadvantages of using lazy and eager evaluation methods. By the end of this tutorial, you’ll clearly understand which approach is best for you, depending on your needs.
      • How to Prevent Data Leakage in pandas & scikit-learn – How you impute missing values in machine learning data sets can affect the quality of your training. This article teaches you what data leakage is and what steps you should take to avoid it.
      • Discussion

        • Django Developers Survey 2023 Results
        • I Asked 100 Devs Why They Aren’t Shipping Faster? – Daksh asked 100 developers why they aren’t shipping faster and this blog post shares what he learned. Problems include dependency bugs, overly complicated code bases, waiting on requirements, and more.
        • Projects:

          • pipxu: Install in Isolated Environments Using UV
          • tenacity: Retrying Library for Python
          • stamina: Production-Grade Retries for Python
          • Additional Links:

            • NASA’s Voyager 1 spacecraft finally phones home after 5 months of no contact - Space
            • Python & APIs: A Winning Combo for Reading Public Data – Real Python
            • Loading Data from OpenStreetMap with Python and the Overpass API - Nikolai Janakiev
            • Leakage (machine learning) - Wikipedia
            • Djangonaut Space - Where Contributors launch!
            • Debris That Fell Off a Boeing 767 Found Outside the House of Lawyer
            • Level up your Python skills with our expert-led courses:

              • Getting Started With Django: Building a Portfolio App
              • Python Generators 101
              • How to Set Up a Django Project
              • Support the podcast & join our community of Pythonistas

                ...more
                View all episodesView all episodes
                Download on the App Store

                The Real Python PodcastBy Real Python

                • 4.7
                • 4.7
                • 4.7
                • 4.7
                • 4.7

                4.7

                136 ratings


                More shows like The Real Python Podcast

                View all
                Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

                Software Engineering Radio - the podcast for professional software developers

                272 Listeners

                The Changelog: Software Development, Open Source by Changelog Media

                The Changelog: Software Development, Open Source

                283 Listeners

                Data Skeptic by Kyle Polich

                Data Skeptic

                481 Listeners

                Talk Python To Me by Michael Kennedy

                Talk Python To Me

                592 Listeners

                Software Engineering Daily by Software Engineering Daily

                Software Engineering Daily

                624 Listeners

                The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence) by Sam Charrington

                The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence)

                443 Listeners

                Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

                Super Data Science: ML & AI Podcast with Jon Krohn

                296 Listeners

                Python Bytes by Michael Kennedy and Brian Okken

                Python Bytes

                213 Listeners

                Data Engineering Podcast by Tobias Macey

                Data Engineering Podcast

                142 Listeners

                Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                Syntax - Tasty Web Development Treats

                982 Listeners

                CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

                CoRecursive: Coding Stories

                189 Listeners

                DataFramed by DataCamp

                DataFramed

                266 Listeners

                Practical AI by Practical AI LLC

                Practical AI

                189 Listeners

                The Stack Overflow Podcast by The Stack Overflow Podcast

                The Stack Overflow Podcast

                64 Listeners

                Latent Space: The AI Engineer Podcast by swyx + Alessio

                Latent Space: The AI Engineer Podcast

                77 Listeners