Python books free to read online or download

Overview

Free Python Books project logo

Free Python Books

A list of Python books in English that are free to read online or download.

Table of Contents

How the list got started

I had been learning Python for a few weeks when, in January, 2019, I stumbled upon a Reddit post in r/learnpython seeking suggestions on how to become a better programmer.

One of the comments 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, so I shared the link in a comment.

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.

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.

It's the list you're reading now.

What's in the list

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.

What's a free Python book?

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.

But in the end I recognize a free Python book when I see one.

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.

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.

Why free books?

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.

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.

Acknowledgments

Thanks to the redditors who contributed book suggestions and links in my original post: AlSweigart, ASIC_SP, Bisalsn, bitcoin-dude, code_x_7777m isakar-elahim, lask757, mfitzp, pvc, warbird2k.

How to contribute

If you have books to suggest you can do a pull request or create an issue. Creating an issue is also a good way of providing other feedback.

Thanks!

List of free Python books

Introductory

Intermediate

Advanced

AI and Machine Learning

Computer Science

Software Engineering and best practices

GUI

Tools

Web development

Data science

Science

Jupyter Notebook

Engineering

Cryptography

Games

Lists of free Python books

License

Each file in this repository is licensed under the CC BY 4.0 License.

Sponsor this project

Buy Me A Coffee

If you find this resource useful and want to sponsor the project you can buy me a coffee.

Owner
Paolo Amoroso
Astronomy, space, Google, Python
Paolo Amoroso
A platform used with frabit-server and frabit

A platform used with frabit-server and frabit

FrabitTech 1 Mar 03, 2022
Helpers to extend Django Admin with data from external service with minimal hacks

django-admin-data-from-external-service Helpers to extend Django Admin with data from external service with minimal hacks Live demo with sources on He

Evgeniy Tatarkin 7 Apr 27, 2022
Django application and library for importing and exporting data with admin integration.

django-import-export django-import-export is a Django application and library for importing and exporting data with included admin integration. Featur

2.6k Jan 07, 2023
An improved django-admin-tools dashboard for Django projects

django-fluent-dashboard The fluent_dashboard module offers a custom admin dashboard, built on top of django-admin-tools (docs). The django-admin-tools

django-fluent 326 Nov 09, 2022
A Django admin theme using Twitter Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed apps.

django-admin-bootstrapped A Django admin theme using Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed ap

1.6k Dec 28, 2022
Extends the Django Admin to include a extensible dashboard and navigation menu

django-admin-tools django-admin-tools is a collection of extensions/tools for the default django administration interface, it includes: a full feature

Django Admin Tools 731 Dec 28, 2022
Modern responsive template for the Django admin interface with improved functionality. We are proud to announce completely new Jet. Please check out Live Demo

Django JET Modern template for Django admin interface with improved functionality Attention! NEW JET We are proud to announce completely new Jet. Plea

Geex Arts 3.4k Dec 29, 2022
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.2k Dec 29, 2022
Sandwich Batch Normalization

Sandwich Batch Normalization Code for Sandwich Batch Normalization. Introduction We present Sandwich Batch Normalization (SaBN), an extremely easy imp

VITA 48 Dec 15, 2022
django's default admin interface made customizable. popup windows replaced by modals. :mage: :zap:

django-admin-interface django-admin-interface is a modern responsive flat admin interface customizable by the admin itself. Features Beautiful default

Fabio Caccamo 1.3k Dec 31, 2022
EOD (Easy and Efficient Object Detection) is a general object detection model production framework.

EOD (Easy and Efficient Object Detection) is a general object detection model production framework.

383 Jan 07, 2023
Video Visual Relation Detection (VidVRD) tracklets generation. also for ACM MM Visual Relation Understanding Grand Challenge

VidVRD-tracklets This repository contains codes for Video Visual Relation Detection (VidVRD) tracklets generation based on MEGA and deepSORT. These tr

25 Dec 21, 2022
Tornadmin is an admin site generation framework for Tornado web server.

Tornadmin is an admin site generation framework for Tornado web server.

Bharat Chauhan 0 Jan 10, 2022
A Django app that creates automatic web UIs for Python scripts.

Wooey is a simple web interface to run command line Python scripts. Think of it as an easy way to get your scripts up on the web for routine data anal

Wooey 1.9k Jan 01, 2023
Allow foreign key attributes in list_display with '__'

django-related-admin Allow foreign key attributes in Django admin change list list_display with '__' This is based on DjangoSnippet 2996 which was mad

Petr Dlouhý 62 Nov 18, 2022
Code to reproduce experiments in the paper "Task-Oriented Dialogue as Dataflow Synthesis" (TACL 2020).

Code to reproduce experiments in the paper "Task-Oriented Dialogue as Dataflow Synthesis" (TACL 2020).

Microsoft 274 Dec 28, 2022
Awesome Video Datasets

Awesome Video Datasets

Yunhua Zhang 462 Jan 02, 2023
Extendable, adaptable rewrite of django.contrib.admin

django-admin2 One of the most useful parts of django.contrib.admin is the ability to configure various views that touch and alter data. django-admin2

Jazzband 1.2k Dec 29, 2022
Freqtrade is a free and open source crypto trading bot written in Python

Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram. It contains backtesting, plotting and money man

20.2k Jan 02, 2023
Lazymux is a tool installer that is specially made for termux user which provides a lot of tool mainly used tools in termux and its easy to use

Lazymux is a tool installer that is specially made for termux user which provides a lot of tool mainly used tools in termux and its easy to use, Lazymux install any of the given tools provided by it

DedSecTL 1.8k Jan 09, 2023