The Real Python Podcast

Real Python
undefined
May 29, 2020 • 58min

Advice on Getting Started With Testing in Python

Have you wanted to get started with testing in Python? Maybe you feel a little nervous about diving in deeper than just confirming your code runs. What are the tools needed and what would be the next steps to level up your Python testing? This week on the show we have Anthony Shaw to discuss his article on this subject. Anthony is a member of the Real Python team and has written several articles for the site. We discuss getting started with built-in Python features for testing and the advantages of a tool like pytest. Anthony talks about his plug-ins for pytest, and we touch on the next level of testing involving continuous integration. Anthony recently finished a talk for PyCon 2020 Online, titled “Why is Python Slow?” He had the idea for the talk while he was working on his upcoming book about the CPython source code. I also want to give an update on last weeks episode with Kyle Stratis, where we discussed Kyle being let go from his job due to the pandemic. Here’s some good news, Kyle will be joining a Boston startup called Vizit, as a senior data engineer. Congratulations Kyle! Course Spotlight: The Python print() Function: Go Beyond the Basics This course will get you up to speed with using Python print() effectively. Prepare for a deep dive as you go through the sections. You may be surprised how much print() has to offer! Topics: 00:00:00 – Introduction 00:01:46 – PyCon 2020 Online Talk - Why is Python slow? 00:04:05 – CPython Internals Book 00:07:08 – Attending Conferences 00:09:01 – Getting Started with Testing in Python 00:12:32 – Unittest 00:17:16 – What does a tool like pytest add? 00:19:53 – pytest plugins 00:21:03 – Anthony’s pytest plugins 00:21:58 – What does coverage mean? 00:25:23 – Test runners 00:27:12 – Testing environments with Tox 00:30:50 – Real Python Video Course Spotlight 00:31:49 – More on continuous integration (CI) 00:37:21 – Recent changes to GitHub 00:38:21 – PSF to move issue tracker to GitHub 00:41:01 – DRY (Don’t Repeat Yourself) 00:43:46 – Benefits of linters and code formatting 00:48:00 – What is a little known part of Python? 00:52:16 – What are you excited about in the world of Python? 00:56:06 – What is something you thought you knew about Python, but were wrong about it? 00:57:27 – Goodbye and thanks Show links: Why is Python slow?: PyCon 2020 Online Talk Your Guide to the CPython Source Code: Real Python article TalkPython Podcast Episode #265: Why is Python slow? Getting Started With Testing in Python: Real Python article pytest: helps you write better programs pytest-azurepipelines: Plugin for pytest that makes it simple to work with Azure Pipelines Effective Python Testing With Pytest tox automation project: Command line driven CI frontend GitHub Actions: Automate your workflow from idea to production Continuous Integration With Python: An Introduction: Real Python article Brian K Okken - Multiply your Testing Effectiveness with Parameterized Testing: PyCon 2020 Online Talk Python Testing with pytest: Brian Okken - The Pragmatic Bookshelf Test & Code: Python Testing for Software Engineering: Podcast Python’s migration to GitHub Refactoring Python Applications for Simplicity: Real Python article Black: The uncompromising code formatter Wily: A command-line application for tracking, reporting on complexity of Python tests and applications PEP 554 – Multiple Interpreters in the Stdlib Python Insider: Python core development news and information Level up your Python skills with our expert-led courses: Continuous Integration With Python Test-Driven Development With pytest The Python print() Function: Go Beyond the Basics Support the podcast & join our community of Pythonistas
undefined
May 22, 2020 • 1h 20min

Python Job Hunting in a Pandemic

