The Real Python Podcast

Real Python
undefined
Oct 8, 2021 • 54min

Exploring the New Features of Python 3.10

Python 3.10 is here! This week on the show, two former guests and Real Python authors return to talk about the new version. Geir Arne Hjelle’s article was posted to the site Monday, and it’s titled “Python 3.10: Cool New Features for You to Try”. Christopher Trudeau’s video course came out on Tuesday, and it covers the topics from the article with multiple visual examples of Python 3.10 code. Geir Arne and Christopher worked together to create code examples of the new features used in both. We talk about more user-friendly error messages, structural pattern matching, enhancements to Python’s type system, and much more. Geir Arne and Christopher not only cover the new features but they offer advice about ways you might incorporate them into your code. We also discuss what you should think about before running the new version for your projects. Course Spotlight: Cool New Features in Python 3.10 In this course, you’ll explore some of the coolest and most useful features in Python 3.10. You’ll appreciate more user-friendly error messages, learn about how you can handle complicated data structures with structural pattern matching, and explore new enhancements to Python’s type system. Topics: 00:00:00 – Introduction 00:02:20 – Better Error Messages 00:07:14 – Structural Pattern Matching 00:14:14 – Sponsor: Snyk 00:14:55 – Type Unions, Aliases, and Guards 00:22:34 – Future Annotations 00:26:46 – Stricter Zipping of Sequences 00:28:30 – New Functions in the statistics Module 00:31:46 – Video Course Spotlight 00:32:50 – Asynchronous Iteration 00:38:59 – Default Text Encodings 00:41:33 – Context Manager Syntax 00:43:19 – Modern and Secure SSL 00:45:10 – Should you upgrade now? 00:49:59 – How to Detect Python 3.10 at Runtime 00:53:07 – Thanks and goodbye Show Links: About Geir Arne Hjelle: Real Python Team Profile About Christopher Trudeau: Real Python Team Profile Python 3.10: Cool New Features for You to Try: Real Python Article Cool New Features in Python 3.10: Real Python Video Course Python 3.10.0 Released: python.org Better error messages: What’s New docs.python.org PEP 634: Structural Pattern Matching - Specification PEP 635: Structural Pattern Matching - Motivation and Rationale PEP 636: Structural Pattern Matching - Tutorial PEP 604: Allow writing union types as X | Y PEP 613: Explicit Type Aliases PEP 647: User-Defined Type Guards PEP 612: Parameter Specification Variables Using the Python zip() Function for Parallel Iteration: Real Python Article statistics — Mathematical statistics functions: docs.python.org PEP 525: Asynchronous Generators Context Managers and Python’s with Statement: Real Python Article Run Python Versions in Docker: How to Try the Latest Python Release: Real Python Article Level up your Python skills with our expert-led courses: Hands-On Python 3 Concurrency With the asyncio Module Cool New Features in Python 3.10 Cool New Features in Python 3.9 Support the podcast & join our community of Pythonistas
undefined
Oct 1, 2021 • 1h 3min

Make Your Python App Interactive With a Text User Interface (TUI)

