This is a quick guide to using Python and various additional packages on a desktop machine. See PythonIpaq for using it on a PocketPC device. Note that not many of the additional packages listed here have been ported to the PocketPC
Never mind all this, just get me set up!
In a hurry to install? See QuickStartPython.
What is Python?
From the python homepage:
"What is Python?
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.
Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX, on Windows, OS/2, Mac, Amiga, and many other platforms. If your favorite system isn't listed here, it may still be supported, if there's a C compiler for it. Ask around on  news:comp.lang.python -- or just try compiling Python yourself. 
The Python implementation is copyrighted but freely usable and distributable, even for commercial use"
Note: this wiki is written in Python (so it obviously can do quite a lot)! Once you've installed Python, see the Guides below for help on getting started...
Installing
Python
Available on: Desktop and PocketPC (see PythonIpaq)
Get python 2.3.5 from  http://www.python.org/2.3.5/ Every other package is optional, but you really want them! For Windows, installation is extremely easy; just run the installer. The same is true for all the optional packages below, they all come with a simple windows installer. 
Packages
Each package lists whether it's available for the desktop or for the PocketPC.
Highly Recommended
Win32all
Available on: Desktop and PocketPC (see PythonIpaq)
Summary: Provides access to all the windows API functions from python.
Download:  http://starship.python.net/crew/mhammond/win32/  
Comments: You really want to have this for a windows environment!
Py2Exe
Available on: Windows Desktop machines only -- doesn't make sense for other platforms
Summary: NOT a python module -- instead allows you to package up scripts as a single executable for end user use, without having to install all the various dependencies.
Download:  http://starship.python.net/crew/theller/py2exe/ 
Twisted
Available on: Anything, pure python
Summary: Very sophisticated and easy to use networking code. It's efficient too.
Download:  http://twistedmatrix.com/products/twisted 
Numeric
Available on: Desktop only (should be possible to port this though, I'm trying)
Summary: Provides a comprehensive matlab-like set of very fast matrix and general math routines.
Download:   http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=1351 (get the version for python 2.3).  
SciPy
Available on: Desktop only (may be possible to port this though)
Summary: provides a vast array of scientific routines on top of  Numeric -- like fft, ode solving, and a whole bunch of other stuff. See  http://www.scipy.org/About/ for a quick overview. Includes Weave  for optimizing code. 
Download:  http://www.scipy.org/download 
IPython
Available on: Anything, it's just python code
Summary: Enhanced console for python. Includes syntax highlighting in the console, tab completion and so on. It's a must!
Download:  http://ipython.scipy.org/dist/. 
Note: For Windows users, you probably want to get Readline from  http://sourceforge.net/project/showfiles.php?group_id=82407&package_id=84552 (although IPython works without out it, a huge amount of functionality is added with readline). To use readline, you must have installed win32all (above) and also CTypes from 
 http://starship.python.net/crew/theller/ctypes/ 
PyGame
Available on: Desktop only (should be possible to port this though, I'm trying)
Summary: PyGame makes it extremely easy to make realtime graphical interfaces (and indeed audio ones). It's designed to be simple to use, but while remaining powerful.
Download:  http://www.pygame.org/download.shtml  
EPyDoc
Available on: Anything, it's pure python code
Summary: Quick and effective way to make documentation for your API's (like JavaDoc). Verbose example of it's use:
   1 def x_intercept(m, b):
   2     """
   3     Return the x intercept of the line M{y=m*x+b}.  The X{x intercept}
   4     of a line is the point at which it crosses the x axis (M{y=0}).
   5 
   6     This function can be used in conjuction with L{z_transform} to
   7     find an arbitrary function's zeros.
   8 
   9     @type  m: number
  10     @param m: The slope of the line.
  11     @type  b: number
  12     @param b: The y intercept of the line.  The X{y intercept} of a
  13               line is the point at which it crosses the y axis (M{x=0}).
  14     @rtype:   number
  15     @return:  the x intercept of the line M{y=m*x+b}.
  16     """
  17     return -b/m
The full reference can be read at  http://epydoc.sourceforge.net/epytext.html 
Download:  http://epydoc.sourceforge.net/  
PIL
Available on: Desktop only (as of yet)
Summary: Python Imaging Library, makes it easy to load and save a wide variety of bitmap graphics formats.
Download:   http://www.pythonware.com/products/pil/index.htm 
Optimization
Psyco
Available on: Desktop only
Summary: JIT compiler -- massively speed up Python code.
Download:  http://psyco.sourceforge.net/ 
PyRex
Available on: Desktop only
Summary: Make very easy C extensions in python
Download:  http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/ 
PyInline
Available on: Desktop Only
Summary: Allows you to write C code in-line in your Python programs
Download:  http://pyinline.sourceforge.net/ 
F2Py
Available on: Desktop Only
Summary: Makes it extremely straightforward to interface Fortran code with Python (handy for all those old scientific routines...)
Download:  http://cens.ioc.ee/projects/f2py2e/ 
General Development
PyDispatcher
Available on: Desktop only (may be portable not checked)
Summary: Event dispatcher. Useful if you need to have communicating objects inside your program (e.g. like in SIGIL).
Download:  http://pydispatcher.sourceforge.net/ 
3d Stuff
vpython
Available on: Desktop only
Summary: Easy 3D programming with Python (+numeric)
Download:  http://www.vpython.org 
Note: Here's some example code that shows a ball bouncing on the ground:
   1 from visual import *
   2 
   3 floor = box (pos=(0,0,0), length=4, height=0.5, width=4, color=color.blue)
   4 ball = sphere (pos=(0,4,0), radius=1, color=color.red)
   5 ball.velocity = vector(0,-1,0)
   6 dt = 0.01
   7 
   8 while 1:
   9   rate (100)
  10   ball.pos = ball.pos + ball.velocity*dt
  11   if ball.y < ball.radius:
  12     ball.velocity.y = -ball.velocity.y
  13   else:
  14     ball.velocity.y = ball.velocity.y - 9.8*dt
PyOpenGl
Available on: Desktop only (porting this is out of the question!)
Summary: Allows you to manipulate OpenGL from Python, and includes a number of simple wrappers for common OpenGL tasks.
Download:
OK, you need a bunch of packages for this one (but it's worth it!). This . All of these have windows installers as well as UNIX versions, so they are really quick and easy to install.
- Get OpenGlContext from - http://sourceforge.net/project/showfiles.php?group_id=5988 
- Get PyOpenGl from the same page 
- GLUT, if you don't have it, from - http://www.xmission.com/%7Enate/glut.html 
- PIL, if you don't have it from - http://www.pythonware.com/products/pil/index.htm 
- Dispatcher from - http://pydispatcher.sourceforge.net/ 
- SimpleParse, from - http://sourceforge.net/project/showfiles.php?group_id=55673 
- mxTextTools, from - http://www.lemburg.com/files/python/mxTextTools.html 
- TTFQuery, from - http://sourceforge.net/projects/ttfquery/ 
- FontTools, from - http://sourceforge.net/projects/fonttools/ 
- WxPython, from - http://sourceforge.net/project/showfiles.php?group_id=10718 
Soya3D
Available on: Desktop only. Requires OpenGL
Summary: Powerful 3d engine -- makes it easy to set up 3d worlds
Download:  http://thomas.paviot.free.fr/soya/ 
SPyRE
Available on: Desktop only (needs PyOpenGL, so not portable)
Summary: A very simple PyOpenGL=based graphics library, for quickly knocking together prototypes. Especially good for rendering particle systems. ' Download:  http://pduel.sourceforge.net/spyre/ 
PyOgre
Available on: Desktop only
Summary: An as-yet immature but promising game development library. Very, very powerful.
Download:  http://www.ogre3d.org/wiki/index.php/PyOgre 
PyOde
Available on: Desktop only, port should be possible
Summary: Physics simulation. This is both powerful and simple. Here's a simple code example which creates a moving sphere:
   1 # pyODE example 1: Getting started
   2 
   3 import ode
   4 
   5 # Create a world object
   6 world = ode.World()
   7 world.setGravity( (0,-9.81,0) )
   8 
   9 # Create a body inside the world
  10 body = ode.Body(world)
  11 M = ode.Mass()
  12 M.setSphere(2500.0, 0.05)
  13 M.mass = 1.0
  14 body.setMass(M)
  15 
  16 body.setPosition( (0,2,0) )
  17 body.addForce( (0,200,0) )
  18 
  19 # Do the simulation...
  20 total_time = 0.0
  21 dt = 0.04
  22 while total_time<2.0:
  23     x,y,z = body.getPosition()
  24     u,v,w = body.getLinearVel()
  25     print "%1.2fsec: pos=(%6.3f, %6.3f, %6.3f)  vel=(%6.3f, %6.3f, %6.3f)" % \
          (total_time, x, y, z, u,v,w)
  26     world.step(dt)
  27     total_time+=dt
Download:  http://pyode.sourceforge.net/  
QwPython
Available on: Desktop Only
Summary: Allows you to interface with the Quake engine via Python. May be useful for prototyping
Download:  http://sourceforge.net/projects/qwpython 
GUI
PythonCard
Available on: All machines with wxPython (desktop only for now)
Summary: Easy to use GUI builder, good interactive debugging and editing
Download:  http://pythoncard.sourceforge.net/ 
WxPython
Available on: Desktop only
Summary: GUI library. You might want to try this if for some reason you don't or can't use TkInter
Download:   http://sourceforge.net/project/showfiles.php?group_id=10718 
Scientific
MatPlotLib
Available on: Desktop only.
Summary: Matlab compatible graphing commands with various output formats (like eps, etc.) as well as on screen display.
Download:  http://sourceforge.net/project/showfiles.php?group_id=80706 
SimPy
Available on: Desktop only
Summary: A stochastic discrete event simulation package (e.g. for simulating queues and such like)
Download:  http://sourceforge.net/project/showfiles.php?group_id=62366 
MayaVi
Available on: Desktop only
Summary: Powerful visualization package.
Download:  http://mayavi.sourceforge.net/ 
Text Processing
Available on: Probably any Python platform
Summary: Natural language toolkit: stemming, frequency tables and such.
Download:  http://nltk.sourceforge.net/index.html 
Guides
Beginning
Read  Introduction to Python first of all. Then: 
- See - http://www.python.org/moin/BeginnersGuide for the beginners guide. 
- Various introductions to python at - http://www.python.org/doc/Intros.html 
- Crash course - http://hetland.org/python/instant-python 
More advanced
- All the charming python articles are interesting: - http://www-128.ibm.com/developerworks/views/linux/libraryview.jsp 
- Dive into Python, introduction for experienced programmers - http://diveintopython.org/ 
Quick Start
- To get started quickly, if you already have experience with other scripting languages, see the quick reference at - http://rgruet.free.fr/PQR2.2.html 
GUI
- BuildingTkInterfaces has some guides on how to build GUI's with Python 
Optimization
- Optimizing python tips at - http://manatee.mojam.com/~skip/python/fastpython.html 
Functional Programming
* Articles on functional programming in Python:  http://www-106.ibm.com/developerworks/linux/library/l-prog.html, 
 http://www-106.ibm.com/developerworks/linux/library/l-prog2.html and 
 http://www-106.ibm.com/developerworks/opensource/library/l-prog3.html 
- Peter Norvig's guide for LISP programmers using Python - http://www.norvig.com/python-lisp.html 
- Xoltar, a package with lots of nice functional extensions to Python; details at - http://www.xoltar.org/languages/python.html download at - http://sourceforge.net/project/showfiles.php?group_id=12142 
Useful Links
Jython
Python has been ported to Java -- i.e it will run on every machine supporting Java. See  http://www.jython.org/ 
Package Index
- The package index -- huge array of prebuilt modules. Look here before reinventing the wheel - http://www.python.org/pypi 
Cookbook
- The cookbook, which has a great number of short, useful snippets of code. - http://aspn.activestate.com/ASPN/Python/Cookbook/ 
FAQ
- see the Python faqts at - http://www.faqts.com/knowledge_base/index.phtml/fid/199, which have many many answers to potential questions 
Modules
- Open directory of python modules at - http://dmoz.org/Computers/Programming/Languages/Python/Modules/ 
- Vaults of Parnassus -- lots of python modules - http://py.vaults.ca/apyllo.py 
3D Stuff
- 3D Python stuff at - http://www.py3d.org/links