Do you know someone in the Python community who recently was let go from their job due to the pandemic? What does the job landscape currently look like? What are skills and techniques that will help you in your job search? This week we have Kyle Stratis on the show to discuss how he is managing his job search after just being let go from his data engineering job. Kyle is a member of the Real Python team and has written several articles for the site. We discuss Kyle’s career and the skills that he’s developed, which are currently helping him in his job search. Kyle left academia to work as a data engineer. His background helps him to communicate between teams of scientists and engineers. We also talk about Kyle’s recent article on combining data in Pandas. Kyle shares a tip on Pandas efficiency, and hints at some lesser known features of Python generators. Topics: 00:00:00 – Introduction 00:01:27 – Kyle’s background on being let go 00:04:17 – Programming background and building connections 00:10:18 – Becoming a Data Engineer 00:15:59 – Translating between science and data teams 00:20:35 – Every job has different language requirements 00:23:44 – Getting out of your Python language comfort zone 00:27:08 – NASDANQ project - a stockmarket for Memes 00:30:34 – Learning the power of building a network 00:35:13 – Using skills developed in outside projects 00:38:45 – What does the job landscape look like currently? 00:49:52 – Writing for Real Python 00:52:53 – Combining data in Pandas article 00:55:22 – Merging in Pandas 01:03:05 – Feedback and community 01:10:37 – What are you excited ab out in the world of Python? 01:12:12 – What is something you thought you knew about Python but were wrong about it? 01:14:01 – What is a little known Python trick or tip? 01:14:33 – More efficient Pandas 01:15:52 – Using more of the advanced features of generators 01:18:55 – Thanks and Goodbye Show Links: Kyle’s Blog Kyle’s LinkedIn A MongoDB Optimization: Kyle Stratis’ Blog Memes are serious business with their own stock exchange: CNET How a group of Redditors is creating a fake stock market to figure out the value of memes: The Verge The joke Meme Economy is a now real thing called NASDANQ: AV Club Forbes Did A V. Serious Analysis Of NASDANQ, The Stock Market For Memes: Pedestrian Domi Station in Tallahassee Combining Data in Pandas With merge(), .join(), and concat(): Real Python article A Visual Explanation of SQL Joins: Coding Horror Wily: A command-line application for tracking, reporting on complexity of Python tests and applications Refactoring Python Applications for Simplicity: Real Python article Fast, Flexible, Easy and Intuitive: How to Speed Up Your Pandas Projects: Real Python article How to Use Generators and yield in Python: Real Python article Level up your Python skills with our expert-led courses: Python Coding Interviews: Tips & Best Practices Sorting Data With Python Idiomatic pandas: Tricks & Features You May Not Know Support the podcast & join our community of Pythonistas
undefined
May 15, 2020 • 1h 16min

Leveling Up Your Python Literacy and Finding Python Projects to Study