Have you wanted to create a Python application that goes further than a command-line interface? You would like it to have a friendly interface but don’t want to make a GUI (Graphical User Interface) or web application. Maybe a TUI (Text User Interface)would be a perfect fit for the project. This week on the show, we have Will McGugan to talk about his projects Textual and Rich. Rich is a Python library for writing rich text to the terminal with color and style. It’s a great tool if you want to display advanced content such as tables, markdown, and syntax-highlighted code. We talk about how Will started on the project and how it’s developed over the years. We also talk about Will’s new project Textual, a TUI using much of Rich at its core. He shares how the project is coming along and what are challenges in developing this type of application. We discuss how a TUI has more in common with CSS and web development than command line or graphical interfaces. We also have a quick announcement at the top of the show from CPython Developer in Residence Łukasz Langa about next week’s release of Python 3.10. Course Spotlight: Rock, Paper, Scissors With Python: A Command Line Game In this course, you’ll learn to program rock paper scissors in Python from scratch. You’ll learn how to take in user input, make the computer choose a random action, determine a winner, and split your code into functions. Topics: 00:00:00 – Introduction 00:02:08 – Python 3.10 Release Party - Announcement 00:03:32 – Will McGugan and the background of the Rich library 00:10:11 – Moya framework 00:21:38 – Sponsor: DataStax Astra DB 00:22:10 – The spark that started Textual 00:26:31 – Needing AsyncIO for a TUI 00:28:07 – Describing a TUI (Text User Interface) 00:33:57 – Scrolling, resizing, and similarities with CSS 00:36:37 – Video Course Spotlight 00:38:03 – What areas were difficult in developing Textual? 00:39:42 – Similarities to game development 00:41:47 – Testing across different terminals 00:45:01 – What were you excited to include in the project? 00:47:04 – Are there particular uses you foresee for Textual? 00:49:21 – Career changes and open source reviewing 00:54:21 – Version numbers and Textual 00:55:49 – What are you excited about in the world of Python? 00:58:27 – What do you want to learn next? 01:00:57 – Shoutouts and plugs 01:01:47 – Thanks and goodbye Show Links Will McGugan’s Blog Will McGugan’s GitHub Rich Documentation The Python Rich Package: Unleash the Power of Console Text Pygments: Python Syntax Highlighter object.__repr__ (self): Python docs Regular Expressions: Regexes in Python (Part 1) - Real Python Moya: Open source web development platform built with Python Building Rich terminal dashboards: Will’s blog Textual: A TUI (Text User Interface) framework for Python inspired by modern web development The 2021 Python Language Summit: Making CPython Faster Episode 69: Planning a Faster Future at the Python Language Summit Python 3.10 Release Party Announcement Łukasz Langa’s twitter: Developer in Residence Pablo Galindo Salgado’s twitter: Python 3.10 and 3.11 release manager Will McGugan’s Twitter Why I’m working on Open Source full time Level up your Python skills with our expert-led courses: Grow Your Python Portfolio With 13 Intermediate Project Ideas Command Line Interfaces in Python Rock, Paper, Scissors With Python: A Command Line Game Support the podcast & join our community of Pythonistas
undefined
Sep 24, 2021 • 56min

Measuring Your Python Learning Progress

Where are you along the path of learning Python? Do you feel like you’re making progress? What are ways you can put the learning path into a more precise focus? This week on the show, we talk with previous guest Martin Breuss about his recent article “How Long Does It Take to Learn Python?” Martin discusses methods for measuring your progress and the various reasons for learning the language. We talk about how different backgrounds will affect your approach. We also suggest resources to help you on your path. We share a couple of recent Python projects to round out the episode. The first is a library to draw stylized maps from OpenStreetMap data. The other is a framework for the analysis and visualization of trees, which includes a set of phylogenomic tools. Course Spotlight: Using the Python return Statement Effectively In this step-by-step course, you’ll learn how to use the Python return statement when writing functions. Additionally, you’ll cover some good programming practices related to the use of return. With this knowledge, you’ll be able to write readable, robust, and maintainable functions in Python. Topics: 00:00:00 – Introduction 00:01:44 – Real Python Core Team Member 00:03:13 – How long does it take to learn Python? 00:03:40 – Why did you want to explore this topic? 00:05:05 – Python backgrounds Martin and Christopher 00:16:39 – What area excited you? 00:19:38 – Sponsor: Rev AI 00:20:16 – What are other areas that define, why Python? 00:23:30 – Keeping the scope narrower 00:24:48 – Measuring your progress 00:32:49 – Video Course Spotlight 00:34:12 – Effective mentorship 00:39:02 – Using search engines 00:43:07 – The journey of learning Python 00:48:38 – Programming challenges and practicing 00:49:40 – pretty maps - Minimal Python library to draw customized maps 00:52:02 – ETE Toolkit - Python environment for tree exploration 00:54:30 – Thanks and goodbye Show Links: About Martin Breuss: Real Python Team How Long Does It Take to Learn Python? Four stages of competence: Wikipedia Article The Basic Python Syntax: Links to Real Python Resources BTW these large scary math symbols are just for-loops Measuring the “Filter Bubble”: How Google is influencing what you click What does Google know about me? Ace Your Python Coding Interview: Real Python Learning Path CodingBat: Coding Practice Episode 4: Learning Python Through Errors Episode 48: Stochastic Gradient Descent and Deploying Your Python Scripts on the Web Projects: pretty maps: A minimal Python library to draw customized maps from OpenStreetMap data ETE Toolkit: A Python framework for the analysis and visualization of trees NCBI: National Center for Biotechnology Information ete-ncbiquery: Fast and handy queries to the NCBI taxonomy database Level up your Python skills with our expert-led courses: Using the Python return Statement Effectively Graph Your Data With Python and ggplot How to Set Up a Django Project Support the podcast & join our community of Pythonistas
undefined
Sep 17, 2021 • 48min

