Reminder before I dive in - you can listen to this episode on the website (www.snakesnignals.com)
This week the stack and the market are pointing in the same direction.
On the tooling side, uv, Ruff and FastAPI all shipped fresh cuts, NumPy 2.3.5 is now the stable baseline on 3.11 to 3.14, and the Pydantic AI ecosystem keeps shipping weekly. On the hiring side, most of the live Python briefs in London and Dubai now read like the same template: FastAPI or Django, cloud, data, and some flavour of AI.
If you own CI, there are fast wins. If you hire or are on the market, the “Market and stack signals” section below is the one to keep.
Ship-safe updates
uv 0.9.11 (released Nov 20)
Patch release in the 0.9 line with housekeeping on docs and better guidance for free threaded Python builds. Heroku’s Python buildpacks are already on 0.9.11, which is a useful signal that it is stable enough for hosted CI. Trial it on one service with uv pip and compare end to end time to green before you roll it out wider.
Ruff 0.14.6 (Nov 21)
Latest Ruff release in the 0.14 line. Incremental polish plus security focused tweaks in the flake8-bandit rules, including support for new PySNMP API paths, and the usual stream of bug fixes. If you were already on 0.14.x, this is a safe bump.
FastAPI 0.121.3 (Nov 19)
Small refactor and fix release on the 0.121 line. The headline in this series is still the fastapi CLI and Cloud support: installing fastapi[standard] brings fastapi-cli and the FastAPI Cloud CLI so fastapi dev and fastapi deploy are available by default. If you were waiting to see 0.121 settle, that time is now.
NumPy 2.3.5 (Nov 16, still fresh)
Latest patch on the 2.3 line, supporting Python 3.11 to 3.14. It is a pure maintenance release: bug fixes and small improvements with no headline breaking changes. If your matrix is already green on 2.3.4 and 3.14, this should be a straightforward bump.
Pydantic AI 1.19.0 and 1.22.0 (Nov 17 and 21)
Pydantic AI continues its fast cadence, with 1.19.0 and then 1.22.0 both landing inside this window. The Gateway open beta from last week is now backed by a series of small agent framework releases and new supporting packages like pydantic-graph and pydantic-evals for graph style state machines and evaluation workflows. If you are building Python first agents, the ecosystem is maturing quickly around budget control and observability.
Security note
Targeted supply chain attacks against Python projects have not slowed down. Recent campaigns have abused GitHub Actions and package ecosystems to steal thousands of tokens, and PyPI is actively hardening things by blocking registration of expired domains that were used for typosquatting. If anyone on your team has published from a compromised machine or interacted with suspicious domains, rotate PyPI and cloud keys and review recent publishes and installs.
Market and stack signals: where Python demand is moving
Hot stacks developers actually want
Recent ecosystem and developer surveys still show Python as one of the preferred languages for production work, especially in web, data and AI. A large 30 000 developer survey this year found about three quarters of respondents use Python professionally and a clear majority prefer it over other languages. Web APIs, data processing and AI or ML remain the top use cases.
When you read live UK and UAE briefs, the same combinations keep showing up:
FastAPI plus Pydantic for services
FastAPI has become a core web framework for greenfield APIs alongside Django and Flask, particularly where async I/O and strong type hints are required. Job ads for AI Python developers and data products frequently call out FastAPI explicitly for backend services and internal APIs.Ruff, uv and pytest as “modern Python” tools
Ruff and uv are now widely used as default tooling for linting, formatting and packaging. Ruff gives you a single fast tool instead of a stack of Flake8 plus plugins and formatters. uv gives you pip compatible commands with 10 to 100 times speedups in dependency resolution and installs. pytest 9.0.1 is already the default in many templates and tutorials. Mentioning these explicitly is a quiet but strong signal that your team is not stuck on legacy workflows.Data and AI on NumPy 2.3.x
On the data side, NumPy 2.3.5 is now the stable base on Python 3.11 to 3.14. Data and ML roles in both regions still anchor around NumPy plus a mix of Pandas and PyTorch or TensorFlow, with new AI specific frameworks like Pydantic AI layered on top for agent style workloads.
How to reflect this in your JD
If you are hiring, move beyond “Python developer” and write the stack you actually run:
Call out FastAPI or Django by name, plus Pydantic if you use it for validation and schemas.
List Ruff, uv and pytest in the tooling section. This tells candidates you value fast feedback and modern DX.
Mention your cloud (AWS, GCP or Azure) and whether you are using serverless, containers or bare VMs.
If you touch AI, be explicit about whether you run classic ML, RAG pipelines or agent frameworks like Pydantic AI.
This lets experienced candidates self select and reduces calls wasted explaining “what you actually use” after the fact.
How to reflect this on your CV
For candidates, mirror that clarity back:
Under your current role, write one stack line such as:
Python · FastAPI · Pydantic · NumPy · pytest · Ruff · uv · AWSUnder projects, include one concrete API you shipped and the stack it used.
If you use AI coding tools or agents, say so, but focus on what you personally understood and changed. That is what hiring managers will probe line by line in a review.
If AI helped you draft code, be prepared to walk through the final version in detail. “I just copied it from the tool” is not an acceptable explanation.
Where the activity is
United Kingdom
The UK remains one of the densest Python markets.
Job platforms currently show several thousand open roles that mention Python across the UK, with more than 6 000 listings referencing Python skills. London has the highest concentration, but there is meaningful distributed demand across the rest of England.
For Python developers in London, salary guides for 2025 put typical experienced ranges around 85 000 to 105 000 GBP, with AI and trading heavy roles reaching higher packages.
Live adverts increasingly ask for combinations like FastAPI or Django, cloud experience, and some exposure to modern AI stacks or RAG pipelines, even when the role is not pure data science.
For hiring managers, that means: if your mid level role in London is posted much below the 80s, or your stack reads like “Python, legacy framework, on premise” with nothing about modern tooling, you are competing with more attractive offers by default.
United Arab Emirates
The UAE has moved from “interesting side market” to a genuine Python hotspot, especially Dubai and Abu Dhabi.
Recent reports show the UAE tech sector growing fast, with tech investment up by more than 100 percent and strong demand in AI, cybersecurity and cloud. Python is consistently listed as a core skill for these roles.
Job boards currently list around 60 dedicated Python developer vacancies in the UAE, plus nearly 2 800 wider software engineer roles. So Python is no longer niche in the region.
Salary data puts Python developer pay in the UAE at roughly 7 700 to 8 000 AED per month on average, with higher bands for senior roles in financial services, AI and cloud platforms. Dubai is at the top end of that range.
For hiring managers building in the UAE, that implies:
If you want experienced engineers to relocate from Europe, salary and equity need to reflect both the cost of living and the tax advantage, not just local averages.
Explicitly mentioning remote friendly or hybrid alongside Dubai based roles increases the effective pool, since many candidates are open to monthly or quarterly travel rather than full relocation.
For candidates considering UAE roles, the pattern is simple: backends and data roles using Python with cloud and AI, often in fintech, logistics, crypto or gov backed projects.
What to actually do this week
For engineering leads and ICs
Trial uv 0.9.11 on one repo that already uses uv. Measure end to end CI time to green before and after. If it is stable and faster, lock it and roll out gradually.
Bump Ruff to 0.14.6 in pre commit. Keep any new rules as warnings for one sprint, then enforce.
If you run FastAPI, take 0.121.3 on a staging branch and confirm your OpenAPI generation and CLI workflow still behave as expected. If you install
fastapi[standard], make sure your team actually uses thefastapi devandfastapi deploycommands.For data teams, schedule a NumPy 2.3.5 bump behind your existing tests where your matrix is already green on 2.3.x and 3.14.
If you are experimenting with agents, pin a spike project on Pydantic AI 1.22.0 plus the Gateway beta and confirm your logging, cost tracking and retry behaviour are fit for production.
Security: audit who has PyPI and CI publish rights, enforce phishing resistant 2FA, and rotate any tokens that might have been exposed through compromised actions or spoofed domains.
For hiring managers
Rewrite your Python JD to name the actual stack: FastAPI or Django, Pydantic, Ruff, uv, pytest, cloud and any AI or data tooling.
Check your salary bands against current London or UAE market data if you hire in those locations, and adjust bands or expectations where there is a gap.
Standardise a short, 7 day loop for Python roles: one small take home, one live review plus design, one team panel with a shared scorecard, then fast references and written offer.
For candidates
Update your CV with one clear stack line per role and explicit mention of FastAPI, Pydantic, Ruff, pytest and cloud where you have used them.
Pick one project and be ready to walk through the code and design in detail without a tool in front of you.
If you are interested in the UAE, start tracking target companies now while the market is still in a growth phase.
If the website has helped already or might help in the future, share it with someone who builds or hires in Python. New readers can join at snakesignals.com.
Hiring? Contact
Josh Smith
LinkedIn: https://www.linkedin.com/in/python-recruitment/
Email: [email protected]
Phone: 01727 225 552
