Accessibility, Reinventing Notebooks, Crawlee, and More

#630 – MAY 21, 2024 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Accessibility & Assistive Tech as a Python Developer
What’s it like to learn Python as a visually impaired or blind developer? How can you improve the accessibility of your Python web applications and learn current guidelines? This week on the show, Real Python community member Audrey van Breederode discusses her programming journey, web accessibility, and assistive technology.
REAL PYTHON podcast

Lessons Learned Reinventing the Python Notebook
Marimo is an open source alternative to Jupyter notebooks. This article is by one of marimo’s creators, talking about the design decisions made when creating it.
AKSHAY KAGRAWAL

Python Error and Performance Monitoring That Doesn’t Suck
With Sentry, you can trace issues from the frontend to the backend—detecting slow and broken code, to fix what’s broken faster. Installing the Python SDK is super easy and PyCoder’s Weekly subscribers get three full months of the team plan. Just use code “pycoder” on signup →
SENTRYsponsor

Scrapy vs. Crawlee
This article from the folks at Crawlee does a side-by-side comparison of Scrapy and Crawlee, two web scraping libraries.
SAURAV JAIN

Quiz: What Are CRUD Operations?
In this quiz, you’ll revisit the key concepts and techniques related to CRUD operations. These operations are fundamental to any system that interacts with a database, and understanding them is crucial for effective data management.
REAL PYTHON

PEP 667: Consistent Views of Namespaces (Accepted)
PYTHON

Django 5.0.6 and 4.2.13 Release
DJANGO SOFTWARE FOUNDATION


Articles & Tutorials


HTML and CSS Foundations for Python Developers
There’s no way around HTML and CSS when you want to build web apps. Even if you’re not aiming to become a web developer, knowing the basics of HTML and CSS will help you understand the Web better. In this video course, you’ll get an introduction to HTML and CSS for Python programmers.
REAL PYTHON course

Homoiconic Python
One of the early features of Lisp was that it could be implemented in a short Lisp program. As Lisp isn’t the easiest to read language, and not as common as Python, Mohamed runs you through the Python equivalent program to implement a Lisp interpreter.
MOHAMMED JAMAL

Build Your Own Git, Redis, or BitTorrent — in Python
The best way to master your programming craft is to get extensive practice. CodeCrafters offers structured, real-world practice projects aimed at experienced engineers. Sign up, and become a confident programmer →
CODECRAFTERSsponsor

What Is the __pycache__ Folder in Python?
In this tutorial, you’ll explore Python’s __pycache__ folder. You’ll learn about when and why the interpreter creates these folders, and you’ll customize their default behavior. Finally, you’ll take a look under the hood of the cached .pyc files.
REAL PYTHON

Garbage Collectors Are Scary
You don’t have to deal with memory management in Python because it has a garbage collector built in. This article talks about the challenges of writing a garbage collector, including the different kinds you find in different languages.
FLORIAN WEIMER

Automatically Push Code Changes During Live Coding
When teaching, Rodrigo wants to automatically push changes to Git so his students can see the steps in the repo on the fly. This quick article shows you how he solved the problem with the GitPython library.
RODRIGO GIRÃO SERRÃO

Page Dewarping
This article shows the techniques behind a page flattening algorithm. It starts with images of a book’s page which are curled from the spine of the book, and creates a resulting PDF that is a flat version.
MZUCKER.GITHUB.IO

An Intro to Logging With Loguru
“Python’s logging module isn’t the only way to create logs. There are several third-party packages you can use, too. One of the most popular is Loguru.” This article introduces you to the Loguru library.
MIKE DRISCOLL

Why Do Prototypes Suck?
Nat weighs in on prototyping: “Why is it, exactly, that prototypes are so miserable to maintain and operate? And how can we avoid putting prototypes into production?”
NAT BENNETT

Clever Code Is Probably the Worst Code You Could Write
When you come across a clever bit of code, it is hard not to admire it, but often times, clear, readable code is the hardest code to write.
LEONARDO CREED

Show All Subclasses of a class
A quick demonstration of how to use recursion and the .__subclasses__() method to obtain all the subclasses of a given class.
ADAM JOHNSON


Projects & Code


Brought to you by Real Python for Teamssponsor
Online Python training created by a community of experts. Give your team the real-world Python skills they need to succeed →

pyinfra: Automate Infrastructure Using Python
GITHUB.COM/PYINFRA-DEV

tab-pal: TUI to Add Custom Tableau Colour Palettes
GITHUB.COM/BEN-N93 • Shared by Ben Nour

An Easy Way to Set Up Regular Tasks
GITHUB.COM/POMPONCHIK • Shared by Evgeniy Blinov

bridge: Automatic Infrastructure for Django With Docker
GITHUB.COM/NEVER-OVER

hashquery: Query BI Models in Your Data Warehouse
GITHUB.COM/HASHBOARD-HQ

📆🐍 Upcoming Python Events


Weekly Real Python Office Hours Q&A (Virtual)
May 22, 2024

PyCon Italia 2024
May 22 to May 26, 2024

PythOnRio Meetup
May 25, 2024

GeoPython 2024
May 27 to May 29, 2024

Python Sheffield
May 28, 2024

PyLadies Amsterdam: NLP Projects With spaCy
May 29, 2024
Happy Pythoning!
Copyright © 2024 PyCoder’s Weekly, All rights reserved.
You are receiving this email because you opted in on our website at pycoders.com
Our mailing address: DevCademy Media Inc. · #720-999 West Broadway, Vancouver BC V5Z 1K5, Canada

Unsubscribe | Update Email Address

Older messages

Flattening Lists of Lists, Python 3.13, Sets, and More

Tuesday, May 14, 2024

Flattening a List of Lists in Python #629 – MAY 14, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo Flattening a List of Lists in Python In this video course, you'll learn how to flatten a list

Random Web App Ports, unittest, TypeIs vs TypeGuard, and More

Tuesday, May 7, 2024

`TypeIs` Does What I Thought `TypeGuard` Would Do in Python #628 – MAY 7, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo TypeIs Does What I Thought TypeGuard Would Do in Python In this post,

PEP 686, Lazy Evaluation, Serverless Python, and More

Tuesday, April 30, 2024

PEP 686: Make UTF-8 Mode Default #627 – APRIL 30, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo PEP 686: Make UTF-8 Mode Default This Python Enhancement Proposal outlines making UTF-8 the default

CTRL-C, Exceptions, Ruff Speed-up, and More

Tuesday, April 23, 2024

Asyncio Handle Control-C (SIGINT) #626 – APRIL 23, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo Asyncio Handle Control-C (SIGINT) When the user presses CTRL-C on the keyboard, the OS raises an

Pydantic, Web Security, State of Python, and More

Tuesday, April 16, 2024

Pydantic: Simplifying Data Validation in Python #625 – APRIL 16, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo Pydantic: Simplifying Data Validation in Python Discover the power of Pydantic,

You Might Also Like

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your