Learning Python Through Illustrated Stories

Are you a visual learner? Does it help to have programming concepts shared with concrete examples and images? Would you like to see if your child might be interested in programming? This week on the show, we talk with author Shari Eskenas about her books, “A Day in Code - Python: Learn to Code in Python Through an Illustrated Story” and “Learn Python Through Nursery Rhymes & Fairy Tales.” We talk about the books and what inspired her to bring programming to picture books. Shari discusses her goal of providing a fun way for beginners to experience learning to code. Shari is also an electrical engineer with multiple patents and the founder of Sundae Electronics. We talk briefly about SoundBrake, which is an audio device that alerts headphone users to outside sounds. Shari’s programming background is primarily in C, and we cover her path to Python. We also discuss how she is using Python and the Raspberry Pi to prototype new projects. Course Spotlight: Reading and Writing Files With Pandas In this course, you’ll learn about the Pandas IO tools API and how you can use it to read and write files. You’ll use the Pandas read_csv() function to work with CSV files. You’ll also cover similar methods for efficiently working with Excel, CSV, JSON, HTML, SQL, pickle, and big data files. Topics: 00:00:00 – Introduction 00:02:05 – A Day in Code Books 00:05:32 – Showing Python classes and object oriented concepts 00:08:02 – What Python concepts did you want to cover in the book? 00:09:17 – Translating the book and concepts from C to Python 00:11:04 – Reception of the book 00:12:10 – Using real objects and names in code 00:14:05 – Sponsor: DataStax Astra DB 00:14:38 – Learn Python Through Nursery Rhymes & Fairy Tales 00:20:25 – Sundae Electronics and SoundBrake 00:26:47 – Video Course Spotlight 00:27:57 – Prototyping with Python and Raspberry Pi 00:38:19 – When did you start to learn Python? 00:39:31 – Real Python community 00:41:33 – How do you see yourself using Python in the future? 00:43:39 – What are you excited about in the world of Python? 00:45:02 – What do you want to learn next? 00:45:51 – Shout outs and plugs: Kickstarter campaign 00:46:40 – Social media connections 00:47:08 – Thanks and goodbye Show Links: A Day in Code - Python: Learn to code in Python through an illustrated story A Day in Code: An illustrated story written in the C programming language Learn Python through Nursery Rhymes & Fairy Tales: Kickstarter Sundae Electronics Raspberry Pi Computers and Microcontrollers Raspberry Pi Remote Access CircuitPython: The Easiest Way to Program Microcontrollers Real Python Community Level up your Python skills with our expert-led courses: Reading and Writing Files With pandas Getting Started With MicroPython Python Basics: Setting Up Python Support the podcast & join our community of Pythonistas
undefined
Sep 10, 2021 • 1h 10min

Advantages of Completing Small Python Projects

