Here is my personal list of legally free Python books. Warning: Packt free books are highly unreliable, what can be free today can no longer be free tomorrow They were included as they are free at the time of writing this post. Similarly is Oreilly’s case. The two publishing houses have been annotated as necessary. In case of no longer free or broken links please mail me at `arj.python at gmail dot com` to update article. I have to thank the internet who took the pain to point these resources to me. I have skimmed through the contents to producs a list of legally free Python books of value. Here’s how i evaluated books (you might not agree, but that’s my personal take on it):
Some popular listed books like Python Module of the Week is not a book and Tango with Django 1.7 is outdated. Materials which provide only some free chapters are not free books. Docs manuals are docs manuals, you’d have to include a quarter of pypi’s packages manuals then. github projects are gihub projects unless it’s a book. Mark pilgrim ran away so should we from his book. We don’t want some illegal 100+ free list (Mark Lutz books are not free mind you), you could include all Python books hosted on drive then. Python2 is past, we passed over. Fullstackpython’s list is a collection of various sites’ articles, not a book. Really short books more qualified as leaflets did not make it. Such materials have been deliberately left out. What remains are books that you’ll enjoy!Note: was pythonmembers.club before, so if you have the domain’s link, please update
Let’s start! Click on the titles to view/download the book.
This book is prepared from the training notes of Anand Chitipothu.
Highly recommended book. Normally taught in 3/4 days. It offers solid foundations. This course is taught to scientists and engineers. The name of the author is a trademark of excellence. Do read it even if you already know Python!
Fabrizio Romano – Packt
Learn Python Programming is a quick, thorough, and practical introduction to Python – an extremely flexible and powerful programming language that can be applied to many disciplines. You will begin by learning the fundamentals of Python so that you have a rock-solid foundation to build upon. Covers some data science, GUI and web (Django).
Charles R. Severance
The goal of this book is to provide an Informatics-oriented introduction to programming. The primary approach taken in this book is using Python to solve data analysis problems common in the world of Informatics.
Dr. Kristian Rother
The perfect introduction for completely new people
The Non-Programmers’ Tutorial For Python 3 is a tutorial designed to be an introduction to the Python programming language. This guide is for someone with no programming experience.
“The Coder’s Apprentice” aims at teaching Python 3 to students and teenagers who are completely new to programming. Contrary to many of the other books that teach Python programming, this book assumes no previous knowledge of programming on the part of the students, and contains numerous exercises that allow students to train their programming skills.
The book aims at striking the balance between a tutorial and reference book. Includes some fun exercises at the end!
Swaroop C H
“A Byte of Python” is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you.
Muhammad Yasoob Ullah Khalid
Python is an amazing language with a strong and friendly community of programmers. However, there is a lack of documentation on what to learn after getting the basics of Python down your throat. Through this book I aim to solve this problem. I would give you bits of information about some interesting topics which you can further explore. The topics which are discussed in this book open up your mind towards some nice corners of Python language. This book is an outcome of my desire to have something like this when I was beginning to learn Python. If you are a beginner, intermediate or even an advanced programmer there is something for you in this book. Please note that this book is not a tutorial and does not teach you Python. The topics are not explained in depth, instead only the minimum required information is given. A true example of legally free Python books.
This book tries to achieve only one thing: Show you a project go from nothing to OK. By nothing I mean, no code at all. Not even a fleshed idea of what it does. No goals, no commitments. Just a vague interest. And by OK I mean it will work, it will have tests, it will be available to use, it will be useful and be a real thing. Think of it as a sort of documentary on the beginnings of a rock band, only instead of rockers there is a single overweight Argentinian dev, and instead of a band there is a piece of software. So, not much like a documentary on the beginnings of a rock band.
Learn Python, Break Python is a hands-on introduction to the Python programming language, written for people who have no experience with programming whatsoever. Hey, we all have to start somewhere. As such, the examples and teaching style used in this text make absolutely no expectations about your prior programming experience. Anyone can pick up the art of programming with a little time and a bit of patience. However, when learning something new, I try to break things. In fact, in many cases, I go out of my way to break stuff. When picking up a new concept like computer programming, you can actually increase your comfort level by figuring out the type of cases that are likely to break. You’ll see what data can be used and where, and when you inevitably run into errors later (like everyone does), you won’t be surprised.
John B. Schneider, Shira Lynn Broschat, Jess Dahmen
(Not an algo book) Python’s syntax and idioms are much easier to learn than those of most other full-featured languages. This book uses programming language Python to introduce folks to programming and algorithmic thinking.
This opinionated guide exists to provide both novice and expert Python developers a best-practice handbook to the installation, configuration, and usage of Python on a daily basis.
Slither into Python is an introduction to Python for complete beginners. No prior programming experience or computer science background is necessary. Unlike any other Python resources I have found (not that they’re not out there), they don’t explain important computer science concepts such as memory or “how computers work”. In this book I will cover the fundamentals of the Python language and also introduce these important concepts. Put simply, coding or computer programming is about making computers do what you want, Computer Science is about how computers do it. Each go hand-in-hand, help you learn faster and improve your overall understanding of a language! This book aims to do exactly that through Python.
Jake VanderPlas – Oreilly
The book provides a whirlwind tour of some of Python’s essential syntax and semantics, built-in data types and structures, function definitions, control flow statements, and other aspects of the language. My aim is that readers will walk away with a solid foundation from which to explore the data science stack just outlined.
Kushal Das (Core Dev)
A book for the total new comers into Python world. Was started as book for students before they read Python tutorial. Given it’s from a core dev, even up to chapter choice order is insightful.
Imad Pasha, Christopher Agostino
This text is designed to be an introduction to the Python programming language — which is now used nearly ubiquitously in astronomy — with applications to the types of tasks an undergraduate (or beginning graduate student) might have to tackle. It is not, in any way, meant to be comprehensive; my focus is on bringing you up to speed as efficiently and quickly as possible. This text might have useful information for those with a working knowledge of Python outside of a research setting, but is primarily designed for those with no prior programming experience. By the end of this text, I hope to have shared enough to make you feel comfortable taking the first steps into research-type problems (of which this book will contain several examples), whether in an astronomy course, a research internship, or on-campus research.
The python ecosystem is awash with books for beginners but few books target readers that are past the beginning stages but are not yet advanced users. The book aims to bridge that gap. The content of this book looks primarily at the various means for code organization in Python and provides user with a rigorous grounding in these. it dives into topics such as python object system, functions, decorators, metaprogramming and generators providing the reader with an in-depth knowledge of these topics that is essential for writing idiomatic and robust python code. It aims to provide a reader with not only a how-to but also a why for Python concepts. Concepts are well explained with abundance of code snippets. If you are looking for a book to take you beyond the beginner level in python, this is definitely the right book for you.
This document is a self-learning document for a course in Python programming. This course contains (1) a part for beginners, (2) a discussion of several advanced topics that are of interest to Python programmers, and (3) a Python workbook with lots of exercises. This book is a collection of materials that I’ve used when conducting Python training and also materials from my Web site that are intended for self-instruction.
If you use the book in the order it is laid out, you’ll begin your exploration in Python by understanding the key differences between Python 3 and the previous versions of the language. From there, you’ll set up a programming environment for your relevant local or server-based system, and begin by learning general Python code structure, syntax, and data types. Along the way, you’ll gain a solid grounding in computational logic within Python, a set of skills relevant even when moving to other programming languages in the future. While the beginning of the book focuses on scripting in Python, object-oriented coding concepts are gradually introduced to help make your code more modular, flexible, and complex without repetition. By the end of the book, you’ll learn how to debug your Python code and finally how to port Python code across versions.
It shines with creating a parser with Plex
An entire book, dedicated to RegEx
Al Sweigart – No Starch Press
If you’ve ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you? In Automate the Boring Stuff with Python, you’ll learn how to use Python to write programs that do in minutes what would take you hours to do by hand-no prior programming experience required. Once you’ve mastered the basics of programming, you’ll create Python programs that effortlessly perform useful and impressive feats of automation.Don’t spend your time doing work a well-trained monkey could do. Even if you’ve never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python. A true example of legally free Python books.
Video processing DSP, machine learning and Rpi, this book is the next book Python beginners should maybe jump to to consolidate their knowledge.
Python for Fun turns 16 this year. From the first project “Lisp in Python” to the current latest “Binary Trees and Functional Programming”, the site is and remains a collection of fairly small projects created mostly for fun. They are aimed at the intermediate programmer; people who know Python and are fairly comfortable with OOP and perhaps a bit of basic recursion. Most programs are quite short, generally a few pages of code and all of the projects are accompanied with a write-up.
Even the best programmers make mistakes, and experienced programmer Mike Pirnat has made his share during 15+ years with Python. Some have been simple and silly; others were embarrassing and downright costly. In this O’Reilly report, he dissects some of his most memorable blunders, peeling them back layer-by-layer to reveal just what went wrong.
Introductory book to good software engineering practices like separation of concerns, high performance and loose coupling. A must for every beginner!
fasten your seat-belts as this book will take you on a tour of the virtual machine that runs your Python code. It will describe how Python code is compiled and run, how the language itself can be modified and will demystify the mysterious bytecodes that run on the Python virtual machine.
Leonardo Giordani – LeanPub. Also available on pycabook.com
What is a good software architecture? Why should we bother structuring the code and spending time testing it? If you like spending hours debugging your programs or staying late at the office to recover from a buggy deploy in production this book is definitely NOT for you!
Welcome, fellow Pythoneer! This is a small book of Python anti-patterns and worst practices. Learning about these anti-patterns will help you to avoid them in your own code and make you a better programmer (hopefully). Each pattern comes with a small description, examples and possible solutions. A true example of legally free python books.
Python 3 concepts, patterns and idioms. Addressed to the experienced Python programmer (not beginner)
Alexander Shvets, Andrei Boyanov
Design patterns in Python divided in chapters with example, free on the link. Is an Apress book. Super cool book!
A classic and respected book on DP in the Python community.
Harry Percival, Bob Gregory
Our aim with this book is to introduce several classic architectural patterns and show how they support TDD, DDD, and event-driven services. We hope it will serve as a reference for implementing them in a Pythonic way, and that people can use it as a first step toward further research in this field. Here are a few things we assume about you, dear reader: You’ve been close to some reasonably complex Python applications. You’ve seen some of the pain that comes with trying to manage that complexity. You don’t necessarily know anything about DDD or any of the classic application architecture patterns. We structure our explorations of architectural patterns around an example app, building it up chapter by chapter. We use TDD at work, so we tend to show listings of tests first, followed by implementation. If you’re not used to working test-first, it may feel a little strange at the beginning, but we hope you’ll soon get used to seeing code “being used” (i.e., from the outside) before you see how it’s built on the inside. We use some specific Python frameworks and technologies, including Flask, SQLAlchemy, and pytest, as well as Docker and Redis. If you’re already familiar with them, that won’t hurt, but we don’t think it’s required. One of our main aims with this book is to build an architecture for which specific technology choices become minor implementation details.
Steve F. Lot
How do you move from OO programming to OO design? This 301-page book has 49 chapters that will help you build OO design skills through the creation of a moderately complex family of application programs.
Ashwin Pajankar, Sushant Garg – LeanPub
This book is the simple and definitive guide to the Python 3 Object Oriented Programming. Other book of the similar genres make use of complicated writing style and examples to introduce the readers to the OOP in Python 3. However, this book uses Simple language to explain concepts. It is aimed at intermediate learners who already know Python.
Python is not a functional programming language, but it is a multi-paradigm language that makes functional programming easy to perform, and easy to mix with other programming styles. In this paper, David Mertz, a director of Python Software Foundation, examines the functional aspects of the language and points out which options work well and which ones you should generally decline.
This is an example-driven, hands on tutorial that carefully teaches programmers how to accomplish numerous text processing tasks using Python.
Al Sweigart – No Starch Press
Cracking Codes with Python teaches complete beginners how to program in the Python programming language. The book features the source code to several ciphers and hacking programs for these ciphers. The programs include the Caesar cipher, transposition cipher, simple substitution cipher, multiplicative & affine ciphers, Vigenere cipher, and hacking programs for each of these ciphers. The final chapters cover the modern RSA cipher and public key cryptography.
This book is a collection of the best practices for using Flask. There are a lot of pieces to the average Flask application. You’ll often need to interact with a database and authenticate users, for example. In the coming pages I’ll do my best to explain the “right way” to do this sort of stuff. My recommendations aren’t always going to apply, but I’m hoping that they’ll be a good option most of the time. It might be the Flask book you need! A true example of legally free Python books.
A simple, step by step straight-forward introduction to Django designed to be hands-on and so breaks it down for your to really understand. Tested with Python 3.8, Django 3.0, still works. An amazing first material for beginners. It even assumes you don’t know Python at all!
This tutorial picks up where the previous tutorial left. It includes draft, delete and commenting systems. A graceful roundup.
Gaston C. Hillar – Packt
Django is a Python web framework that makes the web development process very easy. It reduces the amount of trivial code that simplifies the creation of web applications and results in faster development. It is a very powerful and a great choice for creating RESTful web services. Includes API auth, pagination and test automation.
Massimo Di Pierro
I believe that the ability to easily build high quality web applications is of critical importance for the growth of a free and open society. This prevents the biggest players from monopolizing the flow of information. As you will learn in the following pages,
web2py tries to lower the barrier of entry to web development by focusing on three main goals: ease of use, rapid development and security.
Introduction to web development with Flask. A Flask classic!
Web App with Redis And Streaming
Same as Think Data Structures
One of the biggest hurdles to learning a new framework, language or tool is the prerequisite setup and configuration that needs to take place. This can be a frustrating and discouraging experience. Also, the cost associated with doing often makes experimentation prohibitive or at least restricted. That is why in this short book, I have chosen tools and services that require little or no setup, and are all free. In fact, none of them require any installation because they all run in the browser. Throughout the enitire book, you’ll never have to leave the web browser.
Al Sweigart – No Starch Press
Invent Your Own Computer Games with Python teaches you how to program in the Python language. Each chapter gives you the complete source code for a new game, and then teaches the programming concepts from the examples. Games include Guess the Number, Hangman, Tic Tac Toe, and Reversi. This book also has an introduction to making games with 2D graphics using the Pygame framework. A true example of legally free Python books.
Al Sweigart – No Starch Press
Making Games with Python & Pygame covers the Pygame library with the source code for 11 games. Making Games was written as a sequel for the same age range as Invent with Python. Once you have an understanding of the basics of Python programming, you can now expand your abilities using the Pygame library to make games with graphics, animation, and sound.
Sean M. Tracey – The mag Pi
Python basics, sounds, physics and alien game, A simple mix.
Paul Vincent Craven
A cheerful guide to Python. Gleeful content. Demos of what students created make you feel part of a cool class.
Your PyGame introductory book. Perfect for PyGame workshops!
DATA STRUCTURES AND ALGORITHMS
Brad Miller and David Ranum
Probably the best data and algo book out there. It goes in depth about data structures and algorithms. It covers basic Python which makes it a suitable introductory material for undergrad university students. Beginning from stacks, the coverage goes in details and solves common problems such as the Hanoi tower. You’ve got it all, searching, sorting, trees, graphs … They deserve massive respect for releasing it under a creative common license.
Complexity Science is an interdisciplinary
field—at the intersection of mathematics, computer science, and natural science—that focuses on discrete models of physical and
social systems. In particular, it focuses on complex systems, which are systems with many interacting components. Complex systems include networks and graphs, cellular automatons, agent-based models and swarms, fractals and self-organizing systems, chaotic systems and cybernetic systems. This book is primarily about complexity science, but studying complexity science gives you a chance to explore topics and ideas you might not encounter otherwise, practice programming in Python, and learn about data structures and algorithms. This book picks up where Think Python leaves off.
Data structures and algorithms are among the most important inventions of the last 50 years, and they are fundamental tools software engineers need to know. But in my opinion, most of the books on these topics are too theoretical, too big, and too bottom-up. I try to alleviate the boredom by organizing the topics around an application—web search—that uses data structures extensively, and is an interesting and important topic in its own right.This application also motivates some topics that are not usually covered in an introductory data structures class, including persistent data structures, with Redis, and streaming algorithms.
Annotated Algorithms (including numerical) in Python With Applications in Physics, Biology And Finance
Massimo Di Pierro
This book is assembled from lectures given by the author over a period of 10 years at the School of Computing of DePaul University. The lectures cover multiple classes, including Analysis and Design of Algorithms, Scientific Computing, Monte Carlo Simulations, and Parallel Algorithms.
Jan Erik Solem – O’Reilly
Cameras are everywhere. Computer vision powers applications like image search, robot navigation, medical image analysis, photo management and many more. This books provides easy hands-on computer vision with enough understanding of the underlying theory and algorithms to be a foundation for students, researchers and enthusiasts. Python comes with many freely available powerful modules for handling images, mathematical computing and data mining. In short this book aims to act as a source of inspiration for those interested in programming computer vision applications
This series is about how to make effective use of pandas, a data analysis library for the Python programming language. It’s targeted at an intermediate level: people who have some experince with pandas, but are looking to improve.
Think Stats is an introduction to Probability and Statistics for Python programmers. Think Stats emphasizes simple techniques you can use to explore real data sets and answer interesting questions. The book presents a case study using data from the National Institutes of Health. Readers are encouraged to work on a project with real datasets.
The Bayesian method is the natural approach to inference, yet it is hidden from readers behind chapters of slow, mathematical analysis. The typical text on Bayesian inference involves two to three chapters on probability theory, then enters what Bayesian inference is. Unfortunately, due to mathematical intractability of most Bayesian models, the reader is only shown simple, artificial examples. This can leave the user with a so-what feeling about Bayesian inference. Bayesian Methods for Hackers is designed as a introduction to Bayesian inference from a computational/understanding-first, and mathematics-second, point of view. For the mathematically trained, they may cure the curiosity this text generates with other texts designed with mathematical analysis in mind. For the enthusiast with less mathematical-background, or one who is not interested in the mathematics but simply the practice of Bayesian methods, this text should be sufficient and entertaining. A true example of legally free python books.
Think Bayes is an introduction to Bayesian statistics using computational methods. Most books on Bayesian statistics use mathematical notation and present ideas in terms of mathematical concepts like calculus. This book uses Python code instead of math, and discrete approximations instead of continuous mathematics. As a result, what would be an integral in a math book becomes a summation, and most operations on probability distributions are simple loops. I think this presentation is easier to understand, at least for people with programming skills. It is also more general, because when we make modeling decisions, we can choose the most appropriate model without worrying too much about whether the model lends itself to conventional analysis. Also, it provides a smooth development path from simple examples to real-world problems.
Think DSP is an introduction to Digital Signal Processing in Python. The premise of this book (and the other books in the Think X series) is that if you know how to program, you can use that skill to learn other things. I am writing this book because I think the conventional approach to digital signal processing is backward: most books (and the classes that use them) present the material bottom-up, starting with mathematical abstractions like phasors. With a programming-based approach, I can go top-down, which means I can present the most important ideas right away. By the end of the first chapter, you can decompose a sound into its harmonics, modify the harmonics, and generate new sounds.
Highly recommended book that takes your hand and explains the maths side of data with lots of illustrations.
This is a book about doing data science with Python. The book is not meant to be an introduction to Python or to programming in general; I assume the reader has familiarity with the Python language, including defining functions, assigning variables, calling methods of objects, controlling the flow of a program, and other basic tasks. Instead it is meant to help Python users learn to use Python’s data science stack–libraries such as IPython, NumPy, Pandas, Matplotlib, Scikit-Learn, and related tools–to effectively store, manipulate, and gain insight from data. A true example of legally free Python books.
Python and OpenGL have a long but complicated story. It used to be really easy to program something using the fixed-pipeline and libraries such as Pyglet. But, things have became more difficult with the introduction of the dynamic graphic pipeline in 2004. Therefore this book is reconciles Python programmers with OpenGL, providing both an introduction to modern OpenGL and a set of basic and advanced techniques in order to achieve both fast, scalable & beautiful scientific visualizations. The book uses the GLES 2.0 API. Though it does not cover up-to-date OpenGL techniques, it is sufficient to achieve great visualisation. Modern OpenGL allows to control much in the pipeline and this book explains several techniques such as isolines, markers, colormaps, arbitrary transformations but there are actually many more techniques to be discovered. And of course, everything will be fast and beautiful. A true example of legally free python books.
Zachary Radtka, Donald Miner – Oreilly
About hadoop with Python. Map reduce and PySpark included
MACHINE LEARNING & DEEP LEARNING
Yuxi (Hayden) Liu – Packt
This book is your entry point to machine learning. Through this book, you will learn to apply the concepts of machine learning to deal with data-related problems and solve them using the powerful yet simple language, Python. Interesting and easy-to-follow examples will keep you glued till you learn what machine learning is and how to implement it. Includes spam detection and stock price prediction.
The book will teach you about: Neural networks, a beautiful biologically-inspired programming paradigm which enables a computer to learn from observational data, Deep learning: a powerful set of techniques for learning in neural networks Neural networks and deep learning currently provide the best solutions to many problems in image recognition, speech recognition, and natural language processing. This book will teach you many of the core concepts behind neural networks and deep learning.
This book was written for anyone who wishes to explore deep learning from scratch or broaden their understanding of deep learning. Whether you’re a practicing machine-learning engineer, a software developer, or a college student, you’ll find value in these pages. This book offers a practical, hands-on exploration of deep learning. It avoids mathematical notation, preferring instead to explain quantitative concepts via code snippets and to build practical intuition about the core ideas of machine learning and deep learning.
NATURAL LANGUAGE PROCESSING
Rajesh Arumugam and Rajalingappaa Shanmugamani – Packt
This book teaches you to leverage deep learning models in performing various NLP tasks along with showcasing the best practices in dealing with the NLP challenges. The book equips you with practical knowledge to implement deep learning in your linguistic applications using NLTk and Python’s popular deep learning library, TensorFlow. Includes GRUs, Tacotron and Deepspeech
Steven Bird, Ewan Klein, Edward Loper
This is a book about Natural Language Processing. By “natural language” we mean a language that is used for everyday communication by humans; languages like English, Hindi or Portuguese. In contrast to artificial languages such as programming languages and mathematical notations, natural languages have evolved as they pass from generation to generation, and are hard to pin down with explicit rules. We will take Natural Language Processing — or NLP for short — in a wide sense to cover any kind of computer manipulation of natural language. At one extreme, it could be as simple as counting word frequencies to compare different writing styles. At the other extreme, NLP involves “understanding” complete human utterances, at least to the extent of being able to give useful responses to them. A true example of legally free python books.
PORTING TO PYTHON3
This book guides you through the process of porting your Python 2 code to Python 3, from choosing a porting strategy to solving your distribution issues. Using plenty of code examples is takes you cross the hurdles and shows you the new Python features.
Sat Kumar Tomer
This book teaches you how to compute rainfall, precipitation, evaporation, River Routing–Muskingum method and a host of things in Hydrology. Moreover it also has a chapter devoted to statistics and plotting.
Jeff Chang, Brad Chapman, Iddo Friedberg, Thomas Hamelryck, Michiel de Hoon, Peter Cock, Tiago Antao, Eric Talevich, Bartek Wilczy´nski
A BioPython tutorial and cookbook which teaches computational molecular biology using free Python tools. A true example of legally free python books.
Modeling and Simulation in Python is an introduction to physical modeling using a computational approach. It is organized in three parts: The first part presents discrete models, including a bikeshare system and world population growth. The second part introduces first-order systems, including models of infectious disease, thermal systems, and pharmacokinetics. The third part is about second-order systems, including mechanical systems like projectiles, celestial mechanics, and rotating rigid bodies. Taking a computational approach makes it possible to work with more realistic models than what you typically see in a first-year physics class, with the option to include features like friction and drag. A true example of legally free python books.
Tom D. De Smedt
A blend of generative art, machine learning, NLP, algorithms and sentiment analysis. A true example of legally free python books.
Science has traditionally been divided into experimental and theoretical disciplines, but during the last several decades computing has emerged as a very important part of science. Scientific computing is often closely related to theory, but it also has many characteristics in common with experimental work. It is therefore often viewed as a new third branch of science. In most fields of science, computational work is an important complement to both experiments and theory, and nowadays a vast majority of both experimental and theoretical papers involve some numerical calculations, simulations or computer modeling.