Tkinter enables rapid development of GUI applications.
Tkinter itself is a Python 'layer' between you and Tk, which provides all the graphical 'widgets'. See 'How Tk and Tkinter are Related' for some idea of how it all works.
I'm pretty sure Steen Lumholt wrote it. Guido has been hacking on it, and I've been hacking my way around it, but Steen did the original work. (fredrik lundh 2001 comp.lang.python )
Installation: Tkinter is usually part of Python. However, Tcl/Tk often is not. For information on getting Tcl/Tk/Tkinter installed on your platform, refer to How_to_install_Tkinter.
References on the Web:
http://www.tkdocs.com/ is a site about Tk which now includes also python3+Tkinter examples
Stephen Ferg's Thinking in Tkinter,
Bruce Embry's Python Course with 6 lessons on Tkinter,
Tkinter module API via epydoc. ( <-- Is this still around or can another link be found? )
- and ...
Tk includes extensive online help, in the ManPage format on UnixOperatingSystems. A standard ActiveTcl installation on Windows also has all the same information in Windows help files. The information there is useful to Tkinter programmers, but you need to know how to TranslateTcl to Python/Tkinter first. In all of this, though, it's important to understand that there is no comprehensive and coherent reference, in the sense of a single location to learn about all options and functions of, say, the canvas widget. Developers typically learn the basics in a tutorial, inspect Tcl/Tk documentation to learn about all the attributes likely operative, read one of the books for advanced usage, and so on.
License: Tcl/Tk is distributed under the BSD license, and Tkinter under the Python license. This means they can be used in proprietary applications. Also, the FSF has determined that the BSD and Python licenses are GPL compatible.
At another level, "Tkinter is a shared library that links to the Tcl & Tk shared libraries", in Jim Ingham's words. The Python interpreter loads (this) Tkinter in as a "shim" that exposes Tcl/Tk commands within Python.