The biggest problem I have with lists of links like this, is that there is vary rarely a hint to the quality of the resource behind the link. Is the book being recommended because it is a great book or just because it is free.
I started recommending the books just because they're free but realized pretty much all are at least okay or good, there don't seem to be many bad ones among the freebies. Maybe because writing a book and making it public takes deliberate and considerable effort, so only motivated authors do it.
Some of the books I used are "Code with Repl.it", "Tpython 101", "Boxes", "Clean Architectures in Python", and "The Hitchhiker’s Guide to Python".
I highly recommend "Boxes: Your Second Python Book" because it's unlike any other book I've seen. It focuses on text layout algorithms and builds an increasingly advanced exmaple through successive iterations.
Learn Python the Right Way https://learnpythontherightway.com - an adaption of the more famous "Think like a Computer Scientist" which is my favourite introduction to Python - better landing page coming very soon.
Both are "living" books so we are constantly looking for feedback to improve them. Feel free to reach out if you have any!
But among the motivations for starting this list there was the realization most of the free learning resources that are typically recommended have different formats such as courses, videos, tutorials and blog posts, and so on. There seemed to be relatively few free books recommended, so I thought a little hoarding would be an opportunity for discovering more titles and authors.
Cool list! @pamoroso, if you read this comment, I've submitted an issue on the repo to add my own ebook (full-speed python).
If someone stumbles on this on HN, here's the link to the repo [1] and releases [2]. It's basically a simple ebook where each chapter shows a little bit of what you can do with something (numbers, strings, lists, dicts, modules, etc.) and then the reader is asked to solve some exercises.
I use this for my students (BSc and MSc students), who already know how to program, how to get up to speed with Python so that we can go learn sockets, the http protocol, webservices, web frameworks, etc..
I'm also maintaining a list of Python resources (including paid options): https://learnbyexample.github.io/py_resources/