In your quest to become a better developer, how do you find Python code that is at your reading level? What are good code bases or projects to study? What are the things holding you back from leveling up your Python literacy? This week we have Cecil Phillip on the show to discuss all of these common questions. Cecil is a Senior Cloud Advocate at Microsoft. Cecil has been learning Python in the open on Twitch with Brian Clark. They run a weekly event on Twitch, where they are live-streaming an interactive Python course. Cecil has a background in multiple languages and technologies, and now he’s learning Python, bringing an audience along the way! We start things off with a listener question and jump into a conversation about building up your Python skills. Then we’ll discuss common Python language stumbling blocks. Next we consider the importance of making personal projects, and documenting that code. We also touch on some unique skills employers are looking for. And we discuss working through impostor syndrome. Cecil talks about his podcast “Away from the Keyboard” and his plans to start it back up. In the show notes this week you’ll find links to resources we discuss, and several more that we didn’t have time to cover individually. Want your question featured on the show? Send us your question at realpython.com/podcast-question and we might feature it on a future episode of the show. Topics: 00:00:00 – Intro 00:01:52 – Cecil’s role at Microsoft 00:03:35 – Twitch Stream with Brian Clark 00:05:07 – Learning in front of an audience 00:13:05 – Listener’s question 00:14:46 – Finding code that’s at your level 00:20:31 – Understanding more complex syntax in Python 00:23:40 – Breaking down complexity 00:29:17 – Translation of code 00:31:55 – Importance of making projects and comments 00:36:28 – Finding community 00:41:23 – Open source contributing 00:42:25 – Dealing with impostor syndrome 00:49:09 – Looking for that first position 01:00:58 – More project resources in show notes 01:02:55 – Cecil’s podcast - Away from the keyboard 01:08:29 – What are you excited about in the world of Python? 01:10:14 – What is something you thought you knew about Python but were wrong about it? 01:12:01 – What’s the next thing you want to learn in Python? 01:13:37 – Read the actual Python docs 01:15:24 – Thanks and goodbye Show links: Microsoft Developer Channel Cecil Phillip’s Twitter Cecil’s Github Microsoft Developer Twitch Official Microsoft Python Discord Away from the Keyboard: Podcast Python Decorators 101: Real Python video course Python Type Checking: Real Python video course 13 Project Ideas for Intermediate Python Developers: Real Python article Suggested project reading list: Flask: The Python micro framework for building web applications. Django: The Web framework for perfectionists with deadlines Howdoi: instant coding answers via the command line Curio: A coroutine-based library for concurrent Python systems programming scikit-learn: machine learning in Python SQLAlchemy: The Database Toolkit for Python Requests: A simple, yet elegant HTTP library Markupsafe: Safely add untrusted strings to HTML/XML markup Ask HN: Good Python codebases to read? The Hitchhiker’s Guide to Python: Reading Great Code Welcome! This is the documentation for Python 3.8 Level up your Python skills with our expert-led courses: Intro to Object-Oriented Programming (OOP) in Python Python Decorators 101 Python Type Checking Support the podcast & join our community of Pythonistas
undefined
4 snips
May 8, 2020 • 56min

Docker + Python for Data Science and Machine Learning

Docker is a common tool for Python developers creating and deploying applications, but what do you need to know if you want to use Docker for data science and machine learning? What are the best practices if you want to start using containers for your scientific projects? This week we have Tania Allard on the show. She is a Sr. Developer Advocate at Microsoft focusing on Machine Learning, scientific computing, research and open source. Tania has created a talk for the PyCon US 2020 which is now online. The talk is titled “Docker and Python: Making them Play Nicely and Securely for Data Science and ML.” Her talk draws on her expertise in the improvement of processes, reproducibility and transparency in research and data science. We discuss a variety of tools for making your containers more secure and results reproducible. Tania is passionate about mentoring, open-source, and its community. She is an organizer for Mentored Sprints for Diverse Beginners, and she talks about the upcoming online sprints for PyCon US 2020. We also discuss her plans to start a podcast. Topics: 00:00:00 – Introduction 00:01:43 – Microsoft Senior Developer Advocate Role 00:04:07 – PyCon 2020 Talk - Docker and Python: making them play nicely 00:05:34 – What is Docker? 00:10:08 – Reproducibility of project results 00:12:03 – What are the challenges of using Docker for machine learning? 00:15:06 – Getting started suggestions 00:16:26 – What metadata should be included? 00:17:48 – Creating images through stages 00:21:16 – What about your data? 00:22:40 – Kubernetes: Orchestrating containers 00:24:37 – Continuing stages into testing 00:25:37 – What are tools for testing security? 00:27:07 – Challenges in using containers for ML 00:28:52 – What types of databases? 00:29:39 – Are you doing initial research on a local machine? 00:30:59 – An example of a recent ML project 00:32:16 – Papermill: parameterizing and executing notebooks 00:33:16 – NLP: Natural Language Processing 00:33:58 – Kaggle: Help us better understand COVID-19 00:34:42 – What are other best practices for data intensive projects? 00:39:13 – Resources to get started in machine learning? 00:40:30 – Mentored Sprints for Diverse Beginners 00:45:34 – Tania’s upcoming podcast 00:48:38 – A visiting fellow at the Alan Turing Institute 00:49:08 – Weight lifting 00:50:16 – Craft beer 00:52:09 – What is something you thought you knew in Python but were wrong about? 00:53:50 – What are excited about in the world of Python? 00:54:42 – Thank you and Goodbye Show links: Tania Allard: Personal site Docker and Python: making them play nicely and securely for Data Science and ML - Tania Allard Slides for Docker and Python Talk Docker XKCD: Python Superfund Site Best practices for writing Dockerfiles Run Python Versions in Docker: How to Try the Latest Python Release Kubernetes: Production-Grade Container Orchestration Snyk: Securing open source and containers papermill: A tool for parameterizing and executing Jupyter Notebooks Natural Language Processing: Wikipedia article Natural Language Processing With spaCy in Python: Real Python article Kaggle: Help us better understand COVID-19 datree.io: Scale Engineering organization repo2docker: Build, Run, and Push Docker Images from Source Code Repositories Jupyter Docker Stacks: A set of ready-to-run Docker images binder: Turn a Git Repo into a Collection of Interactive Notebooks Hands-On Machine Learning with Scikit-Learn and TensorFlow: O’Reilly Data Science from Scratch: O’Reilly Python for Data Analysis: Wes McKinney - Creator of Pandas Mentored Sprints for Diverse Beginners The Alan Turing Institute Easy Data Processing With Azure Fun - Tania Allard - PyCon 2020 PEP 581 – Using GitHub Issues for CPython Python’s migration to GitHub - Request for Project Manager Resumes Level up your Python skills with our expert-led courses: Using Jupyter Notebooks Histogram Plotting in Python: NumPy, Matplotlib, Pandas & Seaborn Idiomatic pandas: Tricks & Features You May Not Know Support the podcast & join our community of Pythonistas
undefined
13 snips
May 1, 2020 • 1h 27min

