Episode 52: Connecting to MongoDB and Updates on the Python Packaging Landscape
The Real Python Podcast
Mar 19, 2021 45m
Have you heard about NoSQL databases, or wondered how to use one with Python? How does MongoDB store information and what packages can you use to connect this type of database to your Python project? This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects.
Episode Sponsor:
David talks about a recent Real Python video course about managing namespaces in Python. We also look at a few recent stories about the Python packaging ecosystem.
We cover several other articles and projects from the Python community including, generating customizable PDF reports with Python, how semantic versioning will not save you, PEP 621 is final, a user hits the Python community with 4,000 fake modules, making a synth with Python, and what is running on the Mars helicopter.
Course Spotlight: Navigating Namespaces and Scope in Python
In this course, you’ll learn about Python namespaces, the structures used to store and organize the symbolic names created during execution of a Python program. You’ll learn when namespaces are created, how they are implemented, and how they define variable scope.
Topics:
- 00:00:00 – Introduction
- 00:01:46 – Generate Customizable PDF Reports With Python
- 00:04:54 – Semantic Versioning Will Not Save You
- 00:14:55 – Sponsor: Digital Ocean
- 00:15:34 – PEP 621 Is Final
- 00:19:51 – Poison Packages: User Hits Python Community With 4000 Fake Modules
- 00:26:01 – Python and MongoDB: Connecting to NoSQL Databases
- 00:31:24 – Navigating Namespaces and Scope in Python
- 00:35:22 – Making a Synth With Python: Oscillators
- 00:39:19 – Video Course Spotlight
- 00:40:23 – Python Is Running on the Mars Helicopter
- 00:44:14 – Thanks and goodbye
Show Links:
Generate Customizable PDF Reports With Python – Learn how to generate custom PDF reports using reportlab and pdfrw with a PyQt GUI.
Semantic Versioning Will Not Save You – Semantic versioning aims to both communicate the version of software as well as promise that certain versions won’t break anything. Sounds great, right? In a lot of cases it is, but a blind reliance on semantic versioning can come back to haunt you.
PEP 621 Is Final – In the near future, you’ll be able to store project metadata in pyproject.toml. Brett Cannon
Poison Packages: User Hits Python Community With 4000 Fake Modules – Recently, a PyPI user going by the name “Remind Supply Chain Risks” uploaded nearly 4,000 fake modules to the index, many of which were named as common misspellings of popular packages. Learn about the incident in this article, and read all the way to the end for four tips every Python developer should follow.
Python and MongoDB: Connecting to NoSQL Databases – Learn how to use Python to interface with the NoSQL database system MongoDB. You’ll get an overview of the differences between SQL and NoSQL, and you’ll also learn about related tools, including PyMongo and MongoEngine.
Navigating Namespaces and Scope in Python – Learn about Python namespaces, the structures used to store and organize the symbolic names created during the execution of a Python program. You’ll learn when namespaces are created, how they are implemented, and how they define variable scope.
Projects:
Making a Synth With Python: Oscillators – Learn how to create oscillators using Python as a foundation for creating your own software synthesizers. This article is one of a three-part series. The other articles cover modulators and controllers.
Python Is Running on the Mars Helicopter
How the First Helicopter on Mars Uses Off-the-Shelf Hardware and Linux
Additional Links:
- GUI Programming With PyQt - Real Python Learning Path
- Episode 20: Building PDFs in Python with ReportLab
- Python cryptography, Rust, and Gentoo: LWN.net
- Every Change Breaks Someone’s Workflow: XKCD Comic
- What the heck is pyproject.toml? – Brett Cannon’s Blog
- TOML – Tom’s Obvious Minimal Language
- PEP 518 – Specifying Minimum Build System Requirements for Python Projects
- Python MongoDB Tutorial using Docker: CoderVlogger Medium Post
- Korg DS-8: Vintage Synth Explorer