The Real Python Podcast

Real Python
undefined
Mar 31, 2023 • 1h 1min

Evaluating Python Packages & Celebrating 20 Years of PyCon US

Have you ever installed a Python package without knowing anything about it? What best practices should you employ to ensure the quality of your next package installation? Christopher Trudeau is back this week, bringing another batch of PyCoder’s Weekly articles and projects. We also have Python Software Foundation executive director, Deb Nicholson, to share details about PyCon US 2023. We cover a recent Real Python tutorial by Philipp Acsany on evaluating the quality of Python packages. The piece provides a tool kit for researching the traits, history, software license, and current condition of external Python packages. We also discuss the techniques that we personally use before selecting a package for our Python projects. We share several other articles and projects from the Python community, with topics such as the underlying structure of virtual environments, the overhead of Python asyncio tasks, documentation for Python projects with Sphinx and Read the Docs, a project for creating argparse boilerplate, and a way to generate seemingly realistic fake numbers using Benford’s law. Deb Nicholson is also here to talk about the 20th anniversary of PyCon US, hosted in Salt Lake City. We dig into the details of the upcoming conference, including keynote speakers, tutorials, scheduled talks, and improvements to the hybrid online experience. Course Spotlight: Documenting Python Projects With Sphinx and Read the Docs In this video series, you’ll create project documentation from scratch using Sphinx, the de facto standard for Python. You’ll also hook your code repository up to Read The Docs to automatically build and publish your code documentation. Topics: 00:00:00 – Introduction 00:02:46 – How to Evaluate the Quality of Python Packages 00:11:35 – Overhead of Python asyncio Tasks 00:14:53 – Sponsor: Courier 00:15:37 – How Virtual Environments Work 00:23:48 – Documenting Python Projects With Sphinx and Read the Docs 00:28:29 – duckargs: Code Generator for argparse Boilerplate 00:30:46 – Video Course Spotlight 00:32:04 – Are Those Numbers Realistic or Fake? Try Using Benford’s Law 00:34:37 – Introduction for Deb Nicholson 00:36:33 – What is your role with PyCon US? 00:37:28 – Hybrid conference and dates 00:39:07 – Tutorials 00:40:30 – Education Summit and Typing Summit 00:42:06 – Keynote speakers 00:42:57 – Lightning talks, posters, and job fair 00:45:04 – 20th anniversary of PyCon US 00:46:56 – Resources for proposals and talks 00:49:22 – Previous podcast guests and talks 00:51:26 – Mentored sprints for diverse beginners 00:53:12 – PyLadies auction 00:54:29 – COVID policy 00:56:50 – What are you excited about in the world of Python? 00:58:07 – What do you want to learn next? 00:59:24 – How to follow the PSF and PyCon US? 00:59:55 – Thanks and goodbye Show Links: How to Evaluate the Quality of Python Packages – Just like you shouldn’t download any file from the Internet, you shouldn’t install third-party Python packages without evaluating them first. This tutorial will give you the tool set to evaluate the quality of external Python packages before you incorporate them into your Python projects. Overhead of Python Asyncio Tasks – The Textual library uses a lot of asyncio tasks. In order to determine whether to spend time optimizing them, Will measured the cost of creating asyncio tasks. TLDR; optimize something else. This article also spawned a conversation on Hacker News. How Virtual Environments Work – This article attempts to demystify virtual environments, specifically why they exist and how they work. It even delves into why Brett is heading down this alley and how running into challenges with cross-platform tools has prompted the creation of microvenv. Documenting Python Projects With Sphinx and Read the Docs – In this video series, you’ll create project documentation from scratch using Sphinx, the de facto standard for Python. You’ll also hook your code repository up to Read The Docs to automatically build and publish your code documentation. Projects: duckargs: Code Generator for argparse Boilerplate Are Those Numbers Realistic or Fake? Try Using Benford’s Law – How can you tell whether a set of figures is trustworthy? It’s not always simple, but Benford’s Law gives you one way to find out. There’s even a Python Package to help you check: randalyze. PyCon US 2023 Links: Welcome to PyCon US 2023 Python Software Foundation Registration Information - PyCon US 2023 Talks Schedule - PyCon US 2023 Tutorials Schedule - PyCon US 2023 Education Summit - PyCon US 2023 PyCon US Stories Slideshow Proposal Guidelines - PyCon US 2023 PyLadies Auction - PyCon US 2023 Volunteering - PyCon US 2023 Additional Links: Libraries.io - The Open Source Discovery Service Licenses - Choose a License Python Virtual Environments: A Primer – Real Python EU Cyber Resilience Act - Shaping Europe’s digital future Python Software Foundation News: Where is the PSF? Signup for the Python Software Foundation Newsletter The Boston Python User Group (Cambridge, MA) - Meetup PyLadies – Women Who Love Coding in Python Level up your Python skills with our expert-led courses: Building Python Project Documentation With MkDocs Documenting Python Projects With Sphinx and Read the Docs Documenting Code in Python Support the podcast & join our community of Pythonistas
undefined
8 snips
Mar 24, 2023 • 1h 2min

