``x+1``.
Several projects described in the Python newsgroup or at past `Python
-conferences <http://python.org/community/workshops/>`_ have shown that this approach is feasible,
-although the speedups reached so far are only modest (e.g. 2x). Jython uses the
-same strategy for compiling to Java bytecode. (Jim Hugunin has demonstrated
-that in combination with whole-program analysis, speedups of 1000x are feasible
-for small demo programs. See the proceedings from the `1997 Python conference
-<http://python.org/community/workshops/1997-10/proceedings/>`_ for more information.)
+conferences <http://python.org/community/workshops/>`_ have shown that this
+approach is feasible, although the speedups reached so far are only modest
+(e.g. 2x). Jython uses the same strategy for compiling to Java bytecode. (Jim
+Hugunin has demonstrated that in combination with whole-program analysis,
+speedups of 1000x are feasible for small demo programs. See the proceedings
+from the `1997 Python conference
+<http://python.org/workshops/1997-10/proceedings/>`_ for more information.)
Internally, Python source code is always translated into a bytecode
representation, and this bytecode is then executed by the Python virtual
If you need to interface to some C or C++ library for which no Python extension
currently exists, you can try wrapping the library's data types and functions
with a tool such as `SWIG <http://www.swig.org>`_. `SIP
-<http://www.riverbankcomputing.co.uk/sip/>`_, `CXX
+<http://www.riverbankcomputing.co.uk/software/sip/>`_, `CXX
<http://cxx.sourceforge.net/>`_ `Boost
<http://www.boost.org/libs/python/doc/index.html>`_, or `Weave
<http://www.scipy.org/site_content/weave>`_ are also alternatives for wrapping
several useful pieces of freely distributable software. The source will compile
and run out of the box on most UNIX platforms.
-Consult the `Developer FAQ
-<http://www.python.org/dev/devfaq.html#subversion-svn>`__ for more information
-on getting the source code and compiling it.
+.. XXX update link once the dev faq is relocated
+
+Consult the `Developer FAQ <http://www.python.org/dev/faq/>`__ for more
+information on getting the source code and compiling it.
How do I get documentation on Python?
The standard documentation for the current stable version of Python is available
at http://docs.python.org/. PDF, plain text, and downloadable HTML versions are
-also available at http://docs.python.org/download/.
+also available at http://docs.python.org/download.html.
The documentation is written in reStructuredText and processed by `the Sphinx
documentation tool <http://sphinx.pocoo.org/>`__. The reStructuredText source
newsgroups and on the Python home page at http://www.python.org/; an RSS feed of
news is available.
+.. XXX update link once the dev faq is relocated
+
You can also access the development version of Python through Subversion. See
-http://www.python.org/dev/devfaq.html#subversion-svn for details.
+http://www.python.org/dev/faq/ for details.
How do I submit bug reports and patches for Python?
'''
There are bindings available for the Qt toolkit (`PyQt
-<http://www.riverbankcomputing.co.uk/pyqt/>`_) and for KDE (PyKDE). If you're
-writing open source software, you don't need to pay for PyQt, but if you want to
-write proprietary applications, you must buy a PyQt license from `Riverbank
-Computing <http://www.riverbankcomputing.co.uk>`_ and a Qt license from
-`Trolltech <http://www.trolltech.com>`_.
+<http://www.riverbankcomputing.co.uk/software/pyqt/>`_) and for KDE (PyKDE). If
+you're writing open source software, you don't need to pay for PyQt, but if you
+want to write proprietary applications, you must buy a PyQt license from
+`Riverbank Computing <http://www.riverbankcomputing.co.uk>`_ and (up to Qt 4.4;
+Qt 4.5 upwards is licensed under the LGPL license) a Qt license from `Trolltech
+<http://www.trolltech.com>`_.
Gtk+
''''
standard library module. (Eventually you'll learn what's in the standard
library and will able to skip this step.)
-Search the `Python Package Index <http://pypi.python.org/pypi>`_.
-
-Next, check the `Vaults of Parnassus <http://www.vex.net/parnassus/>`_, an older
-index of packages.
-
-Finally, try `Google <http://www.google.com>`_ or other Web search engine.
-Searching for "Python" plus a keyword or two for your topic of interest will
-usually find something helpful.
+For third-party packages, search the `Python Package Index
+<http://pypi.python.org/pypi>`_ or try `Google <http://www.google.com>`_ or
+another Web search engine. Searching for "Python" plus a keyword or two for
+your topic of interest will usually find something helpful.
Where is the math.py (socket.py, regex.py, etc.) source file?
How do I create documentation from doc strings?
-----------------------------------------------
-.. XXX mention Sphinx/epydoc
-
The :mod:`pydoc` module can create HTML from the doc strings in your Python
-source code. An alternative is `pythondoc
-<http://starship.python.net/crew/danilo/pythondoc/>`_.
+source code. An alternative for creating API documentation purely from
+docstrings is `epydoc <http://epydoc.sf.net/>`_. `Sphinx
+<http://sphinx.pocoo.org>`_ can also include docstring content.
How do I get a single keypress at a time?
low-level primitives provided by the :mod:`thread` module.
Aahz has a set of slides from his threading tutorial that are helpful; see
-http://starship.python.net/crew/aahz/OSCON2001/.
+http://www.pythoncraft.com/OSCON2001/.
None of my threads seem to run: why?
------------------------------------------------
.. XXX mention multiprocessing
+.. XXX link to dbeazley's talk about GIL?
The Global Interpreter Lock (GIL) is often seen as a hindrance to Python's
deployment on high-end multiprocessor server machines, because a multi-threaded
("ptys") instead of pipes. Or you can use a Python interface to Don Libes'
"expect" library. A Python extension that interfaces to expect is called "expy"
and available from http://expectpy.sourceforge.net. A pure Python solution that
-works like expect is ` pexpect <http://pexpect.sourceforge.net>`_.
+works like expect is `pexpect <http://pypi.python.org/pypi/pexpect/>`_.
How do I access the serial (RS232) port?
PyChecker performs, Pylint offers some additional features such as checking line
length, whether variable names are well-formed according to your coding
standard, whether declared interfaces are fully implemented, and more.
-http://www.logilab.org/projects/pylint/documentation provides a full list of
-Pylint's features.
+http://www.logilab.org/card/pylint_manual provides a full list of Pylint's
+features.
How can I create a stand-alone binary from a Python script?
A = [[None] * w for i in range(h)]
Or, you can use an extension that provides a matrix datatype; `Numeric Python
-<http://www.pfdubois.com/numpy/>`_ is the best known.
+<http://numpy.scipy.org/>`_ is the best known.
How do I apply a method to a sequence of objects?
.py :REG_SZ: c:\<path to python>\python.exe -u %s %s
This line will allow you to call your script with a simple reference like:
-http://yourserver/scripts/yourscript.py provided "scripts" is an "executable"
-directory for your server (which it usually is by default). The "-u" flag
-specifies unbuffered and binary mode for stdin - needed when working with binary
-data.
+``http://yourserver/scripts/yourscript.py`` provided "scripts" is an
+"executable" directory for your server (which it usually is by default). The
+:option:`-u` flag specifies unbuffered and binary mode for stdin - needed when
+working with binary data.
In addition, it is recommended that using ".py" may not be a good idea for the
file extensions when used in this context (you might want to reserve ``*.py``
There is a bug in Win9x that prevents os.popen/win32pipe.popen* from
working. The good news is there is a way to work around this problem. The
Microsoft Knowledge Base article that you need to lookup is: Q150956. You will
-find links to the knowledge base at: http://www.microsoft.com/kb.
+find links to the knowledge base at: http://support.microsoft.com/.
PyRun_SimpleFile() crashes on Windows but not on Unix; why?
we can't fix it).
David A Burton has written a little program to fix this. Go to
-http://www.burtonsys.com/download.html and click on "ctl3dfix.zip".
+http://www.burtonsys.com/downloads.html and click on "ctl3dfix.zip".
from the above output, ``'Ll'`` means 'Letter, lowercase', ``'No'`` means
"Number, other", ``'Mn'`` is "Mark, nonspacing", and ``'So'`` is "Symbol,
other". See
-<http://www.unicode.org/Public/UNIDATA/UCD.html#General_Category_Values> for a
+<http://unicode.org/Public/5.1.0/ucd/UCD.html#General_Category_Values> for a
list of category codes.
References
* lighttpd ships its own `FastCGI module
<http://trac.lighttpd.net/trac/wiki/Docs%3AModFastCGI>`_ as well as an `SCGI
module <http://trac.lighttpd.net/trac/wiki/Docs%3AModSCGI>`_.
-* nginx also supports `FastCGI
- <http://wiki.codemongers.com/NginxSimplePythonFCGI>`_.
+* nginx also supports `FastCGI <http://wiki.nginx.org/NginxSimplePythonFCGI>`_.
Once you have installed and configured the module, you can test it with the
following WSGI-application::
informations on a web server.
Often relational database engines like `MySQL <http://www.mysql.com/>`_ or
-`PostgreSQL <http://http://www.postgresql.org/>`_ are used due to their good
+`PostgreSQL <http://www.postgresql.org/>`_ are used due to their good
performance handling very large databases consisting of up to millions of
entries. These are *queried* using a language called `SQL
<http://en.wikipedia.org/wiki/SQL>`_. Python programmers in general do not like
It has a big, international community which has created many sites using Django.
There are also quite a lot of add-on projects which extend Django's normal
functionality. This is partly due to Django's well written `online
-documentation <http://doc.djangoproject.com/>`_ and the `Django book
+documentation <http://docs.djangoproject.com/>`_ and the `Django book
<http://www.djangobook.com/>`_.
These compilers require some special libraries. This task is more complex than
for Borland's C++, because there is no program to convert the library. First
you have to create a list of symbols which the Python DLL exports. (You can find
-a good program for this task at http://www.emmestech.com/software/cygwin/pexports-0.43/download_pexports.html)
+a good program for this task at
+http://www.emmestech.com/software/pexports-0.43/download_pexports.html).
.. I don't understand what the next line means. --amk
.. (inclusive the references on data structures.)
`nmh - Message Handling System <http://www.nongnu.org/nmh/>`_
Home page of :program:`nmh`, an updated version of the original :program:`mh`.
- `MH & nmh: Email for Users & Programmers <http://www.ics.uci.edu/~mh/book/>`_
+ `MH & nmh: Email for Users & Programmers <http://rand-mh.sourceforge.net/book/>`_
A GPL-licensed book on :program:`mh` and :program:`nmh`, with some information
on the mailbox format.
.. seealso::
- `Directory Table <http://msdn.microsoft.com/library/en-us/msi/setup/directory_table.asp>`_
- `File Table <http://msdn.microsoft.com/library/en-us/msi/setup/file_table.asp>`_
- `Component Table <http://msdn.microsoft.com/library/en-us/msi/setup/component_table.asp>`_
- `FeatureComponents Table <http://msdn.microsoft.com/library/en-us/msi/setup/featurecomponents_table.asp>`_
+ `Directory Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/directory_table.asp>`_
+ `File Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/file_table.asp>`_
+ `Component Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/component_table.asp>`_
+ `FeatureComponents Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/featurecomponents_table.asp>`_
.. _features:
.. seealso::
- `Feature Table <http://msdn.microsoft.com/library/en-us/msi/setup/feature_table.asp>`_
+ `Feature Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/feature_table.asp>`_
.. _msi-gui:
.. seealso::
- `Dialog Table <http://msdn.microsoft.com/library/en-us/msi/setup/dialog_table.asp>`_
- `Control Table <http://msdn.microsoft.com/library/en-us/msi/setup/control_table.asp>`_
- `Control Types <http://msdn.microsoft.com/library/en-us/msi/setup/controls.asp>`_
- `ControlCondition Table <http://msdn.microsoft.com/library/en-us/msi/setup/controlcondition_table.asp>`_
- `ControlEvent Table <http://msdn.microsoft.com/library/en-us/msi/setup/controlevent_table.asp>`_
- `EventMapping Table <http://msdn.microsoft.com/library/en-us/msi/setup/eventmapping_table.asp>`_
- `RadioButton Table <http://msdn.microsoft.com/library/en-us/msi/setup/radiobutton_table.asp>`_
+ `Dialog Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/dialog_table.asp>`_
+ `Control Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/control_table.asp>`_
+ `Control Types <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/controls.asp>`_
+ `ControlCondition Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/controlcondition_table.asp>`_
+ `ControlEvent Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/controlevent_table.asp>`_
+ `EventMapping Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/eventmapping_table.asp>`_
+ `RadioButton Table <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/radiobutton_table.asp>`_
.. _msi-tables:
This module contains definitions for the UIText and ActionText tables, for the
standard installer actions.
-
-
`PythonCAD <http://www.pythoncad.org/>`_. An online `tutorial
<http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available.
- `PyQt <http://www.riverbankcomputing.co.uk/pyqt/index.php>`_
+ `PyQt <http://www.riverbankcomputing.co.uk/software/pyqt/>`_
PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an
extensive C++ GUI application development framework that is
available for Unix, Windows and Mac OS X. :program:`sip` is a tool
`ActivePython <http://www.activestate.com/Products/activepython/>`_
Installer with multi-platform compatibility, documentation, PyWin32
-`Python Enthought Edition <http://code.enthought.com/enthon/>`_
+`Enthought Python Distribution <http://www.enthought.com/products/epd.php>`_
Popular modules (such as PyWin32) with their respective documentation, tool
suite for building extensible python applications
* Win32 API calls
* Registry
* Event log
-* `Microsoft Foundation Classes <http://msdn.microsoft.com/library/
- en-us/vclib/html/_mfc_Class_Library_Reference_Introduction.asp>`_ (MFC)
+* `Microsoft Foundation Classes <http://msdn.microsoft.com/en-us/library/fe1cf721%28VS.80%29.aspx>`_ (MFC)
user interfaces
`PythonWin <http://web.archive.org/web/20060524042422/
MinGW gcc under Windows" or "Installing Python extension with distutils
and without Microsoft Visual C++" by Sébastien Sauvage, 2003
- `MingW -- Python extensions <http://www.mingw.org/MinGWiki/index.php/Python%20extensions>`_
+ `MingW -- Python extensions <http://oldwiki.mingw.org/index.php/Python%20extensions>`_
by Trent Apted et al, 2007
mostly by Trent Mick of ActiveState. (Confusingly, ``sys.platform`` is still
``'win32'`` on Win64 because it seems that for ease of porting, MS Visual C++
treats code as 32 bit on Itanium.) PythonWin also supports Windows CE; see the
-Python CE page at http://starship.python.net/crew/mhammond/ce/ for more
-information.
+Python CE page at http://pythonce.sourceforge.net/ for more information.
Another new platform is Darwin/MacOS X; initial support for it is in Python 2.0.
Dynamic loading works, if you specify "configure --with-dyld --with-suffix=.x".
to include SSL support, which adds an additional function to the :mod:`socket`
module: :func:`socket.ssl(socket, keyfile, certfile)`, which takes a socket
object and returns an SSL socket. The :mod:`httplib` and :mod:`urllib` modules
-were also changed to support "https://" URLs, though no one has implemented FTP
-or SMTP over SSL.
+were also changed to support ``https://`` URLs, though no one has implemented
+FTP or SMTP over SSL.
The :mod:`httplib` module has been rewritten by Greg Stein to support HTTP/1.1.
Backward compatibility with the 1.5 version of :mod:`httplib` is provided,
to the PEP for a particular new feature.
-.. seealso::
+.. seealso (now defunct)
http://www.unixreview.com/documents/s=1356/urm0109h/0109h.htm
"What's So Special About Python 2.2?" is also about the new 2.2 features, and
complicated section of this article, I'll provide an overview of the changes and
offer some comments.
-A long time ago I wrote a Web page (http://www.amk.ca/python/writing/warts.html)
-listing flaws in Python's design. One of the most significant flaws was that
-it's impossible to subclass Python types implemented in C. In particular, it's
-not possible to subclass built-in types, so you can't just subclass, say, lists
-in order to add a single useful method to them. The :mod:`UserList` module
-provides a class that supports all of the methods of lists and that can be
-subclassed further, but there's lots of C code that expects a regular Python
-list and won't accept a :class:`UserList` instance.
+A long time ago I wrote a Web page listing flaws in Python's design. One of the
+most significant flaws was that it's impossible to subclass Python types
+implemented in C. In particular, it's not possible to subclass built-in types,
+so you can't just subclass, say, lists in order to add a single useful method to
+them. The :mod:`UserList` module provides a class that supports all of the
+methods of lists and that can be subclassed further, but there's lots of C code
+that expects a regular Python list and won't accept a :class:`UserList`
+instance.
Python 2.2 fixes this, and in the process adds some exciting new capabilities.
A brief summary:
.. seealso::
- http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/dist/src/Objects/obmalloc.c
- For the full details of the pymalloc implementation, see the comments at the top
- of the file :file:`Objects/obmalloc.c` in the Python source code. The above
- link points to the file within the SourceForge CVS browser.
+ http://svn.python.org/view/python/trunk/Objects/obmalloc.c
+ For the full details of the pymalloc implementation, see the comments at
+ the top of the file :file:`Objects/obmalloc.c` in the Python source code.
+ The above link points to the file within the python.org SVN browser.
.. ======================================================================
Written by Facundo Batista and implemented by Facundo Batista, Eric Price,
Raymond Hettinger, Aahz, and Tim Peters.
- http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html
- A more detailed overview of the IEEE-754 representation.
-
http://www.lahey.com/float.htm
The article uses Fortran code to illustrate many of the problems that floating-
point inaccuracy can cause.
:ctype:`double` to an ASCII string.
The code for these functions came from the GLib library
-(http://developer.gnome.org/arch/gtk/glib.html), whose developers kindly
+(http://library.gnome.org/devel/glib/stable/), whose developers kindly
relicensed the relevant functions and donated them to the Python Software
Foundation. The :mod:`locale` module can now change the numeric locale,
letting extensions such as GTK+ produce the correct results.
The :mod:`bsddb.dbshelve` module now uses the highest pickling protocol
available, instead of restricting itself to protocol 1.
- (Contributed by W. Barnes; :issue:`1551443`.)
+ (Contributed by W. Barnes.)
* The :mod:`cgi` module will now read variables from the query string
of an HTTP POST request. This makes it possible to use form actions
* The BerkeleyDB module now has a C API object, available as
``bsddb.db.api``. This object can be used by other C extensions
that wish to use the :mod:`bsddb` module for their own purposes.
- (Contributed by Duncan Grisby; :issue:`1551895`.)
+ (Contributed by Duncan Grisby.)
* The new buffer interface, previously described in
`the PEP 3118 section <#pep-3118-revised-buffer-protocol>`__,