├── .github └── FUNDING.yml ├── LICENSE ├── README.md └── free-python-books-logo.jpg /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: pamoroso # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # ['https://www.buymeacoffee.com/amoroso'] 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This work is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0). 2 | To view a copy of the license visit https://creativecommons.org/licenses/by/4.0/ or send a letter 3 | to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. 4 | 5 | The work was created by Paolo Amoroso. 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | **This project is no longer maintained.** The repo is read-only and doesn't accept new contributions. If you're interested you may fork the repo and maintain your copy. 2 | 3 | ![Free Python Books project logo](https://github.com/pamoroso/free-python-books/blob/master/free-python-books-logo.jpg) 4 | 5 | # Free Python Books 6 | 7 | A list of Python books in English that are free to read online or download. 8 | 9 | ## Table of Contents 10 | 11 | - [How the list got started](#how-the-list-got-started) 12 | - [What's in the list](#whats-in-the-list) 13 | - [Why free books?](#why-free-books) 14 | - [Acknowledgments](#acknowledgments) 15 | - [List of free Python books](#list-of-free-python-books) 16 | - [Introductory](#introductory) 17 | - [Intermediate](#intermediate) 18 | - [Advanced](#advanced) 19 | - [AI and Machine Learning](#ai-and-machine-learning) 20 | - [Computer Science](#computer-science) 21 | - [Software Engineering and best practices](#software-engineering-and-best-practices) 22 | - [GUI](#gui) 23 | - [Tools](#tools) 24 | - [Web development](#web-development) 25 | - [Data science](#data-science) 26 | - [Science](#science) 27 | - [Jupyter Notebook](#jupyter-notebook) 28 | - [Engineering](#engineering) 29 | - [Cryptography](#cryptography) 30 | - [Games](#games) 31 | - [Lists of free Python books](#lists-of-free-python-books) 32 | - [License](#license) 33 | 34 | ## How the list got started 35 | 36 | I had been learning Python for a few weeks when, in January, 2019, I stumbled upon [a Reddit post in r/learnpython](https://www.reddit.com/r/learnpython/comments/amyryp/what_would_you_suggest_a_person_new_to/) seeking suggestions on how to become a better programmer. 37 | 38 | [One of the comments](https://www.reddit.com/r/learnpython/comments/amyryp/what_would_you_suggest_a_person_new_to/efps9cs/) asked for good books or websites about algorithms and data structures. I had collected links to useful Python learning resources among which the free ebook [Problem Solving with Algorithms and Data Structures using Python](https://interactivepython.org/runestone/static/pythonds/index.html#problem-solving-with-algorithms-and-data-structures-using-python), so I [shared the link in a comment](https://www.reddit.com/r/learnpython/comments/amyryp/what_would_you_suggest_a_person_new_to/efpvm1n/). 39 | 40 | My comment got a couple dozen upvotes, which hinted at the interest in good, easily accessible Python books. Therefore I later put together a list of all the free Python books I had found and [posted it to r/Python](https://www.reddit.com/r/Python/comments/anfdyh/free_python_books/). 41 | 42 | I was right. My post got hundreds of upvotes and several redditors contributed links to more books and lists, thus confirming the interest in such a resource. The next step was to make my list more useful and widely available by integrating it with the suggestions I got in the Reddit post, publishing it to GitHub, and expanding it with more books. 43 | 44 | It's the list you're reading now. 45 | 46 | ## What's in the list 47 | 48 | This list includes the entries I originally posted to Reddit, the books and other lists suggested in the comments, a few more I found since then, and any I'll discover. 49 | 50 | What's a free Python book? 51 | 52 | My definition is fuzzy and necessarily subjective. But I'd say it's an ebook file, a book-length document, or a website structured like a book that is about Python, is written in English, and can be read online or downloaded for free. Most short online tutorials and how-to pages probably don't qualify. 53 | 54 | But in the end I recognize a free Python book when I see one. 55 | 56 | The entries are grouped by category or application domain and include coverage at all skill levels, from basic to advanced. Within categories the entries are sorted alphabetically by title. 57 | 58 | Some redditors shared links to other list of free programming books, some of which are about Python. I've included them too but there's of course some overlap with mine. 59 | 60 | ## Why free books? 61 | 62 | I don't mind paid content. In fact, I also purchased great paid Python ebooks and online resources and I'm going to get more. 63 | 64 | However, free ebooks have several advantages such as often coming in additional handy or downloadable formats. It's also easier to get books on topics you may be interested in but don't have an immediate need for. 65 | 66 | ## Acknowledgments 67 | 68 | Thanks to the redditors who contributed book suggestions and links in [my original post](https://www.reddit.com/r/Python/comments/anfdyh/free_python_books/): AlSweigart, ASIC_SP, Bisalsn, bitcoin-dude, code_x_7777m isakar-elahim, lask757, mfitzp, pvc, warbird2k. 69 | 70 | ## List of free Python books 71 | 72 | ### Introductory 73 | 74 | - [100 Page Python Intro](https://learnbyexample.github.io/100_page_python_intro) 75 | - [A Byte of Python](https://python.swaroopch.com) 76 | - [An Introduction to Python for Linguists](https://v4py.github.io/intro.html) 77 | - [Code With Repl.it: Python Projects for Beginners](https://www.codewithrepl.it/python-projects-for-beginners.html) 78 | - [Coding for Economists](https://aeturrell.github.io/coding-for-economists) 79 | - [Exploring Python Basics](https://www.manning.com/books/exploring-python-basics) 80 | - [Full Speed Python](https://github.com/joaoventura/full-speed-python) 81 | - [How To Code in Python](https://www.digitalocean.com/community/books/digitalocean-ebook-how-to-code-in-python) 82 | - [Learn Python the Right Way](https://learnpythontherightway.com) 83 | - [Non-Programmer's Tutorial for Python 3](https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3) 84 | - [Python 101](https://python101.pythonlibrary.org/) 85 | - [Slither Into Python](https://www.slitherintopython.com) 86 | - [The Python Coding Book: Understanding what programming really is](https://thepythoncodingbook.com) 87 | 88 | ### Intermediate 89 | 90 | - [Boxes: Your Second Python Book](http://ralsina.gitlab.io/boxes-book/) 91 | - [Intermediate Python](https://leanpub.com/intermediatepython) 92 | - [Python re(gex)?](https://learnbyexample.github.io/py_regular_expressions/) 93 | - [Python Tips: Intermediate Python](http://book.pythontips.com/en/latest/index.html) 94 | 95 | ### Advanced 96 | 97 | - [A Python Book: Beginning Python, Advanced Python, and Python Exercises](http://www.davekuhlman.org/python_book_01.html) 98 | - [Python 3 Patterns, Recipes and Idioms](https://python-3-patterns-idioms-test.readthedocs.io/en/latest/index.html) 99 | - [Python Notes for Professionals](https://goalkicker.com/PythonBook/) 100 | 101 | ### AI and Machine Learning 102 | 103 | - [Machine Learning from Scratch: Derivations in Concept and Code](https://dafriedman97.github.io/mlbook/content/introduction.html) 104 | - [Natural Language Processing with Python](http://www.nltk.org/book/) 105 | - [Neural Networks and Deep Learning](http://neuralnetworksanddeeplearning.com/) 106 | - [Probabilistic Programming & Bayesian Methods for Hackers](http://camdavidsonpilon.github.io/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/) 107 | 108 | ### Computer Science 109 | 110 | - [Annotated Algorithms in Python - With applications in Physics, Biology, and Finance](https://github.com/mdipierro/nlib) 111 | - [Data Structures and Information Retrieval in Python](https://allendowney.github.io/DSIRP) 112 | - [How to Think Like a Computer Scientist: Interactive Edition](https://interactivepython.org/courselib/static/thinkcspy/index.html) 113 | - [Problem Solving with Algorithms and Data Structures using Python](https://interactivepython.org/runestone/static/pythonds/index.html#problem-solving-with-algorithms-and-data-structures-using-python) 114 | - [Think Python: How to Think Like a Computer Scientist](https://greenteapress.com/wp/think-python-2e/) 115 | 116 | ### Software Engineering and best practices 117 | 118 | - [Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices](https://www.cosmicpython.com/) 119 | - [Clean Architectures in Python: A practical approach to better software design](https://leanpub.com/clean-architectures-in-python) 120 | - [Object Oriented Programming with Python: Learn essentials of OOP with Python 3](https://leanpub.com/PythonOOP) 121 | - [Python Packages](https://py-pkgs.org/) 122 | - [Software Design by Example: a tool-based introduction with Python](https://third-bit.com/sdxpy/) 123 | - [Test-Driven Development with Python](https://www.obeythetestinggoat.com/pages/book.html) 124 | - [The Hitchhiker’s Guide to Python!](https://docs.python-guide.org/) 125 | - [The Little Book of Python Anti-Patterns](https://docs.quantifiedcode.com/python-anti-patterns/) 126 | 127 | ### GUI 128 | 129 | - [Create Simple GUI Applications](https://leanpub.com/create-simple-gui-applications/read) 130 | 131 | ### Tools 132 | 133 | - [Automate the Boring Stuff with Python](https://automatetheboringstuff.com/) 134 | - [Practical Python Projects](https://practicalpython.yasoob.me/toc.html) 135 | 136 | ### Web development 137 | 138 | - [Create a Simple Flask Application with Cloud9, Heroku and MongoDB](https://leanpub.com/flask-cloud9-heroku-mongodb-ebook) 139 | - [Zero to production web apps](https://pgjones.gitlab.io/zero-to-production-book/introduction/) 140 | 141 | ### Data science 142 | 143 | - [Data Science in Production: Building Scalable Model Pipelines with Python](https://www.amazon.com/dp/B083H2YWP4) 144 | - [Effective Pandas](https://leanpub.com/effective-pandas) 145 | - [Python Data Science Handbook](https://jakevdp.github.io/PythonDataScienceHandbook/) 146 | - [Python for Everybody: Exploring Data In Python 3](https://py4e.com/book.php) 147 | 148 | ### Science 149 | 150 | - [Getting Started With Python In The Lab: An Introductory Python Tutorial For Life Scientists](https://leanpub.com/gettingstartedwithpythoninthelab) 151 | - [Python for Astronomers: An Introduction to Scientific Computing](https://prappleizer.github.io/) 152 | - [Python & OpenGL for Scientific Visualization](https://www.labri.fr/perso/nrougier/python-opengl/) 153 | - [Python for Scientists and Engineers](https://www.pythonforengineers.com/python-for-scientists-and-engineers/) 154 | - [Scientific Visualization: Python + Matplotlib](https://www.labri.fr/perso/nrougier/scientific-visualization.html) 155 | - [Think Complexity](https://greenteapress.com/complexity2/html/index.html) 156 | 157 | ### Jupyter Notebook 158 | 159 | - [Teaching and Learning with Jupyter](https://jupyter4edu.github.io/jupyter-edu-book/) 160 | 161 | ### Engineering 162 | 163 | - [PySDR: A Guide to SDR and DSP using Python](https://pysdr.org) 164 | - [Python for network engineers](https://pyneng.readthedocs.io/en/latest) 165 | - [Think DSP: Digital Signal Processing in Python](https://github.com/AllenDowney/ThinkDSP) 166 | 167 | ### Cryptography 168 | 169 | - [Cracking Codes with Python](https://inventwithpython.com/cracking/) 170 | 171 | ### Games 172 | 173 | - [Coding Games With Pygame Zero & Python](https://github.com/electronstudio/pygame-zero-book) 174 | - [Invent Your Own Computer Games with Python](https://inventwithpython.com/invent4thed/) 175 | - [Learn Python With Arcade Academy](https://arcade-book.readthedocs.io/en/latest/) 176 | - [Making Games with Python & Pygame](http://inventwithpython.com/pygame/) 177 | - [Program Arcade Games With Python And Pygame](http://programarcadegames.com/) 178 | 179 | ## Lists of free Python books 180 | 181 | - [101+ Free Python Books](https://blog.finxter.com/free-python-books/) 182 | - [Free Python books - pythonbooks](https://www.pythonbooks.org/free-books/) 183 | - [Legally Free Python Books List](https://www.pythonkitchen.com/legally-free-python-books-list/) 184 | 185 | ## License 186 | 187 | Each file in this repository is licensed under the [CC BY 4.0 License](/LICENSE). 188 | 189 | ## Sponsor this project 190 | 191 | Buy Me A Coffee 192 | 193 | If you find this resource useful and want to sponsor the project you can [buy me a coffee](https://www.buymeacoffee.com/amoroso). 194 | -------------------------------------------------------------------------------- /free-python-books-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pamoroso/free-python-books/57f04e81763139672311ee3cda2388a9da201611/free-python-books-logo.jpg --------------------------------------------------------------------------------