Are you a beginner or intermediate Python programmer who has made it through some of the fundamentals? Have you tried to tackle a big project but got stuck and frustrated? Completing some small projects might be the answer. This week on the show, we have author Al Sweigart and talk about his new book, “The Big Book of Small Python Projects.” We discuss the advantages of sometimes thinking small in terms of Python programs. We talk about completing projects and the benefits of manually copying code by typing it in yourself. Al also has suggestions about tools for beginners and intermediate developers. Course Spotlight: Grow Your Python Portfolio With 13 Intermediate Project Ideas Get started on 13 Python project ideas that are just right for intermediate Python developers. They’ll challenge you enough to help you become a better Pythonista. Topics: 00:00:00 – Introduction 00:01:53 – Writing books and PyCascades 2021 Author panel 00:06:58 – Did you type in code from books as beginner? 00:10:16 – About the book 00:20:53 – Sponsor: Rev AI 00:21:30 – General instructions on how to start with the book 00:27:39 – Working with a debugger 00:30:28 – Experimenting with existing code 00:34:27 – Tools for learning touch typing 00:38:31 – Video Course Spotlight 00:39:37 – IDEs, Mu, and Python’s IDLE 00:45:42 – Online diff tool 00:47:27 – Some of the projects, games, animations 00:51:58 – Finishing things 00:54:07 – What are areas of Python you see beginners struggle with? 00:59:41 – What is something you wish you were shown as a beginner? 01:02:07 – What are you excited about in the world of Python? 01:04:34 – What do you want to learn next? 01:07:27 – Shout outs and social connections 01:08:33 – Thanks and goodbye Show Links: The Big Book of Small Python Projects: No Starch Press Invent With Python Al Sweigart Website Everything You Need to Know About Writing Technical Python Books: PyCascades 2021 PEP 657 – Include Fine Grained Error Locations in Tracebacks Episode 71: Start Using a Debugger With Your Python Code Nina Zakharenko - Goodbye Print, Hello Debugger! - PyCon 2020 TypingClub: Learn Touch Typing for Free! Typespeed: Typing Speed Testing Game for Ubuntu Linux Code With Mu: Simple Python editor for beginner programmers IDLE: Python’s Integrated Development and Learning Environment 90 percent of US net users don’t know from crtl-F The Beginner’s Guide to Python Turtle: Real Python Article Python’s dir() Built-in Function: docs.python.org Python’s help() Built-in Function: docs.python.org How to Get Help in Python - Your First Steps -Announcing the Location for PyCon US 2022/2023 Episode 33: Going Beyond the Basic Stuff With Python and Al Sweigart Focusmate: Distraction-free Productivity Level up your Python skills with our expert-led courses: Grow Your Python Portfolio With 13 Intermediate Project Ideas Arduino With Python: Getting Started Debugging in Python With pdb Support the podcast & join our community of Pythonistas
undefined
Sep 3, 2021 • 50min

Harnessing Python's math Module and Exposing Practical Pandas Functions

How well do you know Python’s math module? Maybe you’ve used a few of the constants or arithmetic functions. You may be surprised by the amount of functionality hiding within this built-in library, and perhaps you don’t need to reach for an additional outside library. This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects. We discuss a recent video course about the math module. David shares a recent article about implementing efficient queues and stacks with Python’s deque (double-ended queue) class. We also talk about an article that shares 25 Pandas functions you may not have known to exist. We cover several other articles and projects from the Python community including, visualization and interactive dashboards in Python with HoloViz, designing a camera with Python and PyRayT, graphing data science with Python and networkx, another useful Python pdf library, and runtime software verification and automated testing for scientific software in Python with a project named paranoidscientist. Course Spotlight: Exploring the Python math Module In this step-by-step course, you’ll learn all about Python’s math module for higher-level mathematical functions. Whether you’re working on a scientific project, a financial application, or any other type of programming endeavor, you just can’t escape the need for math! Topics: 00:00:00 – Introduction 00:02:09 – Python’s deque: Implement Efficient Queues and Stacks 00:07:31 – Visualization and Interactive Dashboard in Python 00:14:11 – Sponsor: DataStax Astra DB 00:14:42 – Design a Camera with Python and PyRayT 00:19:39 – 25 Pandas Functions You Didn’t Know Existed 00:27:03 – Graph Data Science With Python and NetworkX 00:33:01 – Exploring the Python math Module 00:40:51 – Video Course Spotlight 00:42:12 – paranoidscientist: Runtime Software Verification and Automated Testing for Scientific Software in Python 00:45:33 – borb: A Python PDF library 00:49:01 – Thanks and goodbye Show Links: Python’s deque: Implement Efficient Queues and Stacks – In this step-by-step tutorial, you’ll learn about Python’s deque and how to use it to perform efficient pop and append operations on both ends of your sequences. Deques are commonly used to build queues and stacks. Visualization and Interactive Dashboard in Python – Have you ever heard of HoloViz? It’s a set of Python visualization and plotting tools for browser-based data visualization and presentation. In this article, Sophia Yang — a senior data scientist at Anaconda — explains why she loves HoloViz and what her workflow looks like when using it. Design a Camera with Python and PyRayT – Camera lenses are more complex than you might think. If you cut open a camera to look at a cross-section, you’d see that a lens is actually made up of several smaller lenses. This article explores how camera lenses work using a new Python raytracing project called PyRayT that’s designed for designing optical systems. 25 Pandas Functions You Didn’t Know Existed – Did you know that you can style the pandas DataFrame output in a notebook? This listicle covers twenty-five pandas functions that you may not have heard of, including .explode(), .squeeze(), and the pandas DataFrame styler. There’s something in this article for everyone, so read it to find out how you can take your pandas skills to the next level. Graph Data Science With Python and NetworkX – Graph theory network analysis can yield deep data insights that are difficult to tease out via alternative methods. Get a taste of what graph analysis can do in this quick, hands-on tutorial that uses NetworkX to create and analyze a graph. Exploring the Python math Module – In this step-by-step course, you’ll learn all about Python’s math module for higher-level mathematical functions. Whether you’re working on a scientific project, a financial application, or any other type of programming endeavor, you just can’t escape the need for math! Projects: paranoidscientist: Runtime Software Verification and Automated Testing for Scientific Software in Python borb: A Python PDF library Additional Links: Interactive Data Visualization in Python With Bokeh: Real Python Course Lensbaby: Award-Winning Creative Effects Lenses & Tools pandas - Comparison with spreadsheets NetworkX Creating a PDF Document in Python with borb Creating PDF Invoices in Python with borb Level up your Python skills with our expert-led courses: Reading and Writing Files With pandas Exploring the Python math Module Editing Excel Spreadsheets in Python With openpyxl Support the podcast & join our community of Pythonistas
undefined
5 snips
Aug 27, 2021 • 1h 25min