Lessons Learned From Four Years Programming With Python

What are the core lessons you’ve learned along your Python development journey? What are key takeaways you would share with new users of the language? This week on the show, Duarte Oliveira e Carmo is here to discuss his recent talk, “Four Years of Python.” Duarte works at the crossroads of machine learning, data science, and software engineering. He began using Python in his graduate studies and never looked back. In 2021, he wrote a blog post about some of the valuable lessons he’s learned. Then he decided the lessons and concepts in the post might make a good conference talk. We cover the steps in his process of crafting the presentation, practicing it at a smaller conference, and finally presenting it at PyCon Italia last year. We also dig into the four major themes of the talk. Along the way, we share a collection of resources to help you continue learning on your Python journey. Course Spotlight: Building a URL Shortener With FastAPI and Python In this video course, you’ll build an app to create and manage shortened URLs. Your Python URL shortener can receive a full target URL and return a shortened URL. You’ll also use the automatically created documentation of FastAPI to try out your API endpoints. Topics: 00:00:00 – Introduction 00:02:38 – Four years of Python 00:04:18 – Why did you create a blog? 00:06:19 – A singular vs wide focus for the blog 00:09:19 – Pitching the talk to conferences 00:13:02 – Resources for preparing your talk 00:16:03 – What was your programming and Python background? 00:19:00 – Sponsor: InfluxData 00:19:47 – Reading is better than Googling 00:26:23 – What are some of your favorite docs? 00:28:48 – Thoughts on GPT and Copilot 00:31:45 – Keep it stupid simple 00:36:07 – What’s extensible code? 00:38:29 – Video Course Spotlight 00:39:54 – Learning testing techniques & testing data science code 00:46:05 – Continuous learning 00:51:46 – What do you use for RSS? 00:53:06 – Resources for machine learning 00:57:20 – What are you excited about in the world of Python? 00:58:57 – What do you want to learn next? 01:00:55 – How can people follow the work you do? 01:01:20 – Thanks and goodbye Show Links: Four years of Python - Duarte O.Carmo Four years of Python - Duarte Carmo - YouTube Practices of the Python Pro Pelican 4.8.0 “One for Them, One for Me” - Blank Check Movies From Famous Directors PyData NumFOCUS: A Nonprofit Supporting Open Code for Better Science Proposing a Talk - PyCon US 2023 pandas documentation - pandas 1.5.3 documentation scikit-learn 1.2.2 - User guide - documentation FastAPI - Tutorial - User Guide Using FastAPI to Build Python Web APIs - Real Python Python 3.11.2 Documentation Kindle Highlights Newsletter Reeder 5 Welcome to Feedly Normconf: The Normcore Tech Conference Tech Blog - ★❤✰ Vicki Boykis ★❤✰ Sebastian Raschka - Blog Blog of a data person. - koaning.io Machine Learning Design Patterns - Book The Practical AI Podcast - Changelog tidytuesday: Official repo for the #tidytuesday project PyCon.DE & PyData Berlin, 2023 - PyConDE & PyData Berlin 2023 PyCon Italia - 2023 ruff - PyPI Effective Python › The Book: Second Edition Episode #3: Effective Python and Python at Google Scale - The Real Python Podcast Duarte O.Carmo Talks - Duarte O.Carmo Duarte O.Carmo - LinkedIn Level up your Python skills with our expert-led courses: Python REST APIs With FastAPI Splitting Datasets With scikit-learn and train_test_split() Building a URL Shortener With FastAPI and Python Support the podcast & join our community of Pythonistas
undefined
Mar 17, 2023 • 53min

Coding With namedtuple & Python's Dynamic Superpowers

