Python Concepts/Resources

Beginning programming

 * Non-Programmer's Tutorial for Python wikibook
 * Python programming wikibook
 * OverIQ Python
 * A byte of python
 * Pythonspot tutorials
 * How to think like a (python) programmer
 * http://www.hetland.org/python/instant-hacking.php - quickie introduction to what programming is by Magnus Lie Hetland, master of the one-page tutorial.
 * http://wiki.python.org/moin/BeginnersGuide/NonProgrammers - a list of more tutorials

Python for experienced coders

 * http://www.hetland.org/python/instant-python.php - Python in a page. A "just get your hands dirty" crash course by Magnus Lie Hetland.
 * http://wiki.python.org/moin/BeginnersGuide/Programmers - a list of more tutorials for people who already code.
 * The classic tutorial by Guido van Rossum (included by default with python installations)
 * Code like a Pythonista: Idiomatic Python

Advanced Python

 * The Python Challenge - A fun puzzle.
 * A primer on Python metaclass programming and an essay on python metaclasses along with the metaclass PEP.

Other tutorial collections

 * Python tutorials - wide range of topics and formats, including videos.

Finding Python Modules

 * PyPI - The Python Package Index, also known as PyPI, is a repository containing Python related software, which contains a lot extra libraries and modules. It currently hosts over 58,000 Python packages of software!

Graphics and GUIs - 2D

 * http://www.pygame.org - PyGame is a library developed for creating video games in Python, but it's evolved past that and is now an excellent way to interface graphics with mouse and keyboard input. If all you need is a couple keypresses, or want to make anything vaguely game-like (moving graphics), this is for you. Excellent tutorials.


 * http://pythoncard.sourceforge.net - PythonCard is a gui editor for creating wxPython guis. Think of it as the Resource Editor in Visual C++ when you are making an MFC gui. Relatively young, not very well documented, but very easy to use with lots of sample code that you can figure most things out from. Recommended for making Windows applications, but runs on OSX and Linux too.

Graphics - 3D

 * vpython.org - VPython makes real-time 3D scenes in Python. Unbelievably easy to use; it took me all of 5 minutes to go from installation to having various 3-d shapes bounding around on my screen.
 * www.blender.org - 3D modeling, animation, rending, post-production, interactive creation (read: games, or virtual 3d interfaces), and playback. Incredibly powerful (full-length professional-quality movies have been made in it). All python - you can write your own scripts in it. Totally free.
 * pyode.sourceforge.net - Python bindings for the Open Dynamics Engine, a decent-quality physics simulation engine. Works well when coupled with vpython.

Content Management

 * http://en.wikipedia.org/wiki/Trac - Trac is an amazing collaboration system, integrating SVN (version control) with tickets, bugtracking, and a wiki for communications.
 * http://en.wikipedia.org/wiki/MoinMoin - MoinMoin is a popular wiki engine written in Python.

Hardware interface

 * Serial port interface with pySerial, source
 * http://pyparallel.sourceforge.net - parallel port interface

Making executables

 * http://www.py2exe.org - make your python program into a windows executable that can be run on any windows machine

Microsoft Windows

 * Python and COM
 * Library that allows you to communicate with COM for things like Outlook.


 * Python for Windows Extensions
 * A library that allows you to call win32 functions via Python.


 * Python Programming On Win32
 * A book for programming on Windows 32-bit platforms.


 * Unofficial Windows Binaries for Python Extension Packages
 * A large repository of per-built binaries extensions specifically for Windows. This comes in handy when you can't built them yourself or you want a Linux only extension on Windows. Credits to Christoph Gohlke at the University of California for creating and maintaining such a repository.

Implementations

 * CPython
 * The main implementation of Python written in C. This is the original interpreter.


 * Cython
 * A Python to C translator. It works by invoking Python library calls via C. Cython is often used to created fast Python extensions.


 * IronPython
 * A Python implementation written in C# targeting the .NET framework.


 * PyPy
 * A fast CPython compatible interpreter that translates Python to native code when interpreting. PyPy itself is written in Python.


 * Jython
 * A Python implementation in Java. In fact, you can create class and jar files, since the Python script is translated into Java bytecode. This allows access to any java library and API. You can even create java applets written in Python!


 * Course Home Page