Building With CircuitPython & Constraints of Python for Microcontrollers

Can you make a version of Python that fits within the memory constraints of a microcontroller and have it still feel like Python? That is the intention behind CircuitPython. This week on the show, we have Scott Shawcroft, who is the project lead for CircuitPython. We talk about all things CircuitPython. While working with the language on several projects I have developed many of my own questions to ask Scott. Scott answers my questions about boot loaders, packages, the bundle, and bluetooth low energy (BLE). He also talks about the struggle of fitting the language and board specific libraries within tiny memory constraints. We discuss projects and boards for beginners, and many resources to learn more. Course Spotlight: Getting Started With MicroPython Are you interested in the Internet of Things, home automation, and connected devices? If so, then you’re in luck! In this course, you’ll learn about MicroPython and the world of electronics hardware. You’ll set up your board, write your code, and deploy a MicroPython project to your own device. Topics: 00:00:00 – Introduction 00:01:56 – Background With CircuitPython 00:07:22 – Lightning talk and CircuitPython as a subset of Python 00:16:01 – Working with CircuitPython: Bootloaders and Packages 00:27:20 – Specific libraries, adding modules, and pip 00:37:21 – Sponsor: Rev.ai 00:37:57 – How to program, text editor or IDE 00:41:19 – Bluetooth Low Energy (BLE) and programming devices remotely 00:50:02 – Video Course Spotlight 00:51:06 – Do you consider yourself a Maker? 00:54:58 – Bringing CircuitPython coding to the Raspberry Pi? 00:59:56 – Suggestions for beginner hardware 01:00:55 – Suggestions for add-on boards for audio or displays 01:10:20 – Electronics Show and Tell Wednesdays 01:11:51 – Events, video streams, and Discord server 01:16:00 – What are you excited about in the world of Python? 01:17:23 – What do you want to learn next? 01:18:42 – Shoutouts and plugs 01:22:40 – Social media info 01:23:52 – Thanks and goodbye Show Links: CircuitPython: The easiest way to program microcontrollers Adafruit LadyAda.net MicroPython: Python for Microcontrollers 2021 Python Language Summit Lightning Talks Slides: tannewt GitHub The 2021 Python Language Summit: Lightning Talks, Round 1 Episode 69: Planning a Faster Future at the Python Language Summit Episode 47: Unraveling Python’s Syntax to Its Core With Brett Cannon Syntatic Sugar Series: Brett Cannon WebAssembly - WASM Adafruit MacroPad RP2040 Starter Kit John Park’s Workshop: YouTube Playlist Code With Mu: A simple Python editor for beginner programmers BLE - Bluetooth Low Energy: Wikipedia CircUp: A tool to manage and update libraries (modules) on a CircuitPython device Blinka: Brings CircuitPython APIs to single board computers Raspberry Pi 400 Desktop - Full Computer Kit Electronics Show and Tell Wednesdays: YouTube playlist learn.adafruit.com AdaBox: Curated Adafruit products tannewt GitHub Adafruit Discord Server: Link to join Level up your Python skills with our expert-led courses: Reading and Writing Files With pandas Documenting Code in Python Getting Started With MicroPython Support the podcast & join our community of Pythonistas
undefined
Aug 20, 2021 • 58min