Have you explored Python’s collections module? Within it, you’ll find a powerful factory function called namedtuple(), which provides multiple enhancements over the standard tuple for writing clearer and cleaner code. This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects. Christopher discusses his Real Python video course about writing more Pythonic code using namedtuple(). With namedtuple(), you can create immutable sequence types that allow you to access their values using descriptive field names and dot notation instead of clunky integer indices. We also discuss metaprogramming and the unique advantages of Python’s dynamism. Christopher shares potential paths for this type of coding from web applications, testing, and AST techniques. We share several other articles and projects from the Python community, including a news update, the Arrow revolution happening in pandas 2.0, a new PEP for inlined comprehensions, tips and techniques for modern Flask apps, a Python helper tool for building and running a REPL with custom commands, and a project to turn a pandas DataFrame into a Tableau-style UI. Course Spotlight: Writing Clean, Pythonic Code With namedtuple In this video course, you’ll learn what Python’s namedtuple is and how to use it in your code. You’ll also learn about the main differences between named tuples and other data structures, such as dictionaries, data classes, and typed named tuples. Topics: 00:00:00 – Introduction 00:02:17 – Python 3.12.0 alpha 6 released 00:02:40 – Django Developers Survey 2022 Results 00:03:12 – Writing Clean, Pythonic Code With namedtuple 00:07:40 – pandas 2.0 and the Arrow Revolution (Part I) 00:17:21 – Sponsor: RevSys 00:18:10 – PEP 709: Inlined Comprehensions 00:20:51 – 13 Tips and Techniques for Modern Flask Apps 00:25:54 – Video Course Spotlight 00:27:24 – Discussion: Python’s “Disappointing” Superpowers 00:47:54 – replbuilder: Python helper tool for building and running a REPL with custom commands 00:49:58 – pygwalker: Turn pandas Into a Tableau-Style UI 00:52:15 – Thanks and goodbye News: Python Insider: Python 3.12.0 alpha 6 released Django Developers Survey 2022 Results - Django Weblog Show Links: Writing Clean, Pythonic Code With namedtuple – In this video course, you’ll learn what Python’s namedtuple is and how to use it in your code. You’ll also learn about the main differences between named tuples and other data structures, such as dictionaries, data classes, and typed named tuples. pandas 2.0 and the Arrow Revolution (Part I) – This article details the changes in the pandas 2.0 release, with emphasis on the underlying adoption of Apache Arrow. PEP 709: Inlined Comprehensions – Python Enhancement Proposal 709 covers a change to how comprehensions are handled. Currently, they’re compiled as nested functions. Benchmarking shows that treating list, dict, and set comprehensions as inline code can result in a 2x speedup on the comprehension. 13 Tips and Techniques for Modern Flask Apps – Flask is approaching its 13th birthday, and to celebrate, Phillip has written 13 tips for writing modern Flask apps. It covers dealing with JSON, environment-based configuration, auto-generated docs, and more. Discussion: Python’s “Disappointing” Superpowers - lukeplant.me.uk I am disappointed by dynamic typing - Buttondown Python’s “Disappointing” superpowers - Hacker News Python’s “Disappointing” Superpowers - Lobsters Projects: replbuilder: Python helper tool for building and running a repl with custom commands pygwalker: Turn pandas Into a Tableau-Style UI Additional Links: Write Pythonic and Clean Code With namedtuple – Real Python Episode #146: Using NumPy and Linear Algebra for Faster Python Code – The Real Python Podcast Apache Arrow and the “10 Things I Hate About pandas” - Wes McKinney Data science without borders - Wes McKinney (Two Sigma Investments) - YouTube Joining Forces for an Arrow-Native Future - Wes McKinney pandas arrays, scalars, and data types — pandas 2.1.0.dev0+171.gc293caf2e9 documentation Episode #18: Ten Years of Flask: Conversation With Creator Armin Ronacher – The Real Python Podcast Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 1 – Real Python Python Metaclasses – Real Python Kanaries AI enhanced data exploration Level up your Python skills with our expert-led courses: Data Cleaning With pandas and NumPy Lists and Tuples in Python Writing Clean, Pythonic Code With namedtuple Support the podcast & join our community of Pythonistas
undefined
Mar 10, 2023 • 1h 11min

Sharing Your Python App Across Platforms With BeeWare

