Episode 143: Create Interactive Maps & Geospatial Data Visualizations With Python
The Real Python Podcast
Feb 03, 2023 1h 2m
Would you like to quickly add data to a map with Python? Have you wanted to create beautiful interactive maps and export them as a stand-alone static web page? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects.
Episode Sponsor:
We share a recent Real Python tutorial about using Python Folium to create geospatial data visualizations. Folium harnesses the power of the JavaScript library Leaflet. The project shares how to combine this graphical power with Python’s data-wrangling strength.
Christopher shares a recent Python Enhancement Proposal (PEP) about the Global Interpreter Lock (GIL) in CPython. The PEP proposes a change to the build process that implements a flag for optionally building a GIL-less interpreter.
We share several other articles and projects from the Python community, including a news update, a YAML
document from hell, a set of logging practices to follow, a discussion about the discourse surrounding the recent Python packaging user survey, a modern Python UI library based on Tkinter, and a lightweight tool kit for bounding boxes.
Course Spotlight: Everyday Project Packaging With pyproject.toml
In this Code Conversation video course, you’ll learn how to package your everyday projects with pyproject.toml
. Playing on the same team as the import system means you can call your project from anywhere, ensure consistent imports, and have one file that’ll work for many build systems.
Topics:
- 00:00:00 – Introduction
- 00:02:33 – Bleach 6.0.0 release and deprecation
- 00:05:03 – Python Folium: Create Web Maps From Your Data
- 00:10:37 – PEP 703: Making the GIL Optional in CPython
- 00:15:36 – Sponsor: Influxdata
- 00:16:24 – The YAML Document From Hell
- 00:27:53 – Logging Practices I Follow
- 00:32:08 – How to improve Python packaging
- 00:36:55 – Video Course Spotlight
- 00:38:25 – Thoughts on the Python packaging ecosystem
- 00:58:16 – CustomTkinter: Python UI library Based on Tkinter
- 01:00:16 – pybboxes: Lightweight Tool Kit for Bounding Boxes
- 01:01:36 – Thanks and goodbye
News:
Show Links:
- Python Folium: Create Web Maps From Your Data – You’ll learn how to create web maps from data using Folium. The package combines Python’s data-wrangling strengths with the data-visualization power of the JavaScript library Leaflet. In this tutorial, you’ll create and style a choropleth world map that shows the ecological footprint per country.
- PEP 703: Making the GIL Optional in CPython – This PEP proposes changes to the CPython build process that would allow you to build a GIL-less interpreter. This kind of interpreter would not be ABI compatible with the GIL-based one, and the programmer would become responsible for some locking situations in C-extensions. If implemented, this would lead the way to being able to operate without the GIL in cases where backward-compatibility issues aren’t important.
- The
yaml
Document From Hell – As a data format, YAML is extremely complicated and it has many footguns. In this post, Ruud explains some of those pitfalls by means of an example and suggests a few simpler and safer YAML alternatives. - Logging Practices I Follow – “No matter what kind of software you’re developing, you most definitely leverage logging to some extent, probably every single day.” This article outlines good cross-language logging practices, making it easier to find bugs and understand what has happened in your software.
Discussion:
- How to improve Python packaging, or why fourteen tools are at least twelve too many - Chris Warrick
- Thoughts on the Python packaging ecosystem - Pradyun Gedam
- Python Packaging User Survey - Results PDF
- Python Packaging Strategy Discussion - Part 1 - Packaging - Discussions on Python.org
- Thoughts on the Python packaging ecosystem | Hacker News
- Stargirl: “So You Want to Solve Python Packaging” - Fosstodon
- xkcd: Standards
Projects:
Additional Links:
- PEP 554 – Multiple Interpreters in the Stdlib - peps.python.org
- YAML: The Missing Battery in Python – Real Python
- Python and TOML: New Best Friends – Real Python
- PEP 665 – A file format to list Python dependencies for reproducibility of an application - peps.python.org
- tkinter — Python interface to Tcl/Tk — Python 3.11.1 docs
- Python GUI Programming With Tkinter – Real Python