Modern Python Weekly #13

PyPI explains its download failures, open forecasting gets more practical, and developer tools tighten control over AI fixes and CI caches.

Share
Modern Python Weekly #13
Image from wallhaven

Python News

  • PyPI explains August’s file-hosting errors - PyPI’s September 8 incident report traces intermittent download failures to a Fastly cache-node misconfiguration and separate origin-fallback and range-request bugs, with full service restored on August 28. 💡 Modern Python's Take: A failed install can be an infrastructure problem even when your lockfile is correct; keep the failing URL, timestamp, and response details so maintainers can actually investigate.
  • Python 3.15 RC2: the compatibility window is still open - Release reminder: September 1’s final planned candidate remains the latest Python Insider release announcement, with the ABI frozen and Python 3.15.0 final scheduled for October 1. 💡 Modern Python's Take: Give one CI job to 3.15 now and check whether your compiled dependencies have wheels; that is a small investment before the stable release creates upgrade pressure.
  • FastAPI release watch - As checked on September 11, the official notes still list July 29’s 0.141.1 as the latest numbered release, so there is no new release announcement to report this week. 💡 Modern Python's Take: Use the quiet week to exercise your own dependency and background-task paths, especially if your application uses the newer frontend support.
  • Open weather forecasting gets a practical Python workflow - Earthmover and Hugging Face’s September 8 guide connects analysis-ready climate data, Xarray, and Aurora inference, including a local Python walkthrough and validation against ERA5. 💡 Modern Python's Take: The useful breakthrough here is reducing the work between downloading weights and evaluating a forecast; budget time for data access and alignment, not just GPU inference.

AI news

  • IBM releases Granite Time Series PatchTST-FM-r2 - IBM’s September 9 announcement introduces a roughly 385-million-parameter forecasting model with probabilistic predictions, missing-value imputation, and openly available weights and reproduction code under commercial-friendly licensing. 💡 Modern Python's Take: A pretrained forecasting model is a useful baseline to test against your seasonal and statistical models; the result that matters is performance on your own horizons and missing-data patterns.
  • Anthropic publishes its September misuse report - Released September 10, Anthropic’s report describes selected operations it says it disrupted between December 2025 and August 2026, spanning cyber activity, surveillance, influence operations, fraud, and other misuse. 💡 Modern Python's Take: Treat these case studies as input for abuse detection and permission design; selected incidents from one provider cannot tell us how common each behavior is across all AI use.

Tools and Projects

  • GitHub Actions adds explicit cache access modes - On September 10, GitHub made workflow- and job-level cache-mode controls generally available, allowing read, write, write-only, or no cache access with restrictions carried through reusable workflows. 💡 Modern Python's Take: Python dependency caches deserve the same trust boundaries as build artifacts; review who can populate a cache before relying on it to speed up privileged jobs.
  • Secret-scanning alerts can block pull-request merges - GitHub’s September 9 public preview lets eligible Secret Protection or Advanced Security customers require completed scanning and resolved alerts for secrets introduced by a pull request before merging. 💡 Modern Python's Take: Turning an alert into an enforceable merge condition closes an easy workflow gap; make sure the team also understands how to revoke an exposed credential.
  • Copilot can tackle Code Quality findings in batches - Announced September 9 for repositories with GitHub Code Quality enabled on Team or Enterprise Cloud, agentic autofix accepts up to 25 standard findings, works on a branch, and opens a reviewable pull request while consuming AI credits. 💡 Modern Python's Take: Start with a small set of related findings so the resulting diff has a clear purpose; an agent’s self-checks still need meaningful project tests and review.

Articles

  • Rebuilding AUTOMATIC1111 with Gradio Workflow - In a September 10 walkthrough, Gradio’s authors assemble eleven media pipelines into a 73-node workflow canvas using Python functions, model calls, Spaces, and datasets. 💡 Modern Python's Take: This is a useful reference for exposing a complex Python pipeline to users; inspect where a visual graph makes dependencies clearer and where a plain function remains easier to maintain.
  • Safety for Whom? - Multiverse Computing’s September 8 research explainer examines training and evaluating refusal behavior against deployment-specific boundaries within a topic. 💡 Modern Python's Take: Build evaluations around paired examples your product should answer and refuse; a broad topic label can hide both harmful compliance and frustrating over-refusal.
  • Per-tensor layout maps for GGUF quantization - Bartowski’s September 10 writeup describes experiments that allocate quantization precision using tensor sensitivity, with per-architecture canary checks and fallback behavior when a proposed layout underperforms. 💡 Modern Python's Take: Compare quality at similar file sizes instead of assuming a quantization name guarantees equivalent results; the fallback tests are as valuable as the optimization itself.