Full Stack Python

# Best Python Resources

The Python community is amazing at sharing detailed resources and helping beginners learn to program with the language. There are so many resources out there though that it can be difficult to know how to find them.

This page aggregates the best Python resources with a brief description of how it fits one's learning purpose.

Looking for information on Python development environments? There's a whole other page for editors and IDEs.

## New to programming

If you're learning your first programming language these books were written with you in mind. Developers learning Python as a second or later language should skip down to the next section for "experienced developers".

- If you've never programmed before check out the Getting Started page on Learn To Code with Me by Laurence Bradford. She's done an incredible job of breaking down the steps beginners should take when they're uncertain about where to begin.

- To get an introduction to both Python and Django at the same time, purchase Real Python by Fletcher, Michael, and Jeremy.

- Learn Python the Hard Way is a free book by Zed Shaw.

- Dive into Python 3 is an open source book provided under the Creative Commons license and available in HTML or PDF form.

- Python for You and Me (pym) is an online book for people completely unfamiliar with the Python programming language.

- A Byte of Python is a beginner's tutorial for the Python language.

- Code Academy has a Python track for people completely new to programming.

- Introduction to Programming with Python goes over the basic syntax and control structures in Python. The free book has numerous code examples to go along with each topic.

- The O'Reilly book Think Python: How to Think Like a Computer Scientist is available in HTML form for free on the web.

- Python Practice Book is a book of Python exercises to help you learn the basic language syntax.

- Looking for ideas about what projects to use to learn to code? Check out this list of 5 programming project for Python beginners.

- I wrote a quick blog post on learning Python that non-technical folks trying to learn to program may find useful.

## Experienced developers new to Python

- Learn Python in y minutes provides a whirlwind tour of the Python language. The guide is especially useful if you're coming in with previous software development experience and want to quickly grasp how the language is structured.

- Python for you and me is an approachable book with sections for Python syntax and the major language constructs. The book also contains a short guide at the end to get programmers to write their first Flask web application.

- Kenneth Reitz's The Hitchhiker’s Guide to Python contains a wealth of information both on the Python programming language and the community.

- How to Develop Quality Python Code is a good read to begin learning about development environments, application dependencies and project structure.

- Google's Python Class contains lecture videos and exercises for learning Python.

- Check out the Real Python! Blog for a great set of relevant posts about Python web development topics.

## Beyond the basics

- The Python Ecosystem: An Introduction provides context for virtual machines, Python packaging, pip, virutalenv and many other topics after learning the basic Python syntax.

- The Python Subreddit rolls up great Python links and has an active community ready to answer questions from beginners and advanced Python developers alike.

- Good to Great Python Reads is a collection of intermediate and advanced Python articles around the web focused on nuances and details of the Python language itself.

- The blog Free Python Tips provides posts on Python topics as well as news for the Python ecosystem.

- Python Books is a collection of freely available books on Python, Django, and data analysis.

## Videos, screencasts and presentations

- Kate Heddleston gave a talk at PyCon 2014 called "Full-stack Python Web Applications" with clear visuals for how numerous layers of the Python web stack fit together. There are also slides available from the talk with all the diagrams.

- My EuroPython 2014 "Full Stack Python" talk goes over each topic from this guide and provides context for how the pieces fit together. The talk slides are also available.

- Neckbeard Republic provides free screencasts for learning intermediate topics. I typically prefer to learn by reading. However, these videos are helpful in seeing the code on the screen instead of just looking at static code snippets.

- PyVideo organizes and indexes thousands of Python videos from both major conferences and meetups.

## Curated Python packages lists

- awesome-python is an incredible list of Python frameworks, libraries and software. I wish I had this page when I was just getting started.

- easy-python is like awesome-python although instead of just a Git repository this site is in the Read the Docs format.

## Newsletters

- Python Weekly is a free weekly roundup of the latest Python articles, videos, projects, and upcoming events.

- PyCoder's Weekly is another great free weekly email newsletter similar to Python Weekly. The best resources are generally covered in both newsletters but they often cover different articles and projects from around the web.

- Import Python is a newer newsletter thank Python Weekly and PyCoder's Weekly. So far I've found this newsletter covers different sources from other newsletters. It's well worth subscribing to all three so you don't miss anything.

### Those resources should help get you started. What's next?

I'm ready to learn how to code an application with a web framework.

I already built a web application. I need to know how to deploy it.

Let me start over from the Full Stack Python introduction.

What should I use to code my Python application?

#### Interested in major updates to this site or an alert when a complete Full Stack Python book with detailed example code is released? Sign up here and you'll an occasional email only when there's big news to report.