AsyncIO + Music, Origins of Black, and Managing Python Releases

Łukasz Langa, release manager for Python 3.8 and 3.9, discusses AsyncIO with Music at PyCon 2020. Topics include event loop comparisons, coroutines, uvloop, and origins of his code formatter, Black. He also shares insights on EdgeDB and transitioning back to Poland.
undefined
Apr 24, 2020 • 55min

Python REST APIs and The Well-Grounded Python Developer

Are you interested in building REST APIs with Flask and SQLAlchemy? This week we have Doug Farrell on the show. We talk about his four-part Real Python article series on Python REST APIs. We discuss the various Python tools and libraries used in the series. Doug also shares his practices for continuous learning. Doug has worked in process control, embedded systems, and has a long background in software development. He’s currently a developer at ShutterFly, and discusses developing tools for his internal customers. He also teaches Python to kids at a STEM school near where he lives. Doug is writing a book for Manning Publications, “The Well-Grounded Python Developer”. The book is currently available in an early access state. And as always please check out all the additional resources and tools that Doug discusses, they are all gathered for you in the show notes. Topics: 00:00:00 – Introduction 00:01:30 – Doug’s programming background 00:06:16 – Building a Polargraph 00:08:51 – When did you get into Python? 00:10:43 – Working at Shutterfly 00:13:45 – How does Python help at Shutterfly? 00:16:21 – Difficulties for a self-taught developer 00:18:58 – How do you keep honing your skills? 00:20:32 – Writing articles 00:22:04 – Python REST APIs With Flask, Connexion, and SQLAlchemy Series 00:27:54 – Picking tools for REST APIs 00:36:27 – The Well-Ground Python Developer Book 00:39:27 – What topic are you most interested in covering? 00:42:35 – How has working with hardware helped you become a better programmer? 00:45:36 – Something you thought you knew about Python, but were wrong about? 00:46:25 – What’s a good tool to use for profiling? 00:47:34 – Getting up to speed on data science 00:50:45 – What are you excited about in the world of Python? 00:53:26 – Contact info, thank you and sign off Show links: Python REST APIs With Flask, Connexion, and SQLAlchemy Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 2 Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 3 Build a JavaScript Front End for a Flask API (Previously Part 4) API Integration in Python – Part 1 Flask Tutorials - Real Python SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper marshmallow: simplified object serialization Swagger - API Development for Everyone Connexion - Swagger/OpenAPI First framework for Python Serialization - Wikipedia article Working With JSON Data in Python - Real Python Article Ajax - Wikipedia article What’s a polargraph Polargraph (vertical plotter / drawing machine) written in Go The Python Profilers - docs.python.org Python Timer Functions: Three Ways to Monitor Your Code - Real Python Doug’s personal website The Well-Grounded Python Developer - Early Access Book Doug’s Linked-In Profile Level up your Python skills with our expert-led courses: Working With JSON in Python Exploring Basic Data Types in Python Support the podcast & join our community of Pythonistas
undefined
Apr 17, 2020 • 1h 3min

