¶
follow
#the-hitchhiker-s-guide-to-python
fork us on GitHub
follow
https://github.com/realpython/python-guide
¶
follow
#getting-started-with-python
Picking a Python Interpreter (3 vs 2)
follow
starting/which-python/
The State of Python (3 & 2)
follow
starting/which-python/#the-state-of-python-3-2
Recommendations
follow
starting/which-python/#recommendations
So…. 3?
follow
starting/which-python/#so-3
Implementations
follow
starting/which-python/#implementations
Properly Installing Python
follow
starting/installation/
Installing Python 3 on Mac OS X
follow
starting/install3/osx/
Installing Python 3 on Windows
follow
starting/install3/win/
Installing Python 3 on Linux
follow
starting/install3/linux/
Installing Python 2 on Mac OS X
follow
starting/install/osx/
Installing Python 2 on Windows
follow
starting/install/win/
Installing Python 2 on Linux
follow
starting/install/linux/
Pipenv & Virtual Environments
follow
dev/virtualenvs/
Make sure you’ve got Python & pip
follow
dev/virtualenvs/#make-sure-you-ve-got-python-pip
Installing Pipenv
follow
dev/virtualenvs/#installing-pipenv
Installing packages for your project
follow
dev/virtualenvs/#installing-packages-for-your-project
Using installed packages
follow
dev/virtualenvs/#using-installed-packages
Next steps
follow
dev/virtualenvs/#next-steps
Lower level: virtualenv
follow
dev/virtualenvs/#lower-level-virtualenv
Basic Usage
follow
dev/virtualenvs/#basic-usage
Other Notes
follow
dev/virtualenvs/#other-notes
virtualenvwrapper
follow
dev/virtualenvs/#virtualenvwrapper
virtualenv-burrito
follow
dev/virtualenvs/#virtualenv-burrito
direnv
follow
dev/virtualenvs/#direnv
¶
follow
#python-development-environments
Your Development Environment
follow
dev/env/
Text Editors
follow
dev/env/#text-editors
IDEs
follow
dev/env/#ides
Interpreter Tools
follow
dev/env/#interpreter-tools
Other Tools
follow
dev/env/#other-tools
Pipenv & Virtual Environments
follow
dev/virtualenvs/
Make sure you’ve got Python & pip
follow
dev/virtualenvs/#make-sure-you-ve-got-python-pip
Installing Pipenv
follow
dev/virtualenvs/#installing-pipenv
Installing packages for your project
follow
dev/virtualenvs/#installing-packages-for-your-project
Using installed packages
follow
dev/virtualenvs/#using-installed-packages
Next steps
follow
dev/virtualenvs/#next-steps
Lower level: virtualenv
follow
dev/virtualenvs/#lower-level-virtualenv
Basic Usage
follow
dev/virtualenvs/#basic-usage
Other Notes
follow
dev/virtualenvs/#other-notes
virtualenvwrapper
follow
dev/virtualenvs/#virtualenvwrapper
virtualenv-burrito
follow
dev/virtualenvs/#virtualenv-burrito
direnv
follow
dev/virtualenvs/#direnv
Further Configuration of pip and Virtualenv
follow
dev/pip-virtualenv/
Requiring an active virtual environment for pip
follow
dev/pip-virtualenv/#requiring-an-active-virtual-environment-for-pip
Caching packages for future use
follow
dev/pip-virtualenv/#caching-packages-for-future-use
¶
follow
#writing-great-python-code
Structuring Your Project
follow
writing/structure/
Structure of the Repository
follow
writing/structure/#structure-of-the-repository
Structure of Code is Key
follow
writing/structure/#structure-of-code-is-key
Modules
follow
writing/structure/#modules
Packages
follow
writing/structure/#packages
Object-oriented programming
follow
writing/structure/#object-oriented-programming
Decorators
follow
writing/structure/#decorators
Context Managers
follow
writing/structure/#context-managers
Dynamic typing
follow
writing/structure/#dynamic-typing
Mutable and immutable types
follow
writing/structure/#mutable-and-immutable-types
Vendorizing Dependencies
follow
writing/structure/#vendorizing-dependencies
Runners
follow
writing/structure/#runners
Further Reading
follow
writing/structure/#further-reading
Code Style
follow
writing/style/
General concepts
follow
writing/style/#general-concepts
Idioms
follow
writing/style/#idioms
Zen of Python
follow
writing/style/#zen-of-python
PEP 8
follow
writing/style/#pep-8
Conventions
follow
writing/style/#conventions
Reading Great Code
follow
writing/reading/
Documentation
follow
writing/documentation/
Project Documentation
follow
writing/documentation/#project-documentation
Project Publication
follow
writing/documentation/#project-publication
Code Documentation Advice
follow
writing/documentation/#code-documentation-advice
Other Tools
follow
writing/documentation/#other-tools
Testing Your Code
follow
writing/tests/
The Basics
follow
writing/tests/#the-basics
Tools
follow
writing/tests/#tools
Logging
follow
writing/logging/
… or Print?
follow
writing/logging/#or-print
Logging in a Library
follow
writing/logging/#logging-in-a-library
Logging in an Application
follow
writing/logging/#logging-in-an-application
Common Gotchas
follow
writing/gotchas/
Mutable Default Arguments
follow
writing/gotchas/#mutable-default-arguments
Late Binding Closures
follow
writing/gotchas/#late-binding-closures
Bytecode (.pyc) Files Everywhere!
follow
writing/gotchas/#bytecode-pyc-files-everywhere
Choosing a License
follow
writing/license/
¶
follow
#scenario-guide-for-python-applications
Network Applications
follow
scenarios/client/
HTTP
follow
scenarios/client/#http
Distributed Systems
follow
scenarios/client/#distributed-systems
Web Applications & Frameworks
follow
scenarios/web/
Context
follow
scenarios/web/#context
Frameworks
follow
scenarios/web/#frameworks
Web Servers
follow
scenarios/web/#web-servers
WSGI Servers
follow
scenarios/web/#wsgi-servers
Server Best Practices
follow
scenarios/web/#server-best-practices
Hosting
follow
scenarios/web/#hosting
Templating
follow
scenarios/web/#templating
HTML Scraping
follow
scenarios/scrape/
Web Scraping
follow
scenarios/scrape/#web-scraping
lxml and Requests
follow
scenarios/scrape/#lxml-and-requests
Command-line Applications
follow
scenarios/cli/
Click
follow
scenarios/cli/#click
docopt
follow
scenarios/cli/#docopt
Plac
follow
scenarios/cli/#plac
Cliff
follow
scenarios/cli/#cliff
Cement
follow
scenarios/cli/#cement
Python Fire
follow
scenarios/cli/#python-fire
GUI Applications
follow
scenarios/gui/
Camelot
follow
scenarios/gui/#camelot
Cocoa
follow
scenarios/gui/#cocoa
GTk
follow
scenarios/gui/#gtk
PyGObject aka (PyGi)
follow
scenarios/gui/#pygobject-aka-pygi
Kivy
follow
scenarios/gui/#kivy
PyObjC
follow
scenarios/gui/#pyobjc
PySide
follow
scenarios/gui/#pyside
PyQt
follow
scenarios/gui/#pyqt
Pyjs Desktop (formerly Pyjamas Desktop)
follow
scenarios/gui/#pyjs-desktop-formerly-pyjamas-desktop
Qt
follow
scenarios/gui/#qt
PySimpleGUI
follow
scenarios/gui/#pysimplegui
Toga
follow
scenarios/gui/#toga
Tk
follow
scenarios/gui/#tk
wxPython
follow
scenarios/gui/#wxpython
Databases
follow
scenarios/db/
DB-API
follow
scenarios/db/#db-api
SQLAlchemy
follow
scenarios/db/#sqlalchemy
Records
follow
scenarios/db/#records
PugSQL
follow
scenarios/db/#pugsql
Django ORM
follow
scenarios/db/#django-orm
peewee
follow
scenarios/db/#peewee
PonyORM
follow
scenarios/db/#ponyorm
SQLObject
follow
scenarios/db/#sqlobject
Networking
follow
scenarios/network/
Twisted
follow
scenarios/network/#twisted
PyZMQ
follow
scenarios/network/#pyzmq
gevent
follow
scenarios/network/#gevent
Systems Administration
follow
scenarios/admin/
Fabric
follow
scenarios/admin/#fabric
Salt
follow
scenarios/admin/#salt
Psutil
follow
scenarios/admin/#psutil
Ansible
follow
scenarios/admin/#ansible
Chef
follow
scenarios/admin/#chef
Puppet
follow
scenarios/admin/#puppet
Blueprint
follow
scenarios/admin/#blueprint
Buildout
follow
scenarios/admin/#buildout
Shinken
follow
scenarios/admin/#shinken
Continuous Integration
follow
scenarios/ci/
Why?
follow
scenarios/ci/#why
Jenkins
follow
scenarios/ci/#jenkins
Buildbot
follow
scenarios/ci/#buildbot
Tox
follow
scenarios/ci/#tox
Travis-CI
follow
scenarios/ci/#travis-ci
Speed
follow
scenarios/speed/
Context
follow
scenarios/speed/#context
C Extensions
follow
scenarios/speed/#id2
Concurrency
follow
scenarios/speed/#concurrency
Scientific Applications
follow
scenarios/scientific/
Context
follow
scenarios/scientific/#context
Tools
follow
scenarios/scientific/#tools
Libraries
follow
scenarios/scientific/#libraries
Resources
follow
scenarios/scientific/#resources
Image Manipulation
follow
scenarios/imaging/
Python Imaging Library
follow
scenarios/imaging/#python-imaging-library
Open Source Computer Vision
follow
scenarios/imaging/#open-source-computer-vision
Data Serialization
follow
scenarios/serialization/
What is data serialization?
follow
scenarios/serialization/#what-is-data-serialization
Flat vs. Nested data
follow
scenarios/serialization/#flat-vs-nested-data
Serializing Text
follow
scenarios/serialization/#serializing-text
Binary
follow
scenarios/serialization/#binary
Protobuf
follow
scenarios/serialization/#protobuf
XML parsing
follow
scenarios/xml/
untangle
follow
scenarios/xml/#untangle
xmltodict
follow
scenarios/xml/#xmltodict
JSON
follow
scenarios/json/
Parsing JSON
follow
scenarios/json/#parsing-json
Cryptography
follow
scenarios/crypto/
cryptography
follow
scenarios/crypto/#id1
GPGME bindings
follow
scenarios/crypto/#gpgme-bindings
Machine Learning
follow
scenarios/ml/
SciPy Stack
follow
scenarios/ml/#scipy-stack
scikit-learn
follow
scenarios/ml/#scikit-learn
Interfacing with C/C++ Libraries
follow
scenarios/clibs/
C Foreign Function Interface
follow
scenarios/clibs/#c-foreign-function-interface
ctypes
follow
scenarios/clibs/#ctypes
SWIG
follow
scenarios/clibs/#swig
Boost.Python
follow
scenarios/clibs/#boost-python
¶
follow
#shipping-great-python-code
Publishing Your Code
follow
shipping/publishing/
Creating a Project Repo on GitHub
follow
shipping/publishing/#creating-a-project-repo-on-github
When Your Project Grows
follow
shipping/publishing/#when-your-project-grows
Packaging Your Code
follow
shipping/packaging/
Alternatives to Packaging
follow
shipping/packaging/#alternatives-to-packaging
For Python Developers
follow
shipping/packaging/#for-python-developers
For Linux Distributions
follow
shipping/packaging/#for-linux-distributions
Freezing Your Code
follow
shipping/freezing/
Alternatives to Freezing
follow
shipping/freezing/#alternatives-to-freezing
Comparison of Freezing Tools
follow
shipping/freezing/#comparison-of-freezing-tools
Windows
follow
shipping/freezing/#windows
OS X
follow
shipping/freezing/#os-x
Linux
follow
shipping/freezing/#linux
¶
follow
#additional-notes
Introduction
follow
intro/duction/
About This Guide
follow
intro/duction/#about-this-guide
The Community
follow
intro/community/
BDFL
follow
intro/community/#bdfl
Python Software Foundation
follow
intro/community/#python-software-foundation
PEPs
follow
intro/community/#peps
Python Conferences
follow
intro/community/#python-conferences
Python User Groups
follow
intro/community/#python-user-groups
Online Communities
follow
intro/community/#online-communities
Python Job Boards
follow
intro/community/#python-job-boards
Learning Python
follow
intro/learning/
Beginner
follow
intro/learning/#beginner
Intermediate
follow
intro/learning/#intermediate
Advanced
follow
intro/learning/#advanced
For Engineers and Scientists
follow
intro/learning/#for-engineers-and-scientists
Miscellaneous Topics
follow
intro/learning/#miscellaneous-topics
References
follow
intro/learning/#references
Documentation
follow
intro/documentation/
Official Documentation
follow
intro/documentation/#official-documentation
Read the Docs
follow
intro/documentation/#read-the-docs
pydoc
follow
intro/documentation/#pydoc
PyCoder’s Weekly
follow
intro/news/#pycoders-weekly
Real Python
follow
intro/news/#real-python
Planet Python
follow
intro/news/#planet-python
/r/python
follow
intro/news/#r-python
Talk Python Podcast
follow
intro/news/#talk-python-podcast
Python Bytes Podcast
follow
intro/news/#python-bytes-podcast
Python Weekly
follow
intro/news/#python-weekly
Python News
follow
intro/news/#python-news
Import Python Weekly
follow
intro/news/#import-python-weekly
Awesome Python Newsletter
follow
intro/news/#awesome-python-newsletter
Contribute
follow
notes/contribute/
Style Guide
follow
notes/contribute/#style-guide
Todo List
follow
notes/contribute/#todo-list
License
follow
notes/license/
The Guide Style Guide
follow
notes/styleguide/
Relevancy
follow
notes/styleguide/#relevancy
Headings
follow
notes/styleguide/#headings
Prose
follow
notes/styleguide/#prose
Code Examples
follow
notes/styleguide/#code-examples
Externally Linking
follow
notes/styleguide/#externally-linking
Linking to Sections in The Guide
follow
notes/styleguide/#linking-to-sections-in-the-guide
Notes and Warnings
follow
notes/styleguide/#notes-and-warnings
TODOs
follow
notes/styleguide/#todos
DjangoGirls
follow
https://djangogirls.org
hundreds of people
follow
https://github.com/kennethreitz/python-guide/graphs/contributors
are welcome
follow
https://docs.python-guide.org/notes/contribute/
The Guide Website
follow
https://docs.python-guide.org/
The Guide @ GitHub
follow
https://github.com/realpython/python-guide
Issue Tracker
follow
https://github.com/realpython/python-guide/issues
The Guide as a PDF
follow
https://media.readthedocs.org/pdf/python-guide/latest/python-guide.pdf
English
follow
https://docs.python-guide.org/
French
follow
https://python-guide-fr.readthedocs.io/fr/latest/
Chinese
follow
https://pythonguidecn.readthedocs.io/zh/latest/
Japanese
follow
https://python-guideja.readthedocs.io/ja/latest/
Korean
follow
https://python-guide-kr.readthedocs.io/ko/latest/
Filipino
follow
https://python-guide-fil.readthedocs.io/en/latest/
Brazilian Portuguese
follow
https://python-guide-pt-br.readthedocs.io/pt_BR/latest/
Kenneth Reitz
follow
https://www.kennethreitz.org/projects
Real Python
follow
https://realpython.com
CC BY-NC-SA 3.0
follow
http://creativecommons.org/licenses/by-nc-sa/3.0/