Python's Assignment Expressions and Fixing a Botched Release to PyPI

Have you started to use Python’s assignment expression in your code? Maybe you have heard them called the walrus operator. Now that the controversy over the introduction in Python 3.8 has settled down, how can you use assignment expressions effectively in your code? This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects. David shares a recent article by previous guest Brett Cannon about what to do if you botch a release to PyPI. It’s a valuable resource to keep bookmarked for when things go sideways. We also talk about a recent project by Brett, a Python launcher for Unix based operating systems. We cover several other articles and projects from the Python community including, a Python framework with a built-in database and authorization support from Replit, do coders learn how to use entire libraries just from the documentation, how to use sleep() to code a Python uptime bot, monitor your home’s temperature and humidity with Raspberry Pis and Prometheus, and a fast Settlers of Catan Python implementation with a strong AI player. Course Spotlight: Using sleep() to Code a Python Uptime Bot In this course, you’ll learn how to add time delays to your Python programs. You’ll use the built-in time module to add Python sleep() calls to your code. To practice, you’ll use time.sleep() when making an uptime bot that checks whether a website is still live. Topics: 00:00:00 – Introduction 00:02:43 – The Walrus Operator: Python 3.8 Assignment Expressions 00:12:41 – Replit.web: Python Framework With Built-in Database and Auth 00:16:55 – Sponsor: Gather 00:17:39 – Do Coders Learn How to Use Entire Libraries Just From the Docs? 00:26:15 – Using sleep() to Code a Python Uptime Bot 00:31:53 – Monitor Home Temperature and Humidity With Raspberry Pis and Prometheus 00:39:51 – Video Course Spotlight 00:40:57 – What to Do When You Botch a Release on PyPI 00:47:25 – catanatron: Fast Settlers of Catan Python Implementation 00:50:37 – python-launcher: Python Launcher for Unix 00:56:59 – Thanks and goodbye Show Links: The Walrus Operator: Python 3.8 Assignment Expressions – In this tutorial, you’ll learn about assignment expressions and the walrus operator. The biggest change in Python 3.8 was the inclusion of the := operator, which you can use to assign variables in the middle of expressions. You’ll see several examples of how to take advantage of this new feature. Replit.web: A Python Framework With Built-in Database and Auth Support – The folks over at replit have released a new Python web framework with built-in authentication and database support and, more interestingly, hosting. In a few lines of code, you can have a Python web app connected to a database, authenticating users, and hosted on replit. This could be a great tool for quickly building and hosting prototypes or experimental projects. Do Coders Really Learn How to Use Entire Libraries Just From the Documentation? – How do you learn a new library? Do you start with the docs? What do you do if the documentation is lacking? Or do you first search for video lessons or written tutorials? Using sleep() to Code a Python Uptime Bot – Learn how to add time delays to your Python programs. You’ll use the built-in time module to add Python sleep() calls to your code. To practice, you’ll use time.sleep() when making an uptime bot that checks whether a website is still live. Monitor Your Home’s Temperature and Humidity With Raspberry Pis and Prometheus – Do you enjoy collecting and analyzing data, or are you looking for a fun project to improve your data skills? Do you also enjoy tinkering with hardware? Then this project might be a fun one for you to check out! Learn how to set up a RaspberryPi using Prometheus to collect and monitor temperature sensor data. What to Do When You Botch a Release on PyPI – Mistakes happen to everyone. But what do you do if you make a mistake when releasing a package to PyPI? Don’t panic! There are a number of things you can do to fix a bad release. This article walks you through several scenarios and suggested solutions. Projects: catanatron: Fast Settlers of Catan Python Implementation and Strong AI Player python-launcher: Python Launcher for Unix Additional Links: Python sleep(): How to Add Time Delays to Your Code: Real Python Article Cool New Features in Python 3.8: Real Python Article PEP 572 – Assignment Expressions: Python.org Prometheus Set up temperature sensors in your home with a Raspberry Pi: Opensource.com Run Prometheus at home in a container: Opensource.com Raspberry Pi Humidity Sensor using the DHT22: PiMyLifeUp Episode 47: Unraveling Python’s Syntax to Its Core With Brett Cannon Episode 43: Deep Reinforcement Learning in a Notebook With Jupylet + Gaming and Synthesis Level up your Python skills with our expert-led courses: How to Publish Your Own Python Package to PyPI Cool New Features in Python 3.8 Using sleep() to Code a Python Uptime Bot Support the podcast & join our community of Pythonistas
undefined
Aug 13, 2021 • 1h 1min