Exploring CircuitPython

Have you ever wanted to explore using Python with electronics? CircuitPython is a great platform to get started with. This week we have Thea Flowers on the show. Thea has been creating several hardware projects based around CircuitPython, and she talks about getting started on the platform. She also answers questions about how she taught herself to design and prototype printed circuit boards. Thea discusses several of her open source projects, including Nox, ConductHotline, and getting involved with CircuitPython. Thea was the conference co-chair for PyCascades, and we talk about how someone could get involved in volunteering for conferences. We also discuss building diversity in the community. This episode was initially recorded at an earlier date, so we asked Thea to come back for a few minutes to discuss updates on her projects and about a recent honor she received. Topics: 00:00:00 – Introduction 00:01:25 – Thea’s programming background 00:02:45 – Working with Google Cloud Platform 00:04:10 – Flutter developer relations 00:04:52 – Learning Python 00:06:07 – Working on open source projects 00:06:33 – Nox - Automated Python testing 00:07:03 – ConductHotline 00:07:38 – Contributing to CircuitPython 00:07:53 – More background on Nox and Tox 00:10:03 – Getting involved with CircuitPython 00:12:38 – MicroPython and CircuitPython 00:14:20 – Suggestions for starter board or kit 00:15:49 – What are you excited about in CircuitPython? 00:16:31 – Nina Zakharenko CircuitPython project 00:17:47 – Things you’d like to see improved in CircuitPython? 00:21:30 – Working toward consensus in open source projects? 00:25:41 – Winterbloom - Big Honking Button 00:30:25 – Creating circuit boards 00:34:32 – Winterbloom - Sol 00:38:49 – Code editor for CircuitPython 00:40:08 – Something you thought you knew about Python, but were wrong about? 00:42:14 – What are you excited about in the world of Python? 00:44:21 – Do you listen to music when coding? 00:45:29 – Being an organizer for PyCascades 00:46:53 – Getting involved and volunteering for events 00:48:16 – Ways to increase diversity 00:53:51 – Extended episode conversation 00:54:25 – Updates on the WInterbloom projects 00:55:24 – 2020 Q1 PSF Fellow Member! 00:56:32 – PyCon 2020 moves to online only 00:58:45 – How would you learn Python if starting from scratch? 01:02:10 – Thanks and ending Show links: Thea’s blog: thea.codes GameMaker Google Cloud platform Flutter: UI toolkit Nox Break the Cycle: Three excellent Python tools to automate repetitive tasks - Pycon 2019 ConductHotline Genesynth: Creating a Sega-inspired synthesizer Circuit Python Contributing to CircuitPython Lessons learned from building a custom CircuitPython board Circuit Playground Express Nina Zakharenko CircuitPython Twitch Streams Thea’s thoughts on CircuitPython: Blog post Winterbloom Store John Edgar Parks: Sol quantizing demo DigiKey KiCad series Code with Mu Celeste: video game soundtrack PyCascades PSF Fellows 2020 Q1 PyCon 2020: Online Level up your Python skills with our expert-led courses: Threading in Python Arduino With Python: Getting Started Test-Driven Development With pytest Support the podcast & join our community of Pythonistas
undefined
11 snips
Apr 10, 2020 • 1h 10min

Learning Python Through Errors

