My readers have been asking me to write a book for a few years now and I’ve finally decided to bite the bullet and give it a go. For my first book, I decided to write something that’s for beginners and intermediate programmers. There will be four parts to the book with the first part being aimed squarely at the beginner programmer. The next 3 parts will follow a more cookbook-like style in that they will contain a lot of tutorials. I’ll be folding some of the articles from my blog into the book and updating them if appropriate, but there will be plenty of new content.

To get things going, I am running a Kickstarter campaign. to raise some funds to help in the development of the book. If you’ve ever found this blog useful, please consider supporting the funding of my book.

I copied most of the text from the Kickstarter campaign here for your convenience:

Part One

The first part is the beginner section. In it you will learn all the basics of Python. From Python types (strings, lists, dictionaries) to conditional statements to loops. You will also learn about comprehensions, functions and classes and everything in between! Note: This section has been completed and is in the editing phase.

Part Two

This section will be a curated tour of the Python Standard Library. The intent isn’t to cover everything in it, but instead it is to show the reader that you can do a lot with Python right out of the box. We’ll be covering the modules I find the most useful in day-to-day programming tasks, such as os, sys, logging, threads, and more.

Part Three

Now things get really interesting! In part three, we will be learning how to install 3rd party libraries (i.e. packages) from the Python Package Index and other locations. We will cover easy_install and pip. This section will also be a series of tutorials where you will learn how to use the packages you download. For example, you will learn how to download a file, parse XML, use an Object Relational Mapper to work with a database, etc.

Part Four

The last section of the book will cover how to share your code with your friends and the world! You will learn how to package it up and share it on the Python Package Index (i.e. how to create an egg or wheel). You will also learn how to create executables using py2exe, bb_freeze, cx_freeze and PyInstaller. Finally you will learn how to create an installer using Inno Setup.

Writing Style

This book will be written using my original blogging style. This means that the chapters will be shorter than your usual programming textbook. Most chapters will most likely be less than 10 pages! The idea here is to get the reader up to speed on the subject, not to beat them over the head with it.

Who should read this book?

This book is for beginners, but I believe people with intermediate skills will also find its contents valuable.

What’s the money for?

I need to buy an ISBN for every version of the book, so if I have different eBook formats, the money starts to add up. I have a volunteer editor that I would like to pay. I’m also planning to hire an illustrator to add some artwork to the pages of the book. I’m looking forward to working with my backers to make the best Python book possible!