Modern Python Weekly #14

Agent consistency, practical fine-tuning, and safer CI lead this week’s Python and AI reading list.

Share

Python News

  • Python 3.15 RC2: the compatibility window is still open - Release reminder: September 1’s 3.15.0rc2 remains the latest candidate listed by Python Insider, with maintainers encouraged to test their packages and publish compatible wheels ahead of the final release. 💡 Modern Python's Take: Add a 3.15 job to CI now, especially if you ship compiled dependencies; finding an incompatible wheel before your users do is a small investment with a useful payoff.
  • FastAPI’s latest numbered release remains 0.141.1 - Status check, not a new release: the official notes still list July 29’s 0.141.1, which fixes background tasks and dependency-provided headers in app.frontend(). 💡 Modern Python's Take: If you use the integrated frontend path, include those two behaviors in your regression checks; a quiet release week is a good opportunity to test the framework features your app actually depends on.
  • ShadowPEFT joins the Python fine-tuning toolkit - In a September 15 post, the authors describe ShadowPEFT’s integration into Hugging Face PEFT, using a stateful shadow network while retaining familiar get_peft_model and adapter save/load entry points. 💡 Modern Python's Take: A familiar API makes a new method easier to evaluate, but it does not make the tradeoffs disappear; compare quality, memory use, and inference latency against your existing LoRA baseline.
  • Polars on-premises adds distributed rolling operations and autoscaling - Catch-up from September 9: the on-premises 0.8.5 release lists distributed rolling aggregations, worker autoscaling, and collect/collect_batches support on ClusterContext. 💡 Modern Python's Take: This is a deployment-specific release, so check which features apply to your setup; for distributed analytics, test uneven partitions and memory pressure alongside total query time.

AI news

  • IBM measures the gap between an agent succeeding once and succeeding consistently - On September 15, IBM Research reported that its GPT-4.1 ReAct agent averaged 77.4% success on AppWorld but passed all five repeated runs on only 53.0% of tasks, with consistency guidelines raising the latter to 69.0% in that evaluation. 💡 Modern Python's Take: Add repeated runs to your own agent evals and report all-runs success beside the average; these results belong to a specific benchmark, but the measurement catches a failure mode that a polished demo can hide.
  • Copilot adds cost-and-quality preferences to automatic model selection - GitHub’s September 14 announcement introduces efficiency, balance, and intelligence tiers, with each tier drawing from the same available model pool and choosing a model for each prompt. 💡 Modern Python's Take: Treat the setting as a routing preference, not a guarantee of a particular model; compare completed-task cost and time spent correcting the result when deciding which tier suits your work.

Tools and Projects

  • GitHub Actions workflow execution protections reach general availability - The September 17 release adds workflow-file targeting, policy insights, and REST management, while introducing an evaluate-mode default restricting pull_request_target in public repositories without an applicable event policy. 💡 Modern Python's Take: Review the evaluation results before enforcement; GitHub names November 2 for affected repositories using the earlier default policy, making this a concrete maintenance task for Python projects that accept outside contributions.
  • AI Scan can run without CodeQL default setup - From September 16, eligible GitHub Advanced Security customers can use the public-preview pull-request scanner without CodeQL default setup, provided code scanning and AI Scan are enabled; this release excludes GitHub Enterprise Server. 💡 Modern Python's Take: Check whether this expands coverage across your repositories, then inspect the findings against real code paths; easier enablement is useful only when someone can act on the results.
  • funes gives coding agents searchable local memory - The September 17 project writeup introduces a Lance-backed local index of coding-agent transcripts, with retrieval tools that return original passages and their provenance rather than LLM-generated summaries at ingestion. 💡 Modern Python's Take: Recovering the reason behind an old decision is often more valuable than recovering its final patch; try retrieval on a few past debugging sessions and check whether the returned evidence answers your question.

Articles

  • Two AutoRound settings that changed the exported result - In a September 14 technical writeup, FINAL-Bench describes a mismatch between its optimization scheme and GGUF export format, an overlooked algorithm-extension flag, and the influence of calibration data on its quantization results. 💡 Modern Python's Take: Evaluate the artifact your users load, not just the training log; the authors’ reported distribution-level improvements are a useful experiment to reproduce, not proof that every downstream task will improve.
  • A practical session on controlling Claude Enterprise consumption - Anthropic’s September 15 webinar page outlines model defaults, per-teammate spend visibility, Analytics Chat, and Analytics API reporting as the components of its cost-control walkthrough. 💡 Modern Python's Take: Borrow the operating habit even if you use a different provider: decide who owns the budget, make usage visible, and connect spending to completed work before expanding access.