Do you get upset and frustrated when you experience errors running your Python code? This week we have Martin Breuss on the show. We discuss how to learn Python through errors, and how errors really are your friends. Martin is a video course creator here at Real Python, and we talk briefly about several courses he’s created. We focus on his course about getting started with Django, as a jumping off point for the discussion. Martin talks about his work with Coding Nomads, and teaching Python around the world. He also provides some tips on debugging and writing good questions. This episode was recorded at an earlier date, and because of recent events Martin came back to discuss a new #StayAtHome Mentorship Program he’s working on. The program is meant not only for learners but also for those who want to try their hand at being a mentor. We also answer our first listener submitted question. Topics: 00:00:00 – Introduction 00:01:18 – Martin Breuss - Introduction 00:04:52 – Programming background and MOOCs 00:10:17 – Creating Courses for Real Python 00:12:02 – Real Python - Django Course 00:14:50 – How can errors teach you? 00:18:27 – Reading errors from Django 00:22:31 – Working with Coding Nomads 00:24:16 – Common frustrations for students 00:26:52 – Comments and forums 00:29:46 – Asking good questions 00:34:24 – Debugging tips 00:36:37 – Course: Finding the right python code editor 00:42:46 – What are you excited about? 00:46:05 – MacOS Catalina Python issue 00:47:30 – Music for programming 00:48:51 – Extended episode details 00:49:29 – #StayAtHome Mentorship Program 00:58:48 – Listener submitted question 00:59:17 – How would you learn Python from scratch? 01:09:39 – Final thanks and links Show links: Finding the Perfect Python Code Editor - Video Course Get Started With Django: Build a Portfolio App - Video Course Get Started With Django Part 1: Build a Portfolio App - Original Article Using Jupyter Notebooks - Video Course Variables in Python - Video Course Beautiful Soup: Build a Web Scraper With Python - Article CodingNomads CodingNomads Platform AI Course With Sebastian Thrun and Peter Norvig Rice University - An Introduction to Interactive Programming in Python MacOS Catalina Python/GCC compiler issue I don’t like notebooks - Jupyter Notebook talk by Joel Grus FoxDot_ Live music coding with Python and SuperCollider Leap Motion Controller (The hand tracker) Geco - for making music with Leap Motion Controller #StayAtHome Mentorship Program Teaching Python Podcast Humble Bundle Pythonista Café Real Python Community Project Euler Sololearn - Code learning app m1m0 - Code learning app Music to code to links: Chillhop (The eternally studying girl) Related Article on Her Test Results Noisli - Just Noises Classical music playlists on youtube Level up your Python skills with our expert-led courses: Getting Started With Django: Building a Portfolio App Finding the Perfect Python Code Editor Using Jupyter Notebooks Support the podcast & join our community of Pythonistas
undefined
Apr 3, 2020 • 43min

Effective Python and Python at Google Scale

