Crafting and Editing In-Depth Tutorials at Real Python
<p>What goes into creating the tutorials you read at Real Python? What are the steps in the editorial process, and who are the people behind the scenes? This week on the show, Real Python team members Martin Breuss, Brenda Weleschuk, and Philipp Acsany join us to discuss topic curation, review stages, and quality assurance.</p>
<p>We start by sharing the multiple roles our panel of guests perform across the editorial process. They describe the phases a tutorial passes through, including layers of reviews, from technical accuracy to educational effectiveness. We also discuss our editorial independence, external authors, and the continuous feedback loop with our readers.</p>
<p>This episode is sponsored by AgentField.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Spotlight:</strong> <a href="https://realpython.com/workshops/claude-code/">Claude Code Course: Stop Copy-Pasting From ChatGPT</a></p>
<p>Most Python developers use AI as fancy autocomplete. This 2-day course teaches you to build entire projects with an AI agent inside your codebase.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:03:33 – Martin’s role at Real Python</li>
<li>00:04:35 – Philipp’s role at Real Python</li>
<li>00:05:27 – Brenda’s role at Real Python</li>
<li>00:06:49 – Internal core team and external contributors</li>
<li>00:13:46 – Selecting topics and subjects</li>
<li>00:21:43 – Outlining and review</li>
<li>00:28:26 – Sponsor: AgentField</li>
<li>00:29:27 – Writing drafts</li>
<li>00:34:03 – Changes to our style and format</li>
<li>00:37:32 – Technical review and using Git</li>
<li>00:43:53 – Didactic review</li>
<li>00:52:59 – Language edit</li>
<li>00:57:16 – Spotlight: Claude Code Live Course</li>
<li>00:59:00 – Final QA</li>
<li>01:01:00 – Scheduling</li>
<li>01:03:36 – Reader feedback and updating existing tutorials</li>
<li>01:06:04 – Using modern tools</li>
<li>01:13:59 – Shining the light on contributors</li>
<li>01:16:26 – Independence and editorial choices</li>
<li>01:19:10 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://realpython.com/editorial-guidelines/">Editorial Guidelines – Real Python</a></li>
<li><a href="https://realpython.com/team/">Meet Our Team</a></li>
<li><a href="https://realpython.com/team/mbreuss/">About Martin Breuss</a></li>
<li><a href="https://realpython.com/team/pacsany/">About Philipp Acsany</a></li>
<li><a href="https://realpython.com/team/bweleschuk/">About Brenda Weleschuk</a></li>
<li><a href="https://realpython.com/account/signup/?next=%2Faccount%2Fonboarding%2Fplan%2F&intent=learning_plan">Create Your Learning Plan</a></li>
<li><a href="https://realpython.com/learning-paths/">Python Learning Paths</a></li>
<li><a href="https://realpython.com/ref/">Reference – Real Python</a></li>
<li><a href="https://realpython.com/jobs/">Join the Real Python Team – Real Python</a></li>
<li><a href="https://realpython.com/live/">Cohort-Based Live Python Courses – Real Python</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/getting-started-claude-code/">Getting Started With Claude Code</a></li>
<li><a href="https://realpython.com/courses/write-python-docstrings-effectively/">Write Python Docstrings Effectively</a></li>
<li><a href="https://realpython.com/courses/python-basics-first-program/">Python Basics: Code Your First Python Program</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
Advice on Beginning to Learn Python
<p>What’s changed about learning Python over the last few years? What new techniques and updated advice should beginners have as they start their journey? This week on the show, Stephen Gruppetta and Martin Breuss return to discuss beginning to learn Python.</p>
<p>We share techniques for finding motivation, building projects, and learning the fundamentals. We provide advice on installing Python and not obsessing over finding the perfect editor. We also examine incorporating LLMs into learning to code and practicing asking good questions.</p>
<p>Stephen shares details about our upcoming eight-week live course, <a href="https://realpython.com/workshops/python-for-beginners/">Python for Beginners: Code With Confidence</a>. Check out <a href="https://realpython.com/live"><strong>realpython.com/live</strong></a> to learn more and reserve your spot.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/python-beginner-tips/">11 Beginner Tips for Learning Python</a></p>
<p>In this course, you’ll see several learning strategies and tips that will help you jumpstart your journey towards becoming a successful Python programmer.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:36 – Martin’s teaching background</li>
<li>00:02:57 – Stephen’s teaching background</li>
<li>00:04:07 – Having a vested interest in learning</li>
<li>00:08:35 – No shortcut to learning the fundamentals</li>
<li>00:09:21 – Parallels to learning a foreign language</li>
<li>00:12:43 – What’s different about starting to learn Python now?</li>
<li>00:15:03 – Stephen’s journey to coaching and using LLMs</li>
<li>00:16:20 – Are LLMs helpful for learning?</li>
<li>00:18:50 – Teaching what you’ve learned to someone else</li>
<li>00:19:38 – Learning how to ask good questions</li>
<li>00:22:11 – Improved error messages</li>
<li>00:24:35 – REPL: Read Evaluate Print Loop</li>
<li>00:26:33 – Video Course Spotlight</li>
<li>00:27:48 – Installing Python and choosing an editor</li>
<li>00:35:16 – Considering the scale of beginner projects</li>
<li>00:37:39 – Should a beginner be concerned with making Pythonic code?</li>
<li>00:40:55 – Using LLM tools and defining your level of skill</li>
<li>00:42:39 – Python for Beginners: Code With Confidence - live course</li>
<li>00:47:32 – Looking at projects - Awesome Python</li>
<li>00:48:02 – Asking an LLM to explain the code generated</li>
<li>00:50:46 – Debuggers and seeing code run</li>
<li>00:51:23 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://realpython.com/workshops/python-for-beginners/">Python for Beginners: Code With Confidence</a>: Real Python’s intensive Python training program with live expert instruction</li>
<li><a href="https://realpython.com/python-beginner-tips/">11 Beginner Tips for Learning Python Programming – Tutorial</a></li>
<li><a href="https://realpython.com/podcasts/rpp/4/">Episode #4: Learning Python Through Errors</a></li>
<li><a href="https://automatetheboringstuff.com/">Automate the Boring Stuff with Python</a></li>
<li><a href="https://www.python.org/downloads/">Download Python - Python.org</a></li>
<li><a href="https://code.visualstudio.com/">Visual Studio Code - Code Editing Redefined</a></li>
<li><a href="https://realpython.com/python312-error-messages/">Python 3.12 Preview: Ever Better Error Messages – Real Python</a></li>
<li><a href="https://claude.com/product/claude-code">Claude Code - Claude</a></li>
<li><a href="https://backonthetrack.substack.com/">Back on the Track - Stephen Gruppetta</a></li>
<li><a href="https://realpython.com/courses/exploring-scopes-and-closures-in-python/">Exploring Scopes and Closures in Python – Video Course</a></li>
<li><a href="https://realpython.com/courses/writing-idiomatic-python/">Writing Idiomatic Python – Video Course</a></li>
<li><a href="https://realpython.com/podcasts/rpp/71/">Episode #71: Start Using a Debugger With Your Python Code</a></li>
<li><a href="https://github.com/vinta/awesome-python?tab=readme-ov-file">awesome-python: An opinionated list of awesome Python frameworks, libraries, software and resources</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/python-beginner-tips/">11 Beginner Tips for Learning Python</a></li>
<li><a href="https://realpython.com/courses/python-basics-first-program/">Python Basics: Code Your First Python Program</a></li>
<li><a href="https://realpython.com/courses/exploring-scopes-and-closures-in-python/">Exploring Scopes and Closures in Python</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
Building New Structures for Learning Python
<p>What are the new ways we can teach and share our knowledge about Python? How can we improve the structure of our current offerings and build new educational resources for our audience of Python learners? This week on the show, Real Python core team members Stephen Gruppetta and Martin Breuss join us to discuss enhancements to the site and new ways to learn Python.</p>
<p>Stephen has recently joined the team, bringing years of online training expertise. He discusses our new offering of <a href="https://realpython.com/workshops/intermediate-deep-dive/">cohort-based courses</a>, which combine live expert instruction, hands-on exercises, and a supportive community.</p>
<p>Martin has been busy leading the effort to create quizzes for our written tutorials to test your knowledge and Python skills. He’s also restructuring the learning paths to provide a more consistent way to navigate your journey learning Python.</p>
<p>Stephen is currently working on new Real Python books. These books will be collections of our tutorials based on specific Python topics and edited to provide a more structured learning experience. The first book, which covers object-oriented programming in Python, will be available in the next few months.</p>
<p>This episode is sponsored by Sentry.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/handling-preventing-errors-lbyl-eafp/">Handling or Preventing Errors in Python: LBYL vs EAFP</a></p>
<p>In this video course, you’ll explore two popular coding styles in Python: Look Before You Leap (LBYL) and Easier to Ask Forgiveness than Permission (EAFP). These approaches help you handle errors and exceptional situations in your code effectively. You’ll dive into the key differences between LBYL and EAFP and learn when to use each one.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:29 – What Stephen has been up to</li>
<li>00:03:31 – What’s new for Martin</li>
<li>00:04:07 – Bringing on new team members</li>
<li>00:06:09 – Cohort-based courses</li>
<li>00:19:25 – Sponsor: Sentry</li>
<li>00:20:27 – Restructured and new learning paths</li>
<li>00:30:50 – Video Course Spotlight</li>
<li>00:32:19 – New Real Python Books</li>
<li>00:38:57 – A destination for learning</li>
<li>00:40:46 – Quizzes for tutorials and courses </li>
<li>00:44:58 – Video courses and updating content</li>
<li>00:47:52 – Code Mentor</li>
<li>00:49:45 – Code challenges </li>
<li>00:51:06 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://realpython.com/workshops/intermediate-deep-dive/">Cohort Course - Intermediate Python Deep Dive</a></li>
<li><a href="https://realpython.com/learning-paths/">Python Learning Paths</a></li>
<li><a href="https://realpython.com/products/books/">Python Books by Real Python</a></li>
<li><a href="https://realpython.com/quizzes/">Python Quizzes</a></li>
<li><a href="https://realpython.com/community/">Join the Real Python Community Chat</a></li>
<li><a href="https://realpython.com/mentor/">Code Mentor: Intelligent Learning Tools</a></li>
<li><a href="https://realpython.com/office-hours/">Office Hours – Real Python</a></li>
<li><a href="https://blog.sentry.io/debugging-python-with-vs-code-and-sentry/">Debugging Python with VS Code and Sentry - Product Blog - Sentry</a></li>
<li><a href="https://realpython.com/team/mbreuss/">About Martin Breuss – Real Python</a></li>
<li><a href="https://realpython.com/team/sgruppetta/">About Stephen Gruppetta – Real Python</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/handling-preventing-errors-lbyl-eafp/">Handling or Preventing Errors in Python: LBYL vs EAFP</a></li>
<li><a href="https://realpython.com/courses/using-raise-for-effective-exceptions/">Using raise for Effective Exceptions</a></li>
<li><a href="https://realpython.com/courses/python-basics-exercises-scopes/">Python Basics Exercises: Scopes</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
Designing for Users and Building a Social Network With Django
<p>Are you looking for a project to practice your Django skills? Designing the fundamental interactions of a social network is an instructive way to explore models and relationships while learning advanced Django skills. This week on the show, we talk with previous guest Martin Breuss about his new four-part series, “Build a Social Network With Django”.</p>
<p>Martin talks about the design process and ways to include user-focused features. He shares a handy CSS library to make your front end look modern with minimal effort. </p>
<p>We digress into a discussion of personal vs professional use of social networks. We also talk about the additional <em>Real Python</em> resources to help you build out the rest of your project.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/set-up-django-project/">How to Set Up a Django Project</a></p>
<p>In this course, you’ll learn the necessary steps that you’ll need to take to set up a new Django project. You’ll learn the basic setup for any new Django project, which needs to happen before programming the specific functionality of your project.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:01:46 – Build a Social Network with Django series</li>
<li>00:04:05 – Setting project scope and constraints</li>
<li>00:09:09 – Why use Django for this project?</li>
<li>00:12:23 – Learning through errors</li>
<li>00:15:29 – Sponsor: Honeybadger</li>
<li>00:16:14 – Models and relationships</li>
<li>00:19:05 – Implementing a post-save hook</li>
<li>00:23:17 – Django front end with the Bulma CSS framework</li>
<li>00:28:42 – Templates and profile pages</li>
<li>00:31:03 – Following, posts, and thoughts on user-centric features</li>
<li>00:37:18 – Personal and professional use of social media</li>
<li>00:48:03 – Setting up redirects</li>
<li>00:49:08 – Video Course Spotlight</li>
<li>00:50:19 – Additional <em>Real Python</em> resources for Django, including a Learning Path</li>
<li>00:53:07 – What would you add if this were a portfolio project?</li>
<li>00:54:14 – What are you excited about in the world of Python?</li>
<li>00:56:36 – What do you want to learn next?</li>
<li>00:57:54 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://realpython.com/django-social-network-1/">Build a Social Network With Django – Part 1 – Real Python</a></li>
<li><a href="https://realpython.com/django-social-front-end-2/">Build a Django Front End With Bulma – Part 2 – Real Python</a></li>
<li><a href="https://realpython.com/django-social-post-3/">Build and Handle POST Requests in Django – Part 3 – Real Python</a></li>
<li><a href="https://realpython.com/django-social-forms-4/">Build and Submit HTML Forms With Django – Part 4 – Real Python</a></li>
<li><a href="https://realpython.com/learning-paths/django-web-development/">Django for Web Development (Learning Path) – Real Python</a></li>
<li><a href="https://realpython.com/podcasts/rpp/87/">Episode #87: Building a Content Aggregator and Working With RSS in Python – The Real Python Podcast</a></li>
<li><a href="https://realpython.com/podcasts/rpp/4/">Episode #4: Learning Python Through Errors – The Real Python Podcast</a></li>
<li><a href="https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world">The Flask Mega-Tutorial Part I: Hello, World! - miguelgrinberg.com</a></li>
<li><a href="https://bulma.io/">Bulma: Free, open source, and modern CSS framework based on Flexbox</a></li>
<li><a href="https://docs.djangoproject.com/en/4.0/intro/tutorial01/">Writing your first Django app, part 1 | Django documentation</a></li>
<li><a href="https://realpython.com/get-started-with-django-1/">Get Started With Django Part 1: Build a Portfolio App – Real Python</a></li>
<li><a href="https://realpython.com/django-user-management/">Get Started With Django Part 2: Django User Management – Real Python</a></li>
<li><a href="https://tapbots.com/tweetbot/">Tweetbot 6 for iOS</a></li>
<li><a href="https://en.wikipedia.org/wiki/300-page_iPhone_bill">300-page iPhone bill - Wikipedia</a></li>
<li><a href="https://developers.arcgis.com/python/">ArcGIS API for Python | ArcGIS Developer</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/django-portfolio-project/">Getting Started With Django: Building a Portfolio App</a></li>
<li><a href="https://realpython.com/courses/host-your-django-project-on-heroku/">Host Your Django Project on Heroku</a></li>
<li><a href="https://realpython.com/courses/set-up-django-project/">How to Set Up a Django Project</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
2021 Real Python Articles Wrap Up
<p>It’s been a year of change at Real Python! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python articles this year. We also added many new members to the team, updated the site’s features, and created new styles of tutorials and projects.</p>
<p>Two members of the Real Python team join us this week, Martin Breuss and Sadie Parker. We wanted to share a year-end wrap-up with a collection of articles and step-by-step projects that showcase what our team created this year.</p>
<p>Sadie and Martin help to shepherd articles through the multi-stage editing process. Along with the rest of the team, they make sure these resources impart crucial Python knowledge and provide a thorough didactic experience.</p>
<p>We hope you enjoy this review! Programming note, there won’t be an episode next week, but we will be back in January and look forward to bringing you a year full of great guests, articles, and topics.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/asteroids-game-python-pygame/">Using Pygame to Build an Asteroids Game in Python</a></p>
<p>In this course, you’ll learn the basics of creating powerful web applications with In this course, you’ll build a clone of the Asteroids game in Python using Pygame. Step by step, you’ll add images, input handling, game logic, sounds, and text to your program.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:24 – Changes at Real Python Over 2021</li>
<li>00:10:11 – Build a Platform Game in Python With Arcade</li>
<li>00:13:40 – Make Your First Python Game: Rock, Paper, Scissors!</li>
<li>00:20:00 – Build a Content Aggregator in Python</li>
<li>00:25:30 – Video Course Spotlight</li>
<li>00:26:45 – Python Inner Functions: What Are They Good For?</li>
<li>00:30:44 – Build a Personal Diary With Django and Python</li>
<li>00:34:14 – Hosting a Django Project on Heroku</li>
<li>00:42:00 – Python & APIs: A Winning Combo for Reading Public Data</li>
<li>00:46:03 – Beautiful Soup: Build a Web Scraper With Python</li>
<li>00:52:25 – Advanced Visual Studio Code for Python Developers</li>
<li>00:59:55 – A Few Special Mentions, Data Science, and More</li>
<li>01:02:33 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://realpython.com/platformer-python-arcade/">Build a Platform Game in Python With Arcade – Real Python</a></li>
<li><a href="https://realpython.com/python-rock-paper-scissors/">Make Your First Python Game: Rock, Paper, Scissors! – Real Python</a></li>
<li><a href="https://realpython.com/build-a-content-aggregator-python/">Build a Content Aggregator in Python – Real Python</a></li>
<li><a href="https://realpython.com/inner-functions-what-are-they-good-for/">Python Inner Functions: What Are They Good For? – Real Python</a></li>
<li><a href="https://realpython.com/django-diary-project-python/">Build a Personal Diary With Django and Python – Real Python</a></li>
<li><a href="https://realpython.com/django-hosting-on-heroku/">Hosting a Django Project on Heroku – Real Python</a></li>
<li><a href="https://realpython.com/python-api/">Python & APIs: A Winning Combo for Reading Public Data – Real Python</a></li>
<li><a href="https://realpython.com/beautiful-soup-web-scraper-python/">Beautiful Soup: Build a Web Scraper With Python – Real Python</a></li>
<li><a href="https://realpython.com/advanced-visual-studio-code-python/">Advanced Visual Studio Code for Python Developers – Real Python</a></li>
<li><a href="https://realpython.com/python-ai-neural-network/">Python AI: How to Build a Neural Network & Make Predictions – Real Python</a></li>
<li><a href="https://realpython.com/gradient-descent-algorithm-python/">Stochastic Gradient Descent Algorithm With Python and NumPy – Real Python</a></li>
<li><a href="https://realpython.com/python-pretty-print/">Prettify Your Data Structures With Pretty Print in Python – Real Python</a></li>
</ul>
<p>Additional Links:</p>
<ul>
<li><a href="https://realpython.com/podcasts/rpp/60/">Episode #60: Building a Platform Game With Arcade and Covering Python News Monthly – The Real Python Podcast</a></li>
<li><a href="https://arcade.academy">The Python Arcade Library</a></li>
<li><a href="https://realpython.com/arcade-python-game-framework/">Arcade: A Primer on the Python Game Framework</a></li>
<li><a href="https://realpython.com/courses/python-rock-paper-scissors-game/">Rock, Paper, Scissors With Python: A Command Line Game – Video Course</a></li>
<li><a href="https://realpython.com/asteroids-game-python/">Build an Asteroids Game With Python and Pygame – Real Python</a></li>
<li><a href="https://godotengine.org/">Godot Engine - Free and open source 2D and 3D game engine</a></li>
<li><a href="https://realpython.com/podcasts/rpp/87/">Episode #87: Building a Content Aggregator and Working With RSS in Python – The Real Python Podcast</a></li>
<li><a href="https://realpython.com/courses/python-inner-functions/">Python Inner Functions – Video Course</a></li>
<li><a href="https://realpython.com/courses/host-your-django-project-on-heroku/">Host Your Django Project on Heroku – Video Course</a></li>
<li><a href="https://realpython.com/courses/finding-perfect-python-code-editor/">Finding the Perfect Python Code Editor – Video Course</a></li>
<li><a href="https://realpython.com/podcasts/rpp/12/">Episode #12: Web Scraping in Python: Tools, Techniques, and Legality – The Real Python Podcast</a></li>
<li><a href="https://realpython.com/courses/web-scraping-beautiful-soup/">Web Scraping With Beautiful Soup and Python – Video Course</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/asteroids-game-python-pygame/">Using Pygame to Build an Asteroids Game in Python</a></li>
<li><a href="https://realpython.com/courses/host-your-django-project-on-heroku/">Host Your Django Project on Heroku</a></li>
<li><a href="https://realpython.com/courses/web-scraping-beautiful-soup/">Web Scraping With Beautiful Soup and Python</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
Measuring Your Python Learning Progress
<p>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?”</p>
<p>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. </p>
<p>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.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/effective-python-return-statement/">Using the Python return Statement Effectively</a> </p>
<p>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.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction </li>
<li>00:01:44 – Real Python Core Team Member</li>
<li>00:03:13 – How long does it take to learn Python?</li>
<li>00:03:40 – Why did you want to explore this topic? </li>
<li>00:05:05 – Python backgrounds Martin and Christopher</li>
<li>00:16:39 – What area excited you?</li>
<li>00:19:38 – Sponsor: Rev AI </li>
<li>00:20:16 – What are other areas that define, why Python?</li>
<li>00:23:30 – Keeping the scope narrower</li>
<li>00:24:48 – Measuring your progress</li>
<li>00:32:49 – Video Course Spotlight </li>
<li>00:34:12 – Effective mentorship</li>
<li>00:39:02 – Using search engines</li>
<li>00:43:07 – The journey of learning Python</li>
<li>00:48:38 – Programming challenges and practicing</li>
<li>00:49:40 – pretty maps - Minimal Python library to draw customized maps</li>
<li>00:52:02 – ETE Toolkit - Python environment for tree exploration</li>
<li>00:54:30 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://realpython.com/team/mbreuss/">About Martin Breuss: Real Python Team</a></li>
<li><a href="https://realpython.com/how-long-does-it-take-to-learn-python/">How Long Does It Take to Learn Python?</a></li>
<li><a href="https://en.wikipedia.org/wiki/Four_stages_of_competence">Four stages of competence: Wikipedia Article</a></li>
<li><a href="https://realpython.com/python-first-steps/#the-basic-python-syntax">The Basic Python Syntax: Links to Real Python Resources</a></li>
<li><a href="https://twitter.com/FreyaHolmer/status/1436696408506212353?s=20">BTW these large scary math symbols are just for-loops</a></li>
<li><a href="https://spreadprivacy.com/google-filter-bubble-study/">Measuring the “Filter Bubble”: How Google is influencing what you click</a></li>
<li><a href="https://www.quora.com/What-does-Google-know-about-me/answer/Gabriel-Weinberg">What does Google know about me?</a></li>
<li><a href="https://realpython.com/learning-paths/python-interview/">Ace Your Python Coding Interview: Real Python Learning Path</a></li>
<li><a href="https://codingbat.com/python">CodingBat: Coding Practice</a></li>
<li><a href="https://realpython.com/podcasts/rpp/4/">Episode 4: Learning Python Through Errors</a></li>
<li><a href="https://realpython.com/podcasts/rpp/48/">Episode 48: Stochastic Gradient Descent and Deploying Your Python Scripts on the Web</a></li>
</ul>
<p>Projects:</p>
<ul>
<li><a href="https://github.com/marceloprates/prettymaps">pretty maps: A minimal Python library to draw customized maps from OpenStreetMap data</a></li>
<li><a href="http://etetoolkit.org/">ETE Toolkit: A Python framework for the analysis and visualization of trees</a></li>
<li><a href="https://www.ncbi.nlm.nih.gov/">NCBI: National Center for Biotechnology Information</a></li>
<li><a href="http://etetoolkit.org/documentation/ete-ncbiquery/">ete-ncbiquery: Fast and handy queries to the NCBI taxonomy database</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/effective-python-return-statement/">Using the Python return Statement Effectively</a></li>
<li><a href="https://realpython.com/courses/graph-data-with-python-and-ggplot/">Graph Your Data With Python and ggplot</a></li>
<li><a href="https://realpython.com/courses/set-up-django-project/">How to Set Up a Django Project</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
Stochastic Gradient Descent and Deploying Your Python Scripts on the Web
<p>Do you know the initial steps to get your Python script hosted on the web? You may have built something with Flask, but how would you stand it up so that you can share it with others? This week on the show, we have the previous guest Martin Breuss back on the show. Martin shares his recent article titled, “Python Web Applications: Deploy Your Script as a Flask App”. David Amos also returns, and he’s brought another batch of PyCoder’s Weekly articles and projects.</p>
<p>David shares a recent mathematical Real Python article about the stochastic gradient descent algorithm with Python. Stochastic gradient descent is an optimization algorithm often used in machine learning applications to find ideal model parameters. </p>
<p>We also cover several other articles and projects from the Python community including, property-based testing with hypothesis, Python’s tug of war between beginner-friendly features and support for advanced users, how Python integers work, the steering council accepts PEP 634, a magical full-stack framework for Django named django-unicorn, and a visual programming environment called Math Inspector.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/simulating-processes-simpy/">Simulating Real-World Processes in Python With SimPy</a></p>
<p>In this step-by-step course, you’ll see how you can use the SimPy package to model real-world processes with a high potential for congestion. You’ll create an algorithm to approximate a complex system, and then you’ll design and run a simulation of that system in Python.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:44 – Property-Based Testing With hypothesis, and Associated Use Cases</li>
<li>00:09:55 – Python’s Tug of War Between Beginner-Friendly Features and Support for Advanced Users</li>
<li>00:18:50 – Sponsor: Scout APM</li>
<li>00:19:54 – How Python Integers Work</li>
<li>00:26:53 – Python Steering Council Accepts PEP 634</li>
<li>00:32:48 – Stochastic Gradient Descent Algorithm With Python and NumPy</li>
<li>00:38:36 – Video Course Spotlight</li>
<li>00:39:39 – Martin Breuss - Followup about Stay at Home Mentorship Program</li>
<li>00:42:13 – Python Web Applications: Deploy Your Script as a Flask App</li>
<li>00:52:25 – django-unicorn: A Magical Full-Stack Framework for Django</li>
<li>00:55:15 – Math Inspector: A Visual Programming Environment for Scientific Computing With NumPy and SciPy</li>
<li>01:00:21 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<p><a href="https://bytes.yingw787.com/posts/2021/02/02/property_based_testing/">Property-Based Testing With hypothesis, and Associated Use Cases</a> – Testing software is hard. Property-based testing can help you create more effective tests. Learn how to do property-based testing with the <code>hypothesis</code> framework by looking at some real-world use cases.</p>
<p><a href="https://aroberge.blogspot.com/2021/02/pythons-tug-of-war-between-beginner.html">Python’s Tug of War Between Beginner-Friendly Features and Support for Advanced Users</a> – Python has made some big improvements to tracebacks in recent versions. See how tracebacks have evolved over the last couple of major releases and where there’s still some work left to be done. Check out the <a href="https://news.ycombinator.com/item?id=26030433">discussion</a> on Hacker News.</p>
<p><a href="https://tenthousandmeters.com/blog/python-behind-the-scenes-8-how-python-integers-work/">How Python Integers Work</a> – Python’s integer datatype is pretty different from most other languages because they allow arbitrary precision. Learn how integers work under the hood in this in-depth article.</p>
<p><a href="https://mail.python.org/archives/list/python-committers@python.org/message/SQC2FTLFV5A7DV7RCEAR2I2IKJKGK7W3/">Python Steering Council Accepts PEP 634</a> – Pattern matching, which adds a kind of switch-case statement to Python, has been accepted.</p>
<p><a href="https://realpython.com/gradient-descent-algorithm-python/">Stochastic Gradient Descent Algorithm With Python and NumPy</a> – Learn what the stochastic gradient descent algorithm is, how it works, and how to implement it with Python and NumPy.</p>
<p><a href="https://realpython.com/python-web-applications/">Python Web Applications: Deploy Your Script as a Flask App</a> – In this tutorial, you’ll learn how to go from a local Python script to a fully deployed Flask web application that you can share with the world.</p>
<p>Projects:</p>
<ul>
<li><a href="https://github.com/adamghill/django-unicorn">django-unicorn: A Magical Full-Stack Framework for Django</a></li>
<li><a href="https://mathinspector.com/">Math Inspector: A Visual Programming Environment for Scientific Computing With NumPy and SciPy</a></li>
</ul>
<p>Additional Links:</p>
<ul>
<li><a href="https://realpython.com/podcasts/rpp/47/">Episode 47: Unraveling Python’s Syntax to Its Core With Brett Cannon</a></li>
<li><a href="https://aroberge.github.io/friendly-traceback-docs/docs/html/index.html">Friendly tracebacks - Simplified Python tracebacks translatable into any language.</a></li>
<li><a href="https://pythonbytes.fm/episodes/show/220/what-why-and-where-of-friendly-errors-in-python">PythonBytes - Episode #220</a></li>
<li><a href="https://realpython.com/python38-new-features/#warnings-about-dangerous-syntax">Warnings About Dangerous Syntax: Cool New Features in Python 3.8 - Real Python Article</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0636/">PEP 636 – Structural Pattern Matching: Tutorial</a></li>
<li><a href="https://www.django-unicorn.com/articles">Django-Unicorn Articles</a></li>
<li><a href="https://www.python-utils.com/">python-utils: The online playground for Python utilities -Powered by Unicorn</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/simulating-processes-simpy/">Simulating Real-World Processes in Python With SimPy</a></li>
<li><a href="https://realpython.com/courses/using-google-login-flask/">Using Google Login With Flask</a></li>
<li><a href="https://realpython.com/courses/cool-new-features-python-38/">Cool New Features in Python 3.8</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
Learning Python Through Errors
<p>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 <em>through</em> errors, and how errors really are your friends.</p>
<p>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.</p>
<p>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. </p>
<p>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.</p>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:01:18 – Martin Breuss - Introduction</li>
<li>00:04:52 – Programming background and MOOCs</li>
<li>00:10:17 – Creating Courses for Real Python </li>
<li>00:12:02 – Real Python - Django Course </li>
<li>00:14:50 – How can errors teach you?</li>
<li>00:18:27 – Reading errors from Django</li>
<li>00:22:31 – Working with Coding Nomads</li>
<li>00:24:16 – Common frustrations for students</li>
<li>00:26:52 – Comments and forums</li>
<li>00:29:46 – Asking good questions</li>
<li>00:34:24 – Debugging tips</li>
<li>00:36:37 – Course: Finding the right python code editor </li>
<li>00:42:46 – What are you excited about?</li>
<li>00:46:05 – MacOS Catalina Python issue</li>
<li>00:47:30 – Music for programming</li>
<li>00:48:51 – Extended episode details</li>
<li>00:49:29 – #StayAtHome Mentorship Program</li>
<li>00:58:48 – Listener submitted question</li>
<li>00:59:17 – How would you learn Python from scratch?</li>
<li>01:09:39 – Final thanks and links</li>
</ul>
<p>Show links:</p>
<ul>
<li><a href="https://realpython.com/courses/finding-perfect-python-code-editor/">Finding the Perfect Python Code Editor - Video Course</a></li>
<li><a href="https://realpython.com/courses/django-portfolio-project/">Get Started With Django: Build a Portfolio App - Video Course</a></li>
<li><a href="https://realpython.com/get-started-with-django-1">Get Started With Django Part 1: Build a Portfolio App - Original Article</a></li>
<li><a href="https://realpython.com/courses/using-jupyter-notebooks/">Using Jupyter Notebooks - Video Course</a></li>
<li><a href="https://realpython.com/courses/variables-python/">Variables in Python - Video Course</a></li>
<li><a href="https://realpython.com/beautiful-soup-web-scraper-python">Beautiful Soup: Build a Web Scraper With Python - Article</a></li>
<li><a href="https://codingnomads.co/">CodingNomads</a></li>
<li><a href="https://platform.codingnomads.co/learn/">CodingNomads Platform</a></li>
<li><a href="https://www.newworldai.com/artificial-intelligence-course-with-sebastian-thrun-and-peter-norvig-udacity-course/">AI Course With Sebastian Thrun and Peter Norvig</a></li>
<li><a href="https://www.coursera.org/learn/interactive-python-1">Rice University - An Introduction to Interactive Programming in Python</a></li>
<li><a href="https://stackoverflow.com/questions/58816345/osx-catalina-gcc-pip-issue">MacOS Catalina Python/GCC compiler issue</a></li>
<li><a href="https://www.youtube.com/watch?v=7jiPeIFXb6U">I don’t like notebooks - Jupyter Notebook talk by Joel Grus</a></li>
<li><a href="https://foxdot.org/">FoxDot_ Live music coding with Python and SuperCollider</a></li>
<li><a href="https://www.ultraleap.com/product/leap-motion-controller/">Leap Motion Controller (The hand tracker)</a></li>
<li><a href="http://uwyn.com/geco/">Geco - for making music with Leap Motion Controller</a></li>
<li><a href="https://codingnomads.github.io/stayathome-mentorship/">#StayAtHome Mentorship Program</a></li>
<li><a href="https://www.teachingpython.fm">Teaching Python Podcast</a></li>
<li><a href="https://www.humblebundle.com">Humble Bundle</a></li>
<li><a href="https://www.pythonistacafe.com">Pythonista Café</a></li>
<li><a href="https://realpython.com/community/">Real Python Community</a></li>
<li><a href="https://projecteuler.net">Project Euler</a></li>
<li><a href="https://www.sololearn.com">Sololearn - Code learning app</a></li>
<li><a href="https://getmimo.com">m1m0 - Code learning app</a></li>
</ul>
<p>Music to code to links:</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=5qap5aO4i9A">Chillhop (The eternally studying girl)</a></li>
<li><a href="https://thehardtimes.net/harddrive/lofi-hip-hop-radio-girl-still-fails-test-after-four-years-of-studying/">Related Article on Her Test Results</a></li>
<li><a href="https://www.noisli.com/">Noisli - Just Noises</a></li>
<li><a href="https://www.youtube.com/results?search_query=classical+music">Classical music playlists on youtube</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/django-portfolio-project/">Getting Started With Django: Building a Portfolio App</a></li>
<li><a href="https://realpython.com/courses/finding-perfect-python-code-editor/">Finding the Perfect Python Code Editor</a></li>
<li><a href="https://realpython.com/courses/using-jupyter-notebooks/">Using Jupyter Notebooks</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>