Serdar Yegulalp
Senior Writer

Making good choices: How to get the best from Python tools

analysis
Sep 12, 20253 mins

Artificial intelligence may be Pythonโ€™s killer app, but thereโ€™s still an art and a science to integrating Python tools into your workflow.

The words "good, better, best" in colorful letters on a chalkboard background.
Credit: Anson0618 / Shutterstock

The way to get the best from Python, aka “the lingua franca of AI,” is by knowing both its traps and its treasures. One such treasure is using uv run as a magic launcher; another is a chatbot library that spares you the pain of writing SQL for data queries. Get these updates and more, in this week’s report.

Top picks for Python readers on InfoWorld

How to spin Python’s challenges into AI gold
Python’s AI development ecosystem is hard to beat, but the path to choosing and using the right tools can be rocky. Make the most of Python’s AI dominance by learning which tools to use and how to use them—not just for good, but for the best.

Tiobe: Python popularity boosted by AI coding assistants
As if you needed further proof artificial intelligence is Python’s A-game: Recent analysis from the Tiobe language index shows AI coding assistants taking Python’s growth to the next level.

Chat with data the easy way in R or Python
Are you sick and tired of SQL? Try using the querychat chatbot library to mine datasets using natural language instead. Run a data-analysis experiment with NFL game stats, then view the results in a shiny dashboard.

Amp your Python superpowers with ‘uv run’
Here’s a wizardly Python skill for you: Execute Python packages and libraries with a single uv utility command, even if they’re not already installed.

More good reads and Python updates elsewhere

Writing a C compiler in 500 lines of Python
You wouldn’t use it for production, to be sure, but as a lesson in how to write a compiler, this project is a great peek under the hood.

Solving PyTorch’s cross-platform nightmare
How one developer set up a PyTorch project to do the seemingly impossible: Install with one command, no matter what platform or hardware. (It did take some work.)

Scaling asyncio on Free-Threaded Python
How did Python’s core team make asyncio work properly in free-threaded versions of Python? It turns out freeing asyncio from the limits of the GIL paid off.

Semi-off-topic: What’s the mathematically optimal way to dice an onion?
File under “algorithms for the kitchen.” (Hint: You’ll want a long knife.)

Serdar Yegulalp

Serdar Yegulalp is a senior writer at InfoWorld. A veteran technology journalist, Serdar has been writing about computers, operating systems, databases, programming, and other information technology topics for 30 years. Before joining InfoWorld in 2013, Serdar wrote for Windows Magazine, InformationWeek, Byte, and a slew of other publications. At InfoWorld, Serdar has covered software development, devops, containerization, machine learning, and artificial intelligence, winning several B2B journalism awards including a 2024 Neal Award and a 2025 Azbee Award for best instructional content and best how-to article, respectively. He currently focuses on software development tools and technologies and major programming languages including Python, Rust, Go, Zig, and Wasm. Tune into his weekly Dev with Serdar videos for programming tips and techniques and close looks at programming libraries and tools.

More from this author