Bruce Eckel's 'Thinking in Python' is now free to read online

Thinking in Python by Bruce Eckel

Bruce Eckel, author of the classic 'Thinking in Java,' has released 'Thinking in Python,' a comprehensive 47-chapter book covering Python foundations, advanced techniques, design patterns, and functional programming. The book is freely readable online under a CC BY-NC-ND license, with examples and exercise solutions available on GitHub.

Freely readable online. No reproduction without permission.
  1. janpeuker

    Nice formatting - None of the book seems to be about "Thinking" though. It's basically an annotated syntax guide for readers from a C++ background?

  2. JLO64

    While the web version of this book looks fine, I only read books on my Kindle (with KOReader). Thankfully all I had to do was clone the source repo (https://github.com/BruceEckel/ThinkingInPython) and run `make epub` to get a nicely formatted file! It is a bit on the larger side at 7.4MB, but beggars can't be choosers... (On second thought, I'm gonna submit a PR to shrink it as it's mostly from the cover image being 6MB!)

  3. runningmike

    Nice to see this! Personally, I prefer CC BY-SA to CC BY-NC-ND, but it is certainly much better than 100% protected. Over the years, I've built and maintain a list[1] of CC BY-SA Python books that have no access barriers, such as mandatory account creation or intrusive web trackers.

    [1] https://nocomplexity.com/documents/pythonbook/bookreferences...

  4. bigcat12345678

    I indeed find the formatting quality of the site to be superior. As mentioned below by the author.

    """

    I know some people don’t like AI. Without it, this book wouldn’t exist. The book is free, so if AI bothers you more than the resulting product might benefit you, please ignore this book.

    Using Claude made me realize how many compromises I’ve made on books in the past. I would get a good idea about something (for example, automatically interleaving commented output in the listings). I either couldn’t implement it, or it seemed too hard, so I didn’t do it. But with AI I can explore and often implement every whim, from things as seemingly straightforward as inserting a new chapter to ones as daunting as that commented-output system. The result is much better than anything I managed before. I keep going until I’ve tweaked everything that occurs to me.

    """

  5. grandimam

    I had created something along the same lines - a platform for devs to understand Python deeply, and was trying to see if there was a market for such content. The thing that I realised is that even with AI, there has to be distribution available for things like this to gain traction.

More from this day

2026-08-22