Python Dev News: UV Workspaces, CAdders, and Agentic AI
Monorepo Management with UV
Transitioning projects to a monorepo structure is becoming increasingly popular. The hosts discuss three critical tips for managing workspaces using the uv tool:
• Define a distinct name for the root project to avoid naming conflicts with sub-packages.
• Configure local dependencies using tool.uv.sources to ensure internal packages are resolved locally rather than from PyPI.
• Use importlib mode for pytest to avoid silent import bugs when managing shared test naming conventions across multiple sub-packages.
Data Validation and Serialization
Moving beyond dataclasses and attrs, the hosts highlight cattrs as a powerful tool for serialization and validation. Unlike Pydantic, which is often tightly coupled to the data model/object hierarchy, cattrs offers an orthogonal approach:
"There's this sort of orthogonality of your validation and conversion layer and your class structure."
• It allows for flexible structural validation without forcing logic into the object itself.
• Useful for varied formats like JSON, YAML, and MessagePack.
AI in Software Engineering
Learning to Code
Inspired by community suggestions, the hosts discuss the balance between using LLMs as a tutor versus a shortcut. AI can effectively generate programming problems and review code, but the focus must remain on developing strong mental models and the ability to decompose complex problems.
Developer Tools
• FastAPI VS Code Extension: A new official extension provides route navigation, command palette integration, and easier deployment to FastAPI Cloud.
• Agent Client Protocol (ACP): A standard allowing editors like PyCharm to integrate seamlessly with various agentic coding tools, including Cursor.
Hyper-Personal Software
Michael introduces the concept of Hyper-Personal Software—tools built specifically to solve an individual's unique workflow problems (e.g., custom browser extensions to remove ads)—instead of relying on generic SaaS solutions.