Supporting Python Open Source Projects and Maintainers

How do you define open source software? What are the challenges an open source project and maintainers face? How do maintainers receive financial, legal, security, or other types of help? This week on the show, we have Josh Simmons from Tidelift and the Open Source Initiative to help answer these questions. Josh does open source ecosystem strategy for Tidelift. We talk about what Tidelift is and how they support maintainers. We also discuss the types of support maintainers need and the barriers that can block that support. Josh also serves as President of the Open Source Initiative. OSI is actively involved in open source community-building and education. He talks about how collectives and foundations can be powerful tools in the open source ecosystem. Course Spotlight: Python Inner Functions In this step-by-step course, you’ll learn what inner functions are in Python, how to define them, and what their main use cases are. You’ll see how to write helper functions, create closure factory functions, and how to add behavior to existing functions with decorators. Topics: 00:00:00 – Introduction 00:01:49 – What is Tidelift? 00:03:41 – What is your role? 00:05:28 – What is a lifter? 00:06:50 – How much software used by businesses is open-source? 00:10:26 – Comparing risks of proprietary, open-source, and commercial software 00:18:52 – How to define a project as open-source 00:30:17 – Defining rights and freedoms of open-source 00:32:39 – Sponsor: Sentry 00:33:43 – Obstacles in the way for contributions 00:42:51 – Other types of support open-source contributors need 00:46:55 – A goal to work with foundations and individual maintainers 00:49:54 – Benefits of improved documentation, a force multiplier 00:51:26 – Video Course Spotlight 00:52:37 – What makes a managed open-source project? 00:54:58 – What are you excited about in the world of Python? 00:55:51 – What do you want to learn next? 00:57:10 – Shoutout and call to action 00:59:27 – Social media information 00:59:46 – Thanks and goodbye Show Links: Joshua R. Simmons: Website Tidelift: A better way to manage open source What motivates open source maintainers?: TideLift YouTube Tidelift: Are you an open source maintainer? Better together: cultivating an open source ecosystem that works for everyone Open Source Initiative: Guaranteeing the ‘our’ in source The Open Source Definition: 10 Criteria Open Source Collective: Non-profit fiscal host promoting a healthy and sustainable open source ecosystem Software Freedom Conservancy: A not-for-profit charity that helps promote, improve, develop, and defend Free, Libre, and Open Source Software (FLOSS) projects Software Freedom Conservancy: Wikipedia Article Django Software Foundation: About Python Software Foundation: Membership Josh Simmons Twitter Level up your Python skills with our expert-led courses: Python Inner Functions Documenting Code in Python How to Publish Your Own Python Package to PyPI Support the podcast & join our community of Pythonistas
undefined
Aug 6, 2021 • 46min

Starting With FastAPI and Examining Python's Import System