Are you interested in deploying your Python project everywhere? This week on the show, Russell Keith-Magee, founder and maintainer of the BeeWare project, returns. Russell shares recent updates to Briefcase, a tool that converts a Python application into native installers on macOS, Windows, Linux, and mobile devices. We cover how Anaconda hired him last year to work full-time on the BeeWare project. He shares how this has helped him focus his efforts and move the project forward. We also discuss his recent talk at DjangoCon US 2022 on how to turn your website into an app (and why maybe you shouldn’t). Russell details the problems of converting from the Web to a mobile platform. We also contrast WebAssembly System Interface (WASI) with the tools that his team works on. Course Spotlight: Managing Attributes With Python’s property() In this video course, you’ll learn how to create managed attributes, also known as properties, using Python’s property() in your custom classes. Topics: 00:00:00 – Introduction 00:02:06 – BeeWare project update and open-source funding 00:06:47 – What are BeeWare and Briefcase? 00:08:19 – Toga GUI and contributions 00:10:47 – Pace of the project now 00:12:47 – PEP 517 and binary packages with C or Rust 00:17:29 – WASM and Briefcase for Web 00:22:22 – Sponsor: InfluxData 00:23:10 – How to turn your Website into an App - Talk 00:28:14 – Bridging libraries that access platform hardware 00:40:56 – Video Course Spotlight 00:42:27 – WASI - WebAssembly System Interface 00:48:18 – Do you need an app or a website? 00:54:23 – Getting started with BeeWare 01:00:06 – What to do first if interested in contributing? 01:02:33 – Channels for the project 01:04:55 – Upcoming conference talks 01:05:26 – What are you excited about in the world of Python? 01:06:42 – What do you want to learn next? 01:09:28 – How can people follow your work online? 01:10:10 – Thanks and goodbye Show Links: Write once. Deploy everywhere. — BeeWare Russell Keith-Magee - Keynote - PyCon 2019 - YouTube Anaconda - Open Source PyScript - Run Python in your HTML Episode #22: Create Cross-Platform Python GUI Apps With BeeWare – The Real Python Podcast How to turn your Website into an App (and why maybe you shouldn’t!) with Russell Keith Magee - YouTube PEP 517 – A build-system independent format for source trees - peps.python.org rubicon-objc - PyPI Chaquopy – Python SDK for Android WASI.dev CAP theorem - Wikipedia BeeWare Tutorial The Buzz - BeeWare Blog You can take it with you: Packaging your Python code with Briefcase - PyCon US 2023 BeeWare (@PyBeeWare) - Twitter Russell Keith-Magee (@freakboy3742@cloudisland.nz) - Mastodon Level up your Python skills with our expert-led courses: Managing Attributes With Python's property() Everyday Project Packaging With pyproject.toml Getters and Setters in Python Support the podcast & join our community of Pythonistas
undefined
Mar 3, 2023 • 1h 8min

Django Deployment Strategies & Preparing for PyCascades 2023

