Episode 173: Getting Involved in Open Source & Generating QR Codes With Python
The Real Python Podcast
Sep 22, 2023 47m
Have you thought about contributing to an open-source Python project? What are possible entry points for intermediate developers? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.
We discuss a recent article by Stefanie Molin called “5 Ways to Get Started in Open Source.” Christopher shares his experience with suggesting features and potential bug fixes. We talk about common entry points for beginners and provide additional resources.
We cover a recent Real Python tutorial about creating QR codes with Python. The tutorial introduces the library Segno and tours the features. By working through the examples, you’ll be ready to build a QR code project yourself.
We also cover several other articles and projects from the Python community, including a couple of release announcements, an introduction to Python’s functools
module, Hatch as an alternative for packaging, options for when NumPy is too slow, a simple diceware generator project, and a collection of machine learning recipes.
Course Spotlight: Caching in Python With lru_cache
Caching is an essential optimization technique. In this video course, you’ll learn how to use Python’s @lru_cache
decorator to cache the results of your functions using the LRU cache strategy. This is a powerful technique you can use to leverage the power of caching in your implementations.
Topics:
- 00:00:00 – Introduction
- 00:02:04 – 2023 Django Developers Survey
- 00:02:36 – Python 3.12.0 Release Candidate 2 Available
- 00:03:04 – Pandas 2.1.0 Released
- 00:03:27 – PEP 713: Callable Modules - Rejected
- 00:04:52 – Generate Beautiful QR Codes With Python
- 00:10:17 – Introduction to Python’s Functools Module
- 00:14:00 – Switching to Hatch
- 00:20:08 – Video Course Spotlight
- 00:21:27 – When NumPy is too slow
- 00:26:31 – 5 Ways to Get Started in Open Source
- 00:42:28 – nodice-cli: A simple diceware generator with no dependencies
- 00:44:32 – ML-Recipes: Collection of Machine Learning Recipes
- 00:47:00 – Thanks and goodbye
News:
- 2023 Django Developers Survey
- Python 3.12.0 Release Candidate 2 Available
- Pandas 2.1.0 Released
- PEP 713: Callable Modules - Rejected - PEPs - Discussions on Python.org
Show Links:
- Generate Beautiful QR Codes With Python – In this tutorial, you’ll learn how to use Python to generate QR codes, from your standard black-and-white QR codes to beautiful ones with your favorite colors. You’ll learn how to format QR codes, rotate them, and even replace the static background with moving images.
- Introduction to Python’s Functools Module – This article introduces you to the functions in Python’s
functools
module with real-world examples to help show you how and when to use each feature. - Switching to Hatch – Oliver used Poetry for most of his projects, but he recently tried out Hatch instead. This blog post covers what it took to get things going and what features he used, including how he ditched tox.
- When NumPy is too slow – NumPy is typically faster than plain Python for numeric calculations. What should you do when you find your NumPy-based code is too slow?
Discussion:
- 5 Ways to Get Started in Open Source – This article shares ideas for finding and making your first open-source contribution, using examples from contributions the author has made to various projects.
- The In-Person Event Handbook
- Development Sprints - PyCon US 2023
- Hacktoberfest 2023
Projects:
- nodice-cli: A simple diceware generator with no dependencies
- ML-Recipes: Collection of Machine Learning Recipes
Additional Links:
- Episode #157: Discussing Mojo & Improving Python Object-Oriented Programming
- Segno - Python QR Code and Micro QR Code encoder — Segno documentation
- Episode #125: Improve Matplotlib With Style Sheets & Python Async for the Web
functools
— Higher-order functions and operations on callable objects — Python documentation- About - Hatch
- tox
- xkcd: Password Strength