Python Weekly (Issue 724 December 4 2025)

Welcome to issue 724 of Python Weekly. Let's get straight to the links this week.

Free email without sacrificing your privacy

Gmail tracks you. Proton doesn’t. Get private email that puts your data — and your privacy — first.


Articles, Tutorials and Talks

Christina Lin (Google) demos Agent Development Kit (ADK), open-source Python framework for agentic pipelines: assemble LLMs + tools (via MCP servers/function calling) + prompts for complex workflows like version control or Friday night bookings, with grounding for cited real-time data to cut hallucinations/token costs.

Django 6.0 introduces django.tasks, a lightweight framework for defining and enqueuing background tasks via a standard API, but lacks built-in workers—requiring external infrastructure like custom database-backed backends. The article builds a demo notification app with a DB backend, worker, retries, and result polling, showing how to implement queuing while noting limitations like no complex orchestration compared to Celery.

The video explains Dependency Injection (DI) in Python with a practical data pipeline example, showing how DI improves code flexibility, testability, and separation of concerns by injecting dependencies like loaders, transformers, and exporters rather than hardcoding them. It covers manual DI with functions and classes, abstraction with protocols, building a simple DI container, and DI usage in FastAPI, emphasizing that DI is powerful but should be applied where complexity and testing needs justify it.

The article explores advanced Python typing features like assert_never, TypeGuard, and the newer TypeIs, which enable stricter and more precise type narrowing, improving type safety and maintainability in large codebases. It also covers typed function overloading and new syntax improvements in Python 3.13+ that help enforce exhaustive conditionals and accurate type inference for complex programs.

Wes McKinney's post questions whether large language models (LLMs) can achieve artificial general intelligence (AGI) given their persistent struggles with basic arithmetic tasks like adding single-digit numbers, even in top models. Through experiments and analysis, he shows that while LLMs perform inconsistently on simple math (e.g., summing ~10 numbers), this reveals deeper limitations in symbolic reasoning and reliability, casting doubt on their path to AGI without fundamental architectural fixes.

The video demonstrates how to use Streamlit, a Python framework, to quickly build professional and interactive data visualizations with minimal code, showing live examples involving Pandas for data manipulation and visualization. It highlights Streamlit's simplicity, live reloading, interactivity, and caching features, making it ideal for rapid data exploration and sharing within small user groups.

Prompt caching in large language models (LLMs) is an optimization technique that stores and reuses intermediate computational states (key-value caches) of repeated prompt prefixes, significantly reducing redundant processing and speeding up responses. By breaking prompts into fixed-size token blocks and utilizing a hash-based prefix matching system, prompt caching enables multiple requests with shared prefixes to skip repeated computations, decreasing latency and lowering computational costs across concurrent users.

The article analyzes AI infrastructure needs in the "Era of Experience," where RL-trained models interact with proprietary environments, using GRPO for efficient policy optimization and LoRA adapters to enable low-cost training/inference via multi-tenancy and large-batch async RL. It predicts commoditized base models will spawn a reinforcement fine-tuning (RFT) industry for custom models, with economies of scale in inference but challenges in scaling environment/reward modeling for widespread adoption.

To successfully modernize a mature Django package without breaking user code, the maintainer should phase in new tools to consolidate configuration into a single pyproject.toml file. Key strategies involve streamlining the developer experience with fast tools like uv and Ruff, using a Justfile for memorable commands, and automating releases with Towncrier for clean changelog management.

The post shows how efficient Django QuerySet usage can significantly improve database performance, reduce latency, and create faster applications. It explains that writing better queries leads to more stable, scalable, and cost-effective Django systems because the ORM can easily generate unnecessary load when used carelessly.

The video demonstrates setting up a modern Django project with Vite for frontend builds: create Django app with UV, configure Vite for JS/CSS bundling to Django's staticfiles, integrate django-vite for HMR dev server.

DSPy's new status streaming feature allows agents to provide real-time updates on their intermediate steps, such as tool calls and LM thinking, to improve user experience during long wait times. This is achieved by using the dspy.streamify wrapper with a custom StatusMessageProvider, which hooks into lifecycle events like tool_start_status_message to show live progress.

This comprehensive course on becoming an AI Researcher starts with the foundational mathematics (vectors, derivatives, gradients, matrices) and PyTorch fundamentals necessary for understanding modern AI. It then progresses through the building blocks of neural networks and culminates with an in-depth module on Transformers, the critical technology behind Large Language Models and generative AI.


Interesting Projects, Tools, and Libraries

LLM Council works together to answer your hardest questions.

An autonomous offensive/defensive security research framework, based on Claude Code. It empowers security research with agentic workflows and automation.

A CLI tool to edit PDF slides using natural language prompts, powered by Google's Gemini 3 Pro Image ("Nano Banana") model.

Tiny script to run .prompt files.

Fast and easy dependency injection framework.

A fast, modern Advent of Code CLI with caching, guardrails, leaderboards, and a lightweight Python API.

A framework for efficient model inference with omni-modality models.

The python RBAC library for projects where SQLAlchemy is a valid option.

PyArud is a robust Python library for Arabic prosody (Arud) analysis. It detects poetic meters (Buhur), analyzes verses foot-by-foot, and identifies variations (Zihaf) and defects (Ellah) with granular precision.

A Python micro-ORM.


New Releases

Django 6.0 introduces major new features: built-in support for template partials (for cleaner, reusable templates), a native background-task framework, a built-in Content Security Policy (CSP) system, and a more modern, Unicode-friendly email API. This release marks the end of mainstream support for Django 5.2; developers are encouraged to upgrade to 6.0 to benefit from the new features and continued security fixes.


Upcoming Events and Webinars

There will be a talk, Pulto: Notebooks for Spatial Visualization System.

There will be a talk, Args: Amazing or Approaching?

There will be following talks

  • Scaling Personalized Push Notifications

  • LLM distillation explained: Make smarter, cheaper, and deployable AI for enterprises

Join us for a hands-on workshop where we’ll break down chained conditions in PySpark — a powerful technique for writing clean, efficient, and flexible filters for complex datasets!

There will be following talks

  • Python on Microcontrollers

  • Reject techno-feudalism with omg.lol 

  • Replicating the Magic™ of the Cloud in Your Basement

  • MadPy Community Environment Survey Discussion


Our Other Newsletters

Programmer Weekly - A free weekly newsletter for programmers.

Founder Weekly - A free weekly newsletter for entrepreneurs featuring best curated content, must read articles, how to guides, tips and tricks, resources, events and more.