A couple weekends ago, I was lucky enough to attend PyTexas 2025. It’s a great regional conference that is a great mix of world class speakers and cozy relaxed atmosphere. It’s in spring, on the banks of Lady Bird Lake in Austin, Texas. It is a wonderful event.

At the conference, the organizers periodically raffled off items from a ‘prize trough’. The prize trough was a wagon filled with technical books. There were many great titles in there including The Pragmatic Programmer, Automate the Boring Stuff with Python, and The Missing README, among others.

The first two people that I saw win a raffle went up to the prize trough, looked through the selection and selected both copies of Fluent Python by Luciano Ramalho.

It’s a popular book. I recognized it, and in fact I had just started reading it. I’d chosen it because while I had learned Python a number of years ago, I’ve always felt that I am writing other languages poorly translated (by me) into Python. I want to use features that I like in other languages and figure out how to make them work in Python.

I’ve been frustrated that len() is a standalone function rather than an object method. When I look into why Python is different I will inevitably see an answer that says something along the lines that Python does things the way it does for a good reason and there is a method to it. Usually, the answer will also make a reference to ’the Python data model’. Finally, there is often a mention of the book Fluent Python as a primer for folks that want to gain a better understanding of Python and how to write Pythonic code.

I do want to write Pythonic code. I don’t want to write Python with a Javascript accent, or Java with Python syntax. I want to write Python fluently, and judging by the popularity of the book Fluent Python, I’m not the only one.