Have you heard of FastAPI? An application programming interface is vital to make your software accessible to users across the internet. FastAPI is an excellent option for quickly creating a web API that implements best practices. This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects. We share an introduction to FastAPI written by the framework’s author, Sebastián Ramírez. The goal behind the article is to get you started creating production-ready APIs. David covers an article about the Python import system and how it remains a mystery for many Python developers. We share some additional Real Python resources on the import system and statements. We cover several other articles and projects from the Python community including, a buffet of specialized data types with Python’s collections module, maps with Django using GeoDjango, PostGIS, and Leaflet, moving SciPy to the Meson build system, what’s new in Python 3.11, a community-maintained Python framework for creating mathematical animations, and easily make PDFs with pdfme. Course Spotlight: Python Modules and Packages: An Introduction In this course, you’ll explore Python modules and Python packages, two mechanisms that facilitate modular programming. See how to write and import modules so you can optimize the structure of your own programs and make them more maintainable. Topics: 00:00:00 – Introduction 00:02:18 – Python’s collections: A Buffet of Specialized Data Types 00:08:07 – Maps With Django: GeoDjango, PostGIS, and Leaflet 00:12:12 – Moving SciPy to the Meson Build System 00:18:16 – Sponsor: Sentry 00:19:18 – What’s New In Python 3.11 00:24:32 – Behind the Scenes: How the Python Import System Works 00:31:34 – Video Course Spotlight 00:32:40 – Using FastAPI to Build Python Web APIs 00:38:42 – manim: A Community-Maintained Python Framework for Creating Mathematical Animations 00:41:56 – pdfme: Make PDFs Easily 00:44:42 – Thanks and goodbye Show Links: Python’s collections: A Buffet of Specialized Data Types – Python has a number of useful data types beyond the built-in lists, tuples, dicts, and sets. In this tutorial, you’ll learn all about the series of specialized container data types in the collections module from the Python standard library. Learning the collections module is a great way to level up your Python programming knowledge! Maps With Django: GeoDjango, PostGIS, and Leaflet – This quickstart guide shows you how to create a web map using Django’s GeoDjango module. Data for the map is stored in a PostgreSQL database using the PostGIS extension, and Leaflet, a lightweight JavaScript library for interactive maps, is used on the front-end. You’ll not only learn how to set up the Django application and display the map but also add markers to the map and automatically center the map on the application user’s location. Moving SciPy to the Meson Build System – In accordance with PEP 632, distutils will be deprecated in Python 3.10 and in Python 3.12 it will be removed. This posed a big problem for SciPy, since it’s build system depends on NumPy’s distutils module — an extension of Python’s built-in distutils. The SciPy maintainers set out to find a new build system and settled on Meson, which solves a number of build issues and even scores a 4x speed-up on build times! What’s New In Python 3.11 – Python 3.10 is still in beta, but work on Python 3.11 has already begun. Big changes include some major improvements to tracebacks as well as a new cube root function in the math module. Behind the Scenes: How the Python Import System Works – Importing a Python module is probably one of the most used language features. But Python’s import system remains a mystery to many Python developers, even folks with years of experience. This in-depth article explores how the import system works from the top down. You’ll learn everything from the difference is between absolute and relative imports to how Python searches for modules and packages and resolves naming conflicts. Using FastAPI to Build Python Web APIs – In this guide, written by FastAPI creator Sebastián Ramírez, you’ll learn the main concepts of FastAPI and how to use it to quickly create web APIs that implement best practices by default. By the end of it, you will be able to start creating production-ready web APIs. Projects: manim: A Community-Maintained Python Framework for Creating Mathematical Animations pdfme: Make PDFs Easily Additional Links: Common Python Data Structures (Guide): Real Python OrderedDict vs dict in Python: The Right Tool for the Job: Real Python Article Python’s Counter: The Pythonic Way to Count Objects: Real Python Article Make a Location-Based Web App With Django and GeoDjango: Real Python Article Make a Location-Based Web App With Django and GeoDjango: Real Python Course Python import: Advanced Techniques and Tips: Real Python Article Absolute vs Relative Imports in Python: Real Python Article Python Modules and Packages: An Introduction - Real Python Course Level up your Python skills with our expert-led courses: Building HTTP APIs With Django REST Framework Build a Location-Based Web App With Django and GeoDjango Python Modules and Packages: An Introduction Support the podcast & join our community of Pythonistas

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app