Have you been using Python for a while, but want to be more effective with your code? This week we have Brett Slatkin on the show. We talk about the 2nd edition of his book Effective Python. Brett talks about the revisions he made for the book, and updating it for the newest versions of Python 3. He answers questions about who is the intended developer for the book. Brett also discusses working on Google App Engine, and what it’s like to develop and maintain Python applications at Google Scale. Brett mentions a brief anecdote about working with Guido van Rossum, while they both worked at Google. He also provides advice about maintaining a large and aging Python code base. Topics: 00:00:00 – Introduction 00:01:13 – Brett Slatkin - Programming background 00:02:00 – Python background and start at Google 00:03:22 – Working on Google infrastructure 00:05:36 – Is Python a good tool for infrastructure? 00:07:28 – PubSubHubbub 00:09:06 – Lobste.rs 00:10:03 – Starting to write Effective Python 00:11:12 – Who is the intended developer for the book? 00:12:45 – About the Effective series book structure 00:14:39 – What were the sections you were excited to rewrite? 00:18:41 – Moving away from Metaclasses in modern Python 00:20:43 – Python 3.8 in the book 00:21:03 – Using the walrus operator to build a switch/case statement 00:23:22 – Why did you feel Python made you a more productive developer? 00:28:02 – Working with Guido van Rossum 00:31:15 – What’s it like to work on the same code base for years? 00:33:35 – What is code rot? 00:35:10 – What would you put in a book about refactoring? 00:37:06 – What’s something you thought you knew about Python, but were wrong? 00:38:42 – What are you excited about in the world of Python? 00:40:24 – Do you listen to music when you code? 00:42:00 – End Credits Show links: Brett’s Blog - One Big Fluke Real Python Community Interview with Brett Slatkin PubSubHubbub - An open, simple, web-scale and decentralized pubsub protocol Google App Engine Alex Martelli - Wikipedia Python in a Nutshell by Alex Martelli Effective Python - 2nd Edition “The Best Python Books” - RP Review of “Effective Python” What is the appeal of dynamically-typed languages? Python Type Checking - Real Python Article Item 10: Prevent Repetition with Assignment Expressions Lobste.rs - Computing-focused community Scott Myers - Effective Effective Books - Blog Post Bret Victor - “The Future of Programming” Bret Victor - References for “The Future of Programming” PyCon 2016: “Refactoring Python: Why and how to restructure your code” What are you excited about in the world of Python? Brett’s Pick: PEP 554 – Multiple Interpreters in the Stdlib Level up your Python skills with our expert-led courses: Threading in Python Cool New Features in Python 3.8 Python Type Checking Support the podcast & join our community of Pythonistas
undefined
12 snips
Mar 27, 2020 • 55min

Learn Python Skills While Creating Games

Is game programming a good way to develop your Python programming skills? This week we have Jon Fincher on the show. Jon is an author on the Real Python team, and we talk about his recent articles on PyGame and Arcade. Jon talks about his background working at Microsoft. We discuss if a game would make a good portfolio piece. We compare and contrasts the two popular Python game libraries of Arcade and PyGame. Jon also reveals ways to find assets for your own creations. Want your question featured on the show? Here’s a new thing we’re trying out. Send us your question at realpython.com/podcast-question and we might feature it on a future episode of the show. Topics: 00:00:00 – Introduction 00:00:56 – Jon Fincher 00:05:17 – Start with Real Python 00:07:08 – Is game programming a good way to learn? 00:13:16 – Setting specific goals and limits 00:19:28 – Is a game a good portfolio piece? 00:21:07 – PyWeek 29 00:22:58 – Al Sweigart books 00:25:00 – Comparing PyGame and Arcade 00:37:34 – Finding game art and other assets 00:41:04 – Licensing game assets 00:44:29 – Packaging your game and sharing 00:47:34 – What are you excited about in the world of Python 00:50:20 – Final Thoughts 00:54:13 – Conclusion Show links: TEALS: Help us close the computer science gap Scrum for One Raymond Chen: The Old New Thing Blog - You don’t know what you do until you know what you don’t do PyGame Real Python Article - PyGame: A Primer on Game Programming in Python Pygame Zero Arcade Real Python Article - Arcade: A Primer on the Python Game Framework The Python Arcade Library: Reddit Group PyWeek 29: March 22, 2020 Quill Creates Quill Twitch Stream Al Sweigart Twitch Stream: Al Sweigart: Automate the Boring Stuff With Python Al Sweigart: Invent With Python & Pygame Scratch (non-Python) Snap! (non-Python) Godot Game engine (non-Python) Unity Game Engine (non-Python) Unreal Game Engine (non-Python) Tiled Map Editor Pymunk: Pythonic 2D Physics library OpenGameArt Font assets Distributing your Game: Real Python article on PyInstaller Beeware: Write once. Deploy everywhere Audacity: Free, Open Source, Cross-platform audio software What are you excited about in the world of Python? Jon’s pick: ursina 3D Engine: Open Source Game Engine Panda3D: The Open Source Framework for 3D Rendering and Games Chris’s pick: Real Python Podcast: Submit a Question Level up your Python skills with our expert-led courses: Make a 2D Side-Scroller Game With PyGame 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