Issue #697

Python Documentary, Tracking Malicious Code, Docstrings, and More

Sept. 2, 2025

Python Documentary, Tracking Malicious Code, Docstrings, and More
#697 – SEPTEMBER 2, 2025 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Python: The Documentary | An Origin Story
“This is the story of the world’s most beloved programming language: Python. What began as a side project in Amsterdam during the 1990s became the software powering artificial intelligence, data science and some of the world’s biggest companies.”
YOUTUBE.COM video

Tracking Malicious Code Execution in Python
Learn about the different ways code analysis can be done to detect malicious code in libraries, and why it is sometimes a challenging endeavor.
ARTEM GOLUBIN

Your guide to writing DAGs in Apache Airflow®
Airflow’s Python based framework makes it easy to get started, but you need to set a strong foundation or risk building fragile pipelines. Join Astronomer’s webinar on September 4 to learn proven DAG writing tips to build more reliable workflows →
ASTRONOMERsponsor

How to Write Docstrings in Python
Learn to write effective Python docstrings that clearly and professionally document your code using best practices and built-in conventions.
REAL PYTHON

Quiz: How to Write Docstrings in Python
REAL PYTHON


Articles & Tutorials


5 Common Bottlenecks in pandas Workflows
Fan screaming? Laptop grinding to a halt? You’re probably running pandas on more data than your CPU wants to handle. This post breaks down five common bottlenecks in pandas (slow reads, memory-heavy joins, sluggish groupbys), typical CPU workarounds, and how a one-line cudf.pandas extension unlocks GPU acceleration—with example code and Colab links to try.
JAMIL SEMAAN • Shared by Jamil Semaan

Delta Lake: Transform pandas Prototypes Into Production
Discover how to elevate your pandas-based data workflows using delta-rs: a bridge between simple Python prototyping and robust, versioned data lakes. Learn to write, append, and time-travel through Delta tables using pandas (or Polars, Dask, DuckDB), all without Spark or JVM overhead.
KHUYEN TRAN • Shared by Khuyen Tran

Introducing an Intuitive IDE for Code and Data
Positron offers an intuitive environment for exploring data, plots, apps, and connections within your IDE →
POSITsponsor

SyntaxWarning: return in a finally Block
Returns in the finally portion of a try/except/finally block don’t necessarily behave as you might expect. As such, Python 3.14 warns you about them and they may become a syntax error in the future.
ADAM JOHNSON

pypistats.org Is Now Operated by the PSF
The pypistats.org site hosts analytics data for the Python Package Index (PyPI). For six years, pypistats.org was maintained by outside volunteers, but it has now transitioned to the PSF umbrella.
PYTHON SOFTWARE FOUNDATION

Working With JSON Data in Python
Learn how to work with JSON data in Python using the json module. Convert, read, write, and validate JSON files and handle JSON data for APIs and storage.
REAL PYTHON

Python 3.14 Preview: Lazy Annotations
Explore how Python 3.14’s lazy evaluation of annotations boosts performance, fixes chronic type hinting issues, and unlocks powerful new runtime uses.
REAL PYTHON

Quiz: Python Annotations
REAL PYTHON

Deep vs Shallow Copies in Python
Understand the difference between shallow and deep copies in Python. Learn how to duplicate objects safely using the copy module and other techniques.
REAL PYTHON course

Where to Host Your Python App
Whether it’s Django, Flask, FastAPI, or some other Python web framework, your hosting options are plenty. This guide will show you how to choose.
JEFF MORHOUS • Shared by Jeff Morhous

Expressions Are Coming to pandas
pandas 3.0 will see a new syntax introduced, bringing it closer to more modern dataframe libraries. Let’s learn about why, and how to use it
MARCO GORELLI • Shared by Marco

Quiz: Python Skill Test
Test your Python knowledge in a skill quiz with basic to advanced questions. Are you a Novice, Intermediate, Proficient, or Expert?
REAL PYTHON

Real-Time Reports With pytest
This article describes how you can use custom Pytest hooks to generate real-time reports.
CHRISTOS LIONTOS • Shared by Christos liontos

Chained Operations
Exploring chained operations and order of evaluation in python expressions
SUBSTACK.COM • Shared by Vivis Dev

Skylos: Framework-Aware Dead-Code Finder
Skylos is a Python dead-code finder focused on accuracy and speed. It’s framework-aware (Django/FastAPI/Flask) and test-aware (files/fixtures/marks), so it avoids the classic false positives. It ships an interactive CLI for selective cleanup, and includes safe LibCST codemods for unused imports/functions. There’s also an optional web UI with a confidence threshold to control noise.
GITHUB.COM/DURIANTACO • Shared by oh aaron


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 →

colour: Colour Science for Python
GITHUB.COM/COLOUR-SCIENCE

alive-progress: Progress Bar With Real-Time Throughput
GITHUB.COM/RSALMEI

eyeD3: Process ID3 Tags in Mp3 Files
GITHUB.COM/NICFIT

beets: Music Library Manager
GITHUB.COM/BEETBOX

dejavu: Audio Fingerprinting and Recognition
GITHUB.COM/WORLDVEIL

📆🐍 Upcoming Python Events


Weekly Real Python Office Hours Q&A (Virtual)
September 3, 2025

Canberra Python Meetup
September 4, 2025

Sydney Python User Group (SyPy)
September 4, 2025

Python Leiden User Group
September 4, 2025

PyCon Taiwan
September 6 to September 8, 2025

PyCon Israel 2025
September 9 to September 10, 2025

PyCon India 2025
September 12 to September 16, 2025

PyCon AU 2025
September 12 to September 17, 2025

PyCon Niger 2025
September 13 to September 16, 2025
Happy Pythoning!
Copyright © 2025 PyCoder’s Weekly, All rights reserved.