Have you decided how you’re going to deploy your Django project? Should you use a VPS or a PaaS? Christopher Trudeau is back this week, bringing another batch of PyCoder’s Weekly articles and projects. We also have organizers from PyCascades to share details about this year’s hybrid in-person and virtual conference. Christopher shares an article about selecting an appropriate Django project deployment strategy. The guide compares VPS (virtual private server) and PaaS (platform as a service) systems. He also covers hosting providers for each and highlights potential pitfalls. We share several other articles and projects from the Python community, including a news update, what’s new in SQLAlchemy 2.0, how to flush the output of the Python print function, the dangers behind image resizing for machine learning, a project that visualizes pathfinding algorithms, and a runtime executor project. We also have three special guests from PyCascades 2023 to dig into the details of the conference. Conference chair Eliza Sarobhasa is CTO at Women Who Drone and Leadership Fellow (Python Track) & Python Developer Advocate at Women Who Code. Sprints chair Chethana Gopinath is a Software Engineer at realtor.com and a Senior Lead at Women Who Code Python. Speaker Support Chair Jolene Wong is a Senior Software Engineer at Cisco based in Vancouver. We discuss hosting a hybrid conference, participating in open-source sprints, and finding a local Python community. Course Spotlight: The Python print() Function: Go Beyond the Basics In this step-by-step course, you’ll learn about the print() function in Python and discover some of its lesser-known features. Avoid common mistakes, take your “hello world” to the next level, and know when to use a better alternative. Topics: 00:00:00 – Introduction 00:02:47 – Django 4.2 beta 1 released 00:03:04 – What’s New in SQLAlchemy 2.0? 00:06:42 – How to Flush the Output of the Python Print Function 00:14:30 – The Essential Django Deployment Guide 00:21:37 – Sponsor: Snyk 00:22:30 – The Dangers Behind Image Resizing 00:29:40 – Pathfinding-Visualizer: Visualize Pathfinding With Pygame 00:32:40 – rtx: Runtime Executor (asdf Rust Clone) 00:36:19 – Video Course Spotlight 00:37:31 – PyCascades 2023 Details 00:38:53 – Hybrid conference 00:41:11 – How did Chethana get involved? 00:42:30 – Open-source sprints 00:45:19 – How did Jolene get involved? 00:46:31 – How did Eliza get involved? 00:50:21 – Venue details 00:52:32 – Scheduled talks 00:56:13 – Conference sponsors 00:57:48 – Advice for attendees 01:00:46 – Tickets and virtual platform 01:03:01 – What are you excited about in the world of Python? 01:06:13 – Thanks and goodbye News: Django 4.2 beta 1 released | Weblog | Django SQLAlchemy 2.0 Released Show Links: What’s New in SQLAlchemy 2.0? – SQLAlchemy 2.0 was launched in January. This article reviews the latest changes, whether it is worth the upgrade, and how to go about it. How to Flush the Output of the Python Print Function – In this tutorial, you’ll learn how to flush the output of Python’s print function. You’ll explore output stream buffering in Python using code examples and learn that output streams are block-buffered by default, and that print() with its default arguments executes line-buffered when interactive. The Essential Django Deployment Guide – Going from “it works on my machine” to deploying to the public can be a daunting task. This guide details the choices between VPS and PaaS systems, how to choose, what the options are, and what you need to know to get your Django code live. The Dangers Behind Image Resizing – When training an ML model on image data you likely want smaller, consistently sized images. That means image processing in your pipeline, but the expectation that image resizing is the same across libraries can cause unforeseen problems. Projects: Pathfinding-Visualizer: Visualize Pathfinding With Pygame rtx: Runtime Executor (asdf Rust Clone) PyCascades Links: Home - PyCascades 2023 The Team - PyCascades 2023 Schedule - PyCascades 2023 Sprints - PyCascades 2023 PyCascades 2023 - Sprints Sign Up Form COVID Policy - PyCascades 2023 Venueless - PyCascades 2023 Become A Sponsor - PyCascades 2023 PyCascades - YouTube Episode #44: Creating an Interactive Online Python Conference for PyCascades 2021 – The Real Python Podcast Additional Links: File Object - Glossary - Python Documentation The Python print() Function: Go Beyond the Basics – Real Python functools — Higher-order functions and operations on callable objects — Python 3.11.2 documentation Python - Women Who Code WWCodePython - Tiktok Creator & Bio Links - Beacons PyLadies – Women Who Love Coding in Python PyLadies Vancouver (Vancouver, BC) | Meetup Level up your Python skills with our expert-led courses: Deploy a Django App With Gunicorn and Nginx The Python print() Function: Go Beyond the Basics SQLite and SQLAlchemy in Python: Moving Your Data Beyond Flat Files Support the podcast & join our community of Pythonistas
undefined
12 snips
Feb 24, 2023 • 1h 9min

Using NumPy and Linear Algebra for Faster Python Code

