> ## Content Index
> Fetch the complete content index at: https://modernpython.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# Modern Python Weekly #14
- URL: https://modernpython.io/modern-python-weekly-14/
- Published: 2026-09-18T16:18:52.000Z
- Updated: 2026-09-18T16:18:52.000Z
- Description: Agent consistency, practical fine-tuning, and safer CI lead this week’s Python and AI reading list.
- Author: Modern Python
- Tags: Newsletter

![](https://storage.ghost.io/c/9d/13/9d1370cd-8c17-45a2-95ab-a1c6a2886e22/content/images/2026/09/exec-a92b7ce0-1a81-48fd-8433-b1415d41a7fc.png)

## Python News

- [Python 3.15 RC2: the compatibility window is still open](https://blog.python.org/2026/09/python-3150-rc2/?ref=modernpython.io) \- 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](https://fastapi.tiangolo.com/release-notes/?ref=modernpython.io#01411) \- 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](https://huggingface.co/blog/shadow-llm/shadowpeft-peft?ref=modernpython.io) \- 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](https://docs.pola.rs/polars-on-premises/releases/?ref=modernpython.io) \- 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](https://huggingface.co/blog/ibm-research/altk-evolve-consistency?ref=modernpython.io) \- 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](https://github.blog/changelog/2026-09-14-configure-cost-and-quality-in-copilot-auto-model-selection/?ref=modernpython.io) \- 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](https://github.blog/changelog/2026-09-17-workflow-execution-protections-in-github-actions-generally-available/?ref=modernpython.io) \- 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](https://github.blog/changelog/2026-09-16-code-scanning-ai-scan-no-longer-requires-codeql-default-setup/?ref=modernpython.io) \- 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](https://huggingface.co/blog/ariG23498/funes-lance?ref=modernpython.io) \- 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](https://huggingface.co/blog/FINAL-Bench/qwen-models?ref=modernpython.io) \- 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](https://www.anthropic.com/webinars/scaling-claude-with-cost-controls-sept-2026?ref=modernpython.io) \- 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.*