TIL: Dependency groups and uv run
Using PEP 735 dependency groups with uv run to simplify Python project setup and testing, plus automating redirects for a TIL site.
SimonWillison.net is the long-running blog of Simon Willison, a software engineer, open-source creator, and co-author of the original Django framework. He writes about Python, Django, Datasette, AI tooling, prompt engineering, search, databases, APIs, data journalism, and practical software architecture. The blog includes detailed notes from experiments, conference talks, and real projects. Readers will find clear explanations of topics such as LLM workflows, SQL patterns, data publishing, scraping, deployment, caching, and modern developer tooling. Simon also publishes frequent micro-posts and TIL entries that document small discoveries and tricks from day-to-day engineering work. The tone is practical and research oriented, making the site a valuable resource for anyone interested in serious engineering and open data.
213 articles from this blog
Using PEP 735 dependency groups with uv run to simplify Python project setup and testing, plus automating redirects for a TIL site.
Anthropic acquires Bun, the JavaScript runtime company, to power its Claude Code AI products and accelerate development.
Mistral AI releases Mistral 3, a family of open-source, vision-capable AI models, including a tiny 3B model that runs in a browser.
Anthropic's internal 'soul document' used to train Claude 4.5 Opus's personality and values has been confirmed and partially revealed.
Fixing YouTube embed error 153 by adjusting Django's Referrer-Policy header from same-origin to strict-origin-when-cross-origin.
A critique of AI and procedural generation in video games, arguing they create soulless, repetitive content instead of meaningful experiences.
A retrospective on ChatGPT's third anniversary, covering its surprising launch, initial internal skepticism, and unprecedented growth to 800 million users.
A blog post discussing GitHub's frontend requiring JavaScript, hindering use in the Dillo browser, and the principle of progressive enhancement.
Explores 'context plumbing' for AI agents, the engineering needed to move relevant context from various sources to where AI systems run.
Wikipedia's new guideline advises against using LLMs to generate new articles from scratch, highlighting limitations of AI in content creation.
Compares the energy use of a ChatGPT query to streaming Netflix, putting AI's carbon footprint into perspective.
Developer shares his experience building a Bluesky Thread Viewer tool using AI assistants like Claude and ChatGPT.
Technical report on Qwen3-VL's video processing capabilities, achieving near-perfect accuracy in long-context needle-in-a-haystack evaluations.
DeepSeek-Math-V2 is an open-source 685B parameter AI model that achieves gold medal performance on mathematical Olympiad problems.
Simon Willison discusses data journalism, Django's origins, and tech's role in news on the Data Renegades podcast.
Analysis of a prompt injection vulnerability in Google's Antigravity IDE that can exfiltrate AWS credentials and sensitive code data.
LLVM 21 adds constant-time support to protect cryptographic code from timing attacks at the compiler level.
Release of llm-anthropic 0.23 plugin adding support for Claude Opus 4.5 and its new thinking_effort option.
A benchmark comparing 9 AI models on their ability to generate SVG images from creative text prompts like 'an octopus operating a pipe organ'.
Analysis of a leaked system prompt for Claude Opus 4.5, discussing its content and the challenges of evaluating new LLMs.