Are you still using loops and lists to process your data in Python? Have you heard of a Python library with optimized data structures and built-in operations that can speed up your data science code? This week on the show, Jodie Burchell, developer advocate for data science at JetBrains, returns to share secrets for harnessing linear algebra and NumPy for your projects. Jodie details how most people begin their data science journey using loops to iterate over values and apply operations sequentially. We talk about how loops are friendly for beginners, being clear to read and easy to debug, but unfortunately don’t scale well, especially with large amounts of data. Jodie shares some of the basics of linear algebra and how to organize data into vectors. We talk about how the NumPy library leverages those concepts to improve data processing. We discuss how the library includes operations for vector and matrix addition and subtraction, and why these operations are more efficient than loops. We also cover how NumPy stores arrays in memory and when working with them is faster vs when it’s not. Course Spotlight: Data Cleaning With pandas and NumPy In this video course, you’ll learn how to clean up messy data using pandas and NumPy. You’ll become equipped to deal with a range of problems, such as missing values, inconsistent formatting, malformed records, and nonsensical outliers. Topics: 00:00:00 – Introduction 00:02:35 – Vectorize all the things! - PyCon UK 2022 Talk 00:06:39 – Becoming familiar with linear algebra 00:09:05 – Beginners start with loops 00:11:25 – Starting with basic linear algebra 00:12:25 – The basic unit of a vector 00:18:06 – NumPy representing vectors in Python 00:23:25 – Sponsor: InfluxDB 00:24:13 – Block management 00:25:54 – Replacing a loop with vector-based operations 00:34:06 – NumPy broadcasting 00:38:52 – Approximating nearest neighbors 00:43:49 – Video Course Spotlight 00:45:15 – Solving the problem 00:46:44 – Getting rid of nested loops 00:48:54 – A peek under the hood 00:53:28 – How arrays vs lists are stored in memory 01:00:24 – Considering a GPU 01:03:37 – Real Python resources on the subject 01:04:08 – Upcoming talks and conferences 01:07:31 – Thanks and goodbye Show Links: Vectorize all the things! How basic linear algebra can speed up your data science code - YouTube Introduction to Linear Algebra, 5th Edition Linear Algebra - Mathematics - MIT OpenCourseWare Linear Algebra and Learning from Data Linear Algebra in Python: Matrix Inverses and Least Squares NumPy: the absolute basics for beginners - NumPy Manual Broadcasting — NumPy v1.24 Manual spotify/annoy: Approximate Nearest Neighbors in C++/Python optimized Look Ma, No For-Loops: Array Programming With NumPy – Real Python NumPy Tutorial: Your First Steps Into Data Science in Python – Real Python How to Iterate Over Rows in pandas, and Why You Shouldn’t – Real Python RADAR: Thrive in the era of data - DataCamp Vectorize all the things! Using linear algebra and NumPy to make your Python code lightning fast. - Python Web Conference 2023 Jodie Burchell - PyCon US 2023 Jodie Burchell’s Blog - Standard error Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl) - Twitter Jodie Burchell 🇦🇺🇩🇪 (@t_redactyl@fosstodon.org) - Fosstodon JetBrains: Essential tools for software developers and teams Level up your Python skills with our expert-led courses: Data Cleaning With pandas and NumPy Histogram Plotting in Python: NumPy, Matplotlib, Pandas & Seaborn Using NumPy's np.arange() Effectively Support the podcast & join our community of Pythonistas
undefined
Feb 17, 2023 • 59min

Creating a Python Wordle Clone & Testing Environments With Nox

Would you like to practice your Python skills while building a challenging word game? Have you been wanting to learn more about creating command-line interfaces and making them colorful and interactive? This week on the show, Christopher Trudeau is here, bringing another batch of PyCoder’s Weekly articles and projects. We share a recent Real Python step-by-step project about creating a clone of Wordle. In the project, you’ll practice building a terminal application, validating user input, and refactoring code into functions. Christopher shares an article that compares two popular testing tools, Nox and Tox. He discusses how each framework approaches test environment configuration and why the author leans toward using Nox’s Python decorator–based format. We share several other articles and projects from the Python community, including a news update, a guide to trying out code and ideas quickly with the Python REPL, a PEP about requiring virtual environments by default, a discussion about lessons learned in twenty years as a software engineer, a project for a spreadsheet GUI inside of JupyterLab notebooks, and adding C-style for loops to Python. Course Spotlight: Getters and Setters in Python In this video course, you’ll learn what getter and setter methods are, how Python properties are preferred over getters and setters when dealing with attribute access and mutation, and when to use getter and setter methods instead of properties in Python. Topics: 00:00:00 – Introduction 00:02:21 – Django Security Releases Issued 00:02:43 – PSF Is Hiring a Security Developer-in-Residence 00:03:44 – Python 3.11.2, Python 3.10.10 and 3.12.0 alpha 5 are available 00:04:02 – Build a Wordle Clone With Python and Rich 00:10:05 – Why I Like Nox 00:16:44 – Sponsor: Anaconda Cloud 00:17:26 – PEP 704: Require Virtual Environments by Default 00:27:17 – The Python Standard REPL: Try Out Code and Ideas Quickly 00:33:08 – Video Course Spotlight 00:34:35 – 20 Things I’ve Learned in My 20 Years as a Software Engineer 00:47:50 – Mito: A Spreadsheet Inside Your JupyterLab Notebooks 00:51:37 – How I Added C-Style for-Loops to Python 00:58:08 – Thanks and goodbye News: Django Security Releases Issued: 4.1.6, 4.0.9, and 3.2.17 PSF Is Hiring a Security Developer-in-Residence Python Insider: Python 3.11.2, Python 3.10.10 and 3.12.0 alpha 5 are available Show Links: Build a Wordle Clone With Python and Rich – In this step-by-step project, you’ll build your own Wordle clone with Python. Your game will run in the terminal, and you’ll use Rich to ensure your word-guessing app looks good. Learn how to build a command-line application from scratch and then challenge your friends to a wordly competition! Why I Like Nox – Both Nox and Tox are multi-environment testing tools. This opinion piece by Hynek compares and contrasts them and explains why he is increasingly using Nox. PEP 704: Require Virtual Environments by Default The Python Standard REPL: Try Out Code and Ideas Quickly – In this tutorial, you’ll learn how to use the Python standard REPL (Read-Eval-Print Loop) to run your code interactively. This tool will allow you to test new ideas, explore and experiment with new tools and libraries, refactor and debug your code, try out examples, and more. Discussion 20 Things I’ve Learned in My 20 Years as a Software Engineer – Justin writes a list of things he’s learned over his past twenty years in development. He starts by stating how context is important and that his lessons are from small teams that emphasize productivity and are tool agnostic. The 10x Programmer Myth - Simple Thread Projects: Mito: A Spreadsheet Inside Your JupyterLab Notebooks How I Added C-Style for-Loops to Python – Ever wanted a C-style for loop in Python? No? Well, you can have one anyway. See how Tushar implemented with for (i := var(0), i < 10, i + 2): Additional Links: Alpha-Omega - Open Source Security Foundation Welcome to Nox - Nox 2022.11.21 documentation Classifying Python Virtual Environment Workflows PEP 704 - Require virtual environments by default for package installers - Discourse on Python.org Creating Virtual Environments - Python Packaging User Guide Python Virtual Environments: A Primer – Real Python JupyterLab for an Enhanced Notebook Experience Level up your Python skills with our expert-led courses: Intro to Object-Oriented Programming (OOP) in Python Python Basics: Object-Oriented Programming Getters and Setters in Python Support the podcast & join our community of Pythonistas
undefined
4 snips
Feb 10, 2023 • 52min

