How I learned Python

During those last years, I've been able to contribute to the biggest open source project written in Python – namely OpenStack. During that time, I had the opportunity to learn a lot of things, by reaching the boundaries of Python and its ecosystem and by rubbing shoulders with some of the greatest Python developers – some of them being developer of the Python language itself.

After doing tons of code reviews and mentoring with my fellow engineers, I decided it was time to teach everyone what should be known about Python beyond the basics.

Sure, you can code in Python. But is it good Python? Is it the state of the art? Are you sure you picked the right library? Supporting the right Python version? Distributing it correctly? Testing it perfectly? How would you know. That's why I wrote The Hacker's Guide to Python. It's the book I always wanted to read after on Python, but never found. And that's also why people love it!

Knowledge momentum

Do you know everything about Python? Probably not. If you already took a course to learn the basics of the language, it is a long and tough path out there to become a master of the Zen of Python.

It takes years of practice, research, trial and errors to build experience and knowledge along the way. Simple questions such as "How do I make my code faster?" or "How do I test my code?" cost hours to find good answers. Without enough background on the topic, you'll never be sure that any answer you'll come up with will be correct.

Even when if you already wrote a few libraries and application, you are probably far from knowing everything about the language. Do you have any idea on how exceptions work internally? How methods are built and bound to objects? How to profile and optimize your Python code down to the bytecode?

Learning curve
Valid code

Proficiency & state of the art

In The Hacker's Guide to Python, I want to share everything I learned during my journey of coding Python every day for years. My goal is to make you proficient at Python, from writing tests to distributing your code correctly, while optimizing your code and understanding how Python works under the hood. You'll discover the state of art in Python coding and will be able to make your code shine.

The Hacker's Guide to Python features 8 interviews with great developers who wrote a lot of Python code – and sometimes, Python itself. Rather than spending this time yourself digging through everything you should know, you can save some to do some of your actual work and learn directly from the experts.


What you will learn
reading that book

Best practice

Methods & advice you should follow when writing your code and designing applications. These will help you get the most out of Python, and build future-proof programs. If you're already working on something, you'll be able to apply the techniques discussed right away to improve your current code.

Deep down diving

You will get introduced to some of the Python internals to get a better understanding of how to write efficient code. You will gain a greater insight into the inner workings of the language. You will be unbeatable about how Python works deep down.

Solve problems

Battle-tested solutions to tackle problems such as testing, porting, or scaling Python code, applications and libraries. You will avoid making the mistakes that others have made, saving you time. You'll discover strategies that will help you maintain your software in the long run.

Learn from the experts
with featured interviews

About the author

Hi, I'm Julien Danjou, a Free Software hacker for more than 16 years now. I wear a lot of different hats in the open source ecosystem, and maybe you already encountered me or used one of my software: I am a Debian developer for 14 years, a Freedesktop contributor, a GNU Emacs committer, and the awesome window manager creator.

These last 10 years, I've been developing software using Python. Five years ago, I started to work on OpenStack, a cloud platform written in Python and the largest existing open source Python code base (2.5 millions of lines of Python) – where I was both Project Team Leader and Technical Committee Member.

“Great book. Usually, Python books just explain the basic of the language. This book goes way further and explains what are the good guidelines in current and state of the art projects. Of course, this is not for Python beginners but every intermediate or experienced Python developers are going to learn something.”

Sylvestre Ledru Firefox release manager at Mozilla

Get a free chapter
(+ table of contents)

“I bought this book some months ago and already recommended it to some friends. The book shares the experience of some long-time Python developers and introduce modern programming advice. Useful for anyone who already knows Python and is interested in large Python project like OpenStack.”

Gonéri Le Bouder Senior Software Engineer at Red Hat

Pick your perfect package
and get it right away


290 pages book in PDF, HTML, EPUB and MOBI format

Future updates and editions of the book.


290 pages book in PDF, HTML, EPUB and MOBI format

Future updates and editions of the book.

The code source of the application used to distribute the sample of this book by mail as an illustration.

Old school

290 pages book in PDF, HTML, EPUB and MOBI format

Future updates and editions of the book.

283 pages book in paperback format delivered to your door in a few days


290 pages book in PDF, HTML, EPUB and MOBI format

Future updates and editions of the book.

The code source of the application used to distribute the sample of this book by mail as an illustration.

One hour of consulting time where I will review your project and give you some advice.

License to share the book with up to 50 members of your team.

Not happy?

If you're no happy, I don't want your money. Ask me for a refund.

Is there any DRM?

No way! Read where you want, when you want, everywhere.

I bought the paper edition, how do I get the electronic version?
Lulu does not send the electronic version automatically. Forward me your Lulu receipt and I'll send you the electronic package.
Any other question?

Contact me and I'll get back to you soon.