Awesome
Contents
- Beginner's Delight
- Resources for Women
- Why Python?
- Style Guide and Idioms
- Dictionary
- Decorators
- Generators
- Coroutines
- Iterators
- Yield
- Context Managers
- Unicode
- Networking
- Metaclasses
- Documentation
- Debugging
- Testing
- Environments and Environment Management
- Profiling
- Packaging
- Deployment
- Contributing to Python Development
- Warts and Gotchas
- Web
- Mobile Development
- Google Glass
- GUI Programming
- Android
- WSGI
- Databases
- Data Mining
- Data Analysis
- Data Visualization
- Deep Learning
- IPython Notebooks
- Design Patterns
- Concurrency and Distributed Systems
- Functional Programming
- Python 2 vs Python 3
- Books
- Online Courses and Challenges
- Discussions
- Conferences and Events
- Videos
- Editors and IDE's for Python programming
- Big Data
- Curated Python resources from other websites
- Newsletters
- Podcasts
- Miscellaneous
Beginner's Delight
- Beginner's guide to Python
- The Hitchhiker's guide to Python
- Learn Python the hard way
- Learn Python
- Google's Python class
- Python tracks at Codecademy
- Python for Beginners
- Intro to Python For Data Science
- Best way to learn python
- Python Tips, tools and resources
- Python Koans: Learn Python through TDD
- Beginner projects for a python newbie
- Learn X in Y minutes - Python
- Python Practice book
- Python tools and software
- Facts and myths about Python names and values
- *args and **kwargs in python explained
- In Python, it’s all about the attributes
- Common newbie mistakes in Python- Part 1
- Common newbie mistakes in Python- Part 2
- PySchools
- Some cool Python Tricks
- if x and if x is not None
- Declaring dependencies in Python
- Storing and Loading Data with JSON - Serialization/deserialization
- A Guide to Python's Magic Methods
- Efficient String Concatenation in Python
- Be Pythonic:
__init__.py
- Building an open-source Python application the right way
- Python progression path - From apprentice to guru
- Tutorialspoint python tutorial
- Python Importing
- Python's super() considered super!
- No Naked Excepts
- Supercharge Your Python Developers
- Anti-Patterns in Python Programming
- The Python IAQ: Infrequently Answered Questions
- Python's objects and classes — a visual guide
- Visualize your Python code being executed
- Snakify - a tutorial with exercises and a visual debugger
- Learn programming with curated Python projects - DevProjects
Resources for Women
- Pyladies
- Diversity in Python Community
- Django Girls
- Pystar
- Geek Feminism Python Posts
- Tarah Wheeler Van Vlack Videos
Why Python?
- Python Success Stories
- Why Python - Slideshare
- 5 Reasons Why You Should Learn Python Programming
- 10 Reasons Python Rocks for Research (And a Few Reasons it Doesn’t)
- Why such popularity with Python?
- Why was Python's popularity so sudden?
- Why Python?
- How Python became the language of choice for data science
Style Guide and Idioms
- PEP 8 - Style Guide for Python Code
- PEP 8 — the Style Guide for Python Code
- Code Like a Pythonista: Idiomatic Python
- Google Python Style Guide
- Python Idioms and Efficiency
- How not to write Python code
- Docstring Conventions
Dictionary
- Python hash, id and dictionary order
- Notes on dictionary implementation
- Python: The Dictionary Playbook
Decorators
- Understanding Python Decorators in 12 easy steps
- Common uses of Python decorators - Quora
- Common uses of Python decorators - Stack Overflow
- Python Decorators
- Decorators I: Introduction to Python Decorators
- The dark side of decorators
- Thinking out aloud: Python decorators
- Using Python decorators for registering callbacks
- Meta-matters: Using decorators for better Python programming
- How can I make a chain of function decorators in Python?
- The Python Decorator Library
- Improve Your Python: Decorators Explained
- Painless Decorators
- Advanced Uses of Python Decorators
Generators
- Improve Your Python: 'yield' and Generators Explained
- Generator Tricks for Systems Programmers
- Delegating to a Subgenerator in Python 3
- Generators Will Free Your Mind
Coroutines
Iterators
Import
Yield
Context Managers
Unicode
- Explain Unicode like I'm five years old
- Unicode Pain
- Python encodings and Unicode
- The Updated Guide to Unicode on Python
- More About Unicode in Python 2 and 3
- Unicode in Python: Common Pitfalls
- Unicode HOWTO
Networking
Metaclasses
- A primer on python metaclasses
- What is a metaclass in Python?
- Improve Your Python: Metaclasses and Dynamic Classes With Type
Documentation
- Documentation is King
- Make your open source project documentation suck less
- Python Documentation Network
- Writing great documentation
Sphinx
Environments and Environment Management
- Virtualenv - The official documentation
- Virtual Environments — The Hitchhiker's Guide to Python
- Virtualenv Tutorial
- A Primer on virtualenv
- How to use Python virtualenv
- Making Virtualenv play nice with Git
- Extension to Virtualenv
- VirtualEnv Burrito = virtualenv + virtualenvwrapper
- Virtualenv Tips
- Anaconda Primer
Exceptions
Debugging
Logging
Testing
- Nose Introduction
- Unittest Introduction
- How To Use Coverage.py With Unittest
- An Extended Introduction to the nose Unit Testing Framework
- Test strategies for your Python projects
- Improve Your Python: Understanding Unit Testing
- An Introduction to Mocking in Python
- Python Mock Library Comparison
Profiling
Packaging
- The Hitchhiker’s Guide to Packaging
- Sharing Your Labor of Love: PyPI Quick And Dirty
- Open Sourcing a Python Project the Right Way
- 5 tips for packaging your Python projects
- AOSA: Python Packaging
- The Package Dependency Blues
- 5 Simple Rules For Building Great Python Packages
- Unofficial Windows Binaries for Python Extension Packages
- Py2app: Standalone Mac OS X applications
- PyInstaller: Stand-alone executables, under Windows, Linux, Mac OS X, Solaris and AIX
- setup.py tricks
- Python Packaging: Quick Tutorial & Checklist
Deployment
Fabric
Ansible
Contributing to Python Development
Warts and Gotchas
Web
Frameworks
Flask
- Flask Mega Tutorial Series
- Designing a RESTful API with Python and Flask
- How I structure my Flask apps
- Designing a RESTful API using Flask-RESTful
- Rapid Web Prototyping with Lightweight Tools
- Build a Simple, Static, Markdown-Powered Blog with Flask
- How to Build an API with Python and Flask
- Create a Simple Music Streaming App with Flask
- Adding full-text search to the flask note-taking app
- Kickstarting Flask on Ubuntu - Setup and Deployment
- OAuth Authentication with Flask
- Building a blog using Flask and AngularJS
- A repository of Flask resources
- Building a Movie Recommendation Service with Spark & Flask
- Building a Kanban App with Flask and React
Books
Web2Py
Django
- The official Django documentation
- Getting started with Django
- Starting a Django 1.6 Project the Right Way
- Building a hacker news clone in Django
- Djen of Django
- Deploying Django
- Django by Example
- Tango with Django
- Django Screencasts
- Let’s TDD a Simple App in Django
- Django runserver and stunnel for testing HTTPS
- Scaling database with Django and HAProxy
- Classy Class-Based Views
- Django models, encapsulation and data integrity
- 11 Things I Wish I Knew About Django Development Before I Started My Company
- Build a Shopify App in 15 minutes with Django
- A repository of must-watch videos about Django
- Django Girls Tutorial
- Mastering Django
- Building a Wine Review & Recommendation Site with Django
Bottle
Tornado
Pyramid
- Pyramid official documentation
- How To Use the Pyramid Framework To Build Your Python Web App on Ubuntu
- Building an AJAX Hello-World with Pyramid
Web Servers
- A Comparison of Web Servers for Python Based Web Applications
- Setting Up a Rock Solid Python Development Web Server
API and Web Services
Scraping
- Web Scraping with BeautifulSoup
- Web Scraping 101 with Python
- Web Scraping with Scrapy Framework
- How to automatically search and download torrents with Python and Scrapy
Mobile Development
Kivy
Google Glass
Resources
Libraries
glass.py
Image Processing
GUI Programming
- Python.org GUI Overview Page
- PyQt5 Tutorial
- Standalone executable for PyQt4 on Windows
- Kivy GUI for cross-platform applications
- EffBot.org Introduction to Tkinter
- Pytkgen: JSON to Tkinter GUI Generator
- Intro to programming with Python and Tkinter
- Tkinter Course - Create Graphic User Interfaces in Python Tutorial
- Python - GUI Programming (Tkinter)
- Creating GUI Programs Fast & Easy Tutorial
Game Development
Android
SL4A
WSGI
Databases
SQLAlchemy
- SQLAlchemy
- SQLAlchemy and you
- Essential SQLAlchemy Tips and Techniques
- 10 common stumbling blocks for SQLAlchemy newbies
- An SQLAlchemy Cheatsheet
Data Mining
Data Analysis
- Practical Data Science in Python
- Document Clustering with Python
- Data Science with Python & R: Data Frames
- Data Science with Python & R: Exploratory Data Analysis
- Data Science with Python & R: Sentiment Classification Using Linear Methods
- Scientific Python Cheatsheet
- Python Basics For Data Science
- SciPy Lecture Notes: One document to learn numerics, science, and data with Python
- Machine Learning Algorithms with Python
Pandas
- A 10 min intro to Pandas
- Pandas and Python: Top 10
- Learn Pandas
- Faster Data Processing in Python
- Learn More About Pandas By Building and Using a Weighted Average Function
Data Visualization
- How to Create Matplotlib Animations
- How to Save Matplotlib Animations
- How to Create Plotly Animations
- How to Save Plotly Animations
- How to Map Charts in Python
Deep Learning
- Build your first Neural Network with Python and Keras
- Building powerful image classification models using very little data
- Python implementation of several famous Deep Learning papers
IPython Notebooks
- A Gallery of Interesting IPython Notebooks
- A collection of not-so-obvious Python stuff you should know!
- Peter Norvig's Notebook Collection
- Statistical Natural Language Processing in Python | How To Do Things With Words. And Counters.
- Analysis of World Bank Fertility Rate Data With Statsmodels PCA
- Modeling the Last Flight of MH370 with a Markov Chain Monte Carlo Method
- Differential Equations in Data Science
- Stegotons: solitary waves arising in non-dispersive periodic media
- The Traveling Salesperson Problem
- Scientific Computing with Python
- Gaussian Blur
- Understanding the FFT Algorithm
- lifelines: Survival Analysis in Python
- Economics Simulation
- An Introduction to Bayesian Methods for Multilevel Modeling
- The Floods of the Nile
- Animal Foraging and the Evolution of Goal-Directed Cognition
- Wikipedia data scraping functions
- Python for Geosciences
- Media Signal Processing
- Get Started with Python
- A gallery of data science IPython notebooks
- Jupyter Notebooks derived from Allen Downey's Think Bayes
Design Patterns
- Python Best Practice Patterns by Vladimir Keleshev
- 28 Design Patterns in Python and Several Other Languages
- Factory Pattern In Python
- Wishful Coding in Python: a Problem Solving Philosophy
Concurrency Patterns
Concurrency and Distributed Systems
Functional Programming
Python 2 vs 3
- Python 2 or 3 ?
- Python 3 Q & A
- About Python 3
- Let’s talk about Python 3.0
- Pros and Cons about Python 3
Porting to Python 3
- Python 3 Wall of Superpowers(Packages)
- How to support both Python 2 and 3
- How CherryPy supports Python 2 and 3
- Porting to Python 3 - The Book Site
- Easy, clean, reliable Python 2/3 compatibility
Books
Free
- Free Programming Books - Python
- Python Programming - Free Computer Books
- Some free books on Python
- Invent with Python
- Think Python
- Byte of Python
- Snake Wrangling for Kids
- Data Structures and Algorithms with Object-Oriented Design Patterns in Python
- Python programming on wikibooks
- Dive Into Python 3
- Programming Computer Vision with Python
- Python for you and me
- Program Arcade Games With Python And Pygame
- Interactive python-problem solving
- How to make mistakes in Python
- Think Stats: Exploratory Data Analysis in Python
Paid
Online Courses and Challenges
- A Gentle Introduction to Programming Using Python
- Python Challenges
- Project Euler
- Interactive, test-driven Python coding challenges
Discussions
- What's your favorite programming language?
- What is your primary programming language?
- StackOverflow - Python beyond the basics
- StackOverflow - Python progression path from apprentice to guru
- StackOverflow - Zen of Python
- StackOverflow - Hidden Features of Python
Conferences and events
Videos
- Guido Van Rossum on the history of Python
- Type Hints - Guido van Rossum - PyCon 2015
- PyVideo
- Khan Academy - Introduction to programming and computer science using Python
- What are some "must-watch" Python videos ?
- Lanyrd - Python Videos
- Python Videos, Tutorials and Screencasts at ShowMeDo
- Talks by Brandon Rhodes
- A Billion Rows per Second: Metaprogramming Python for Big Data
- The newboston site tutorial - Python 3 version
- Python Programming Tutorials
- Must-watch videos about Python by s16h
Editors and IDE's for Python programming
- Setting up Sublime Text for Python Development
- Sublime Text 2 Love by Kenneth Reitz
- Sublime Text 2 tips for Python and web developers
- PyCharm
- Geany
- Geany with pylint
- PyDev
- Ninja-IDE
- Emacs setup for python development environment
- Emacs for python
- Python Anywhere
- PythonBuddy
- ExtendsClass
BigData
Curated Python resources from other websites
- Python Resources (All) - Codesters.org
- Learn Python Online
- Programming Community Curated Python Tutorials & Courses
- Classpert: Find and compare online courses from multiple providers
Newsletters
Podcasts
Miscellaneous
- Good to great Python reads
- How to Create Barcodes in Your PDFs with Python
- What are some good Python interview questions ?
- Python innards introduction
- Projects - A list of practical projects
- More Python Tutorials
- Developer Tools in Python
- The Best of Python in 2013
- Top Projects of 2013
- Advanced Regular Expression Tips and Techniques
- Advanced Data Structures in Python
- Simple Sudoku solver in python
- Looking Inside Dropbox – Security whitepaper
- Why sorting an array makes a Python loop faster
- Python Integer object implementation
- The history of Python - Blog
- The ever useful and neat subprocess module
- Hidden Features in Python
- Python module of the week
- Become a programmer
- Python tutor
- Best developer blogs about python - Quora
- Python blogs -Stackoverflow
- Abstracting Control Flow
- Python Algorithm Visualizations done in Python running in the browser
- Solving Every Sudoku Puzzle
- IHeartPy!
- Difference Between 2 Images: Pixel Level Scanning