Wrangling Business Process Models With Python and SpiffWorkflow

Can you describe your business processes with flowcharts? What if you could define the steps in a standard notation and implement the workflows in pure Python? This week on the show, Dan Funk from Sartography is here to discuss SpiffWorkflow. SpiffWorkflow is a Python tool for translating Business Process Model and Notation (BPMN) diagrams into a workflow engine. You can manipulate this visual chain of events to suit your team’s business requirements. Individual events in the workflow can contain blocks or scripts of Python code to be executed. We discuss the concept of low-code software tools. Dan also talks about how SpiffWorkflow aims at getting non-developers within an organization involved in development. Course Spotlight: Cool New Features in Python 3.11 – Real Python In this video course, you’ll explore what Python 3.11 brings to the table. You’ll learn how Python 3.11 is the fastest and most user-friendly version of CPython yet, and learn about improvements to the typing system and to the asynchronous features of Python. Topics: 00:00:00 – Introduction 00:02:14 – What is SpiffWorkflow? 00:03:12 – What is BPMN? 00:06:29 – What did you need to add to the project? 00:07:12 – What are the components of a diagram? 00:12:42 – Examples of workflow 00:13:54 – Sponsor: TelemetryHub 00:14:29 – What types of industries use BPMN? 00:18:02 – Decision Model and Notation (DMN) 00:19:34 – What is low-code? 00:27:02 – How could someone get involved? 00:28:02 – How do you host a workflow? 00:29:43 – Video Course Spotlight 00:31:05 – What has the project taught you as a developer? 00:37:29 – Empowering more members of the organization 00:42:07 – Project direction for the next year 00:42:51 – Where to start with SpiffWorkflow? 00:43:15 – What are you excited about in the world of Python? 00:45:59 – What do you want to learn next? 00:51:06 – Thanks and goodbye Show Links: SpiffWorkflow Overview SpiffWorkflow 1.2.1 documentation SpiffWorkflow: A powerful workflow engine implemented in pure Python - GitHub Sartography Business Process Model and Notation - Wikipedia Decision Model and Notation™ (DMN™) | Object Management Group Web-based tooling for BPMN, DMN, CMMN, and Forms | bpmn.io Creating a Low-Code Business Process Execution Platform With Python, BPMN, and DMN - IEEE Software The Low Code Wall, SpiffWorkflow SpiffArena, SpiffWorkflow Install SpiffArena then build and run your first diagram - YouTube MindTrails - University of Virginia Practices of the Python Pro Episode #49: The Challenges of Developing Into a Python Professional – The Real Python Podcast PEP 678: Exceptions can be enriched with notes - Python 3.11.1 documentation Building a Ship in a Bottle. : 14 Steps (with Pictures) - Instructables Status - Private, Secure Communication Dan Funk - LinkedIn SpiffWorkflow (@SpiffWorkflow) - Twitter Level up your Python skills with our expert-led courses: Building Python Project Documentation With MkDocs Cool New Features in Python 3.11 Editing Excel Spreadsheets in Python With openpyxl Support the podcast & join our community of Pythonistas
undefined
Feb 3, 2023 • 1h 3min

Create Interactive Maps & Geospatial Data Visualizations With Python

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. 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: Bleach 6.0.0 release and deprecation - Will’s Blog 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: CustomTkinter: Python UI Library Based on Tkinter pybboxes: Lightweight Tool Kit for Bounding Boxes 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 Level up your Python skills with our expert-led courses: Logging Inside Python Everyday Project Packaging With pyproject.toml Graph Your Data With Python and ggplot Support the podcast & join our community of Pythonistas
undefined
Jan 27, 2023 • 54min

Orchestrating Large and Small Projects With Apache Airflow

Have you worked on a project that needed an orchestration tool? How do you define the workflow of an entire data pipeline or a messaging system with Python? This week on the show, Calvin Hendryx-Parker is back to talk about using Apache Airflow and orchestrating Python projects. Calvin is the co-founder and CTO of Six Feet Up and a Python Web Conference co-organizer. He’s recently been working on a massive project that requires thousands of jobs involving transferring and transforming data. Through his research into orchestration systems, he found Apache Airflow. Airflow is an open-source tool to define, schedule, and monitor workflows. The platform is pure Python and integrates with a wide variety of services. We discuss how workflows are defined by creating directed acyclic graphs (DAG). Calvin talks about how a recent project outgrew the system and how his team built a clever solution using Python. We also discuss the upcoming Python Web Conference and what virtual attendees can expect. Course Spotlight: Python Basics: Object-Oriented Programming In this video course, you’ll get to know OOP, or object-oriented programming. You’ll learn how to create a class, use classes to create new objects, and instantiate classes with attributes. Topics: 00:00:00 – Introduction 00:02:24 – Describing the large data pipeline 00:04:38 – What format was the data in? 00:06:04 – Was the format of the data changed for storage? 00:09:34 – Data engineering and describing sources and targets 00:11:29 – Apache Airflow orchestration and hitting limitations 00:18:12 – Sponsor: CData Software 00:18:54 – DAG: Directed acyclic graphs 00:22:29 – Streaming data and other tool choices 00:25:38 – Overcoming DAG Factory limitations 00:31:49 – Another industry example for Airflow 00:34:24 – Finding solutions as a consultancy 00:35:12 – Is there a minimum-size project for Airflow? 00:37:37 – Django under the hood 00:38:31 – Video Course Spotlight 00:39:58 – The Python Web Conference 2023 00:44:24 – Do you have any upcoming conference talks? 00:45:53 – How can people follow your work online? 00:46:52 – IndyPy talk by Mariatta Wijaya 00:48:01 – What are you excited about in the world of Python? 00:51:45 – What do you want to learn next? 00:53:22 – Thanks and goodbye Show Links: Apache Airflow - Documentation Too Big for DAG Factories? — Six Feet Up Directed acyclic graph - Wikipedia DAGs — Airflow Documentation Dynamically generating DAGs in Airflow - Astronomer Documentation Data Lakehouse Architecture and AI Company - Databricks Episode #10: Python Job Hunting in a Pandemic – The Real Python Podcast Episode #124: Exploring Recursion in Python With Al Sweigart – The Real Python Podcast The Recursive Book of Recursion Episode #61: Scaling Data Science and Machine Learning Infrastructure Like Netflix – The Real Python Podcast IndyPy — Indiana Python User Group Contributing to Python - Mariatta Wijaya - Python Core Developer - YouTube Home Assistant Arturia - MicroFreak Arturia - Pigments CalvinHP (@calvinhp@fosstodon.org) - Fosstodon calvinhp - Twitter Six Feet Up - Blog Python Web Conference 2023 Level up your Python skills with our expert-led courses: Data Cleaning With pandas and NumPy Python Basics: Object-Oriented Programming Intro to Object-Oriented Programming (OOP) in Python 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