Maintenance and Administration

This document is incomplete; we're updating it as questions come up. If you have questions, try the webmaster alias first, then pydotorg if you don't get a response.

Getting started

The web site uses SVN for revision control. The repository has the hostname If accepted as a site maintainer, use these instructions for checking out a working copy of the site:

Use SVN to check out a working copy of the site and supporting packages (HT2HTML and docutils):

$ svn co
<accept the SSL certificate for>
<enter SVN username>
<enter SVN password>

Updating Web Content

The basic steps for updating a web page:

  • svn update to make sure you have the current versions.
  • Edit the .ht version of the HTML file you want to update
  • Run make to generate the HTML
  • View the HTML in a web browser to make sure it's correct
  • svn commit

Subversion's post-commit hook feature is used to update the live site when you commit a file ending in '.ht'. The modified file is checked out on the live server and make is executed in the file's directory. (Some other extensions are automatically updated; currently the list is '.ht', '.h', '.asc', '.rst', '.html', and '.txt'.)

If you edit the Makefile or the HTML generation scripts, you'll have to perform the update manually; the post-commit hook ignores such changes as a security measure. You'll need to have SSH access to the machine to do this; if you only have SVN access, you'll have to ask someone with SSH access to update the server.

Assuming you have SSH access, here's how to perform a manual installation:

  • make install to upload the file to the web server. Note that if you update files in several directories, you'll need to run make install in each directory individually.

When you create a directory, you need to create a Makefile in the new directory. The Makefile should look like:

ROOT_DIR=<relative path to web root>
ROOT_OFFSET=<relative path to current directory from root>

include $(ROOT_DIR)/scripts/make.rules

$(TARGETS): links.h

For an example, take a look at dev/pydotorg/Makefile. The Makefile also needs to be checked in. Note that ROOT_DIR and ROOT_OFFSET should be the only definitions placed before the include statement; all other definitions, dependencies, and command lists should come after.

Note: If you add files, make sure that they have read permissions for both group and world. If you add directories, make sure they have write permissions for group. (Not sure how this works on Windows --Aahz)

Note: Be careful about updating the mirror list; that uses a slightly different procedure. Read the HTML comment at the top of

There is also a Translators' Guide to

Site map

To cause the site map to ignore a directory, add a .sitemap-ignore file.

Files generated from .ht files can be omitted from the sitemap by including the following header:

Sitemap-Ignore: yes

Content Style

(General information about writing content should go here.)

When editing content maintained as HTML in .ht files, sample code should be presented using a <pre> element. Sample code content should be indented as it would be in a Python source file, and example interactive sessions should be presented with the prompts on the left margin. In no case should additional indentation be added to "push" the example code to the right; that will be handled using style sheets.

Such content maintained as reStructuredText must be indented to conform to reStructuredText rules, but the formatting tools for reStructuredText already do the right thing in this case.

Mailing Lists

There are three mailing lists for maintainers; many maintainers but not all are on all the lists, but not everyone is on both lists. All lists are run from the domain.

webmaster (Autoreply text)
Mail that's sent to the webmaster goes to this list. There is an auto-responder that returns a general reply, answering a number of the most common questions and providing information about other sources of help. If you think the auto-response mail includes the answer to a question sent to webmaster, the question does not need to be answered by a human.

If a response is appropriate, please Cc: the webmaster address so others can see that the question has been answered. Note that taking action (such as updating the web site) always makes a response appropriate; people deserve to know that their e-mail was welcome and helpful.

If you're responding to webmaster mail, you may want to set either From: or Reply-To: to webmaster at python dot org; that will keep mail from cluttering your personal box.

If you want to volunteer to help out responding to webmaster email, send a note to webmaster at python dot org asking to be added.

This is an internal discussion list used for discussion among the maintainers. If you have access to actually modify the site, you must be on this list.
This internal list receives reports of all changes to the SVN repositories.

The following additional addresses are used in collecting information in the process of maintaining; these also are hosted in the domain.

jobs (Autoreply text)
Notices of job openings, posted on the Python Job Board page, are sent to this address. When updating the job board, send a response to the submitter acknowledging that the event is listed, and Cc: the events address so other maintainers will know that it has been handled already.
docs (Autoreply text)
Comments, questions, and complaints about any and all Python documentation (and lots of other stuff!) end up at this address eventually. This is for both the standard documentation bundled with Python and the Python Documentation section on Mail sent to this address is forwarded directly to Fred Drake.
Use this address for reporting spam that makes it through the spam filters on It's best if you attach the faulty message rather than forwarding it.
Use this address for reporting viruses that make it through the spam filters on It's best if you attach the faulty message rather than forwarding it.


Occasionally volunteers will use IRC to communicate: the server used is, on the #pydotorg channel.


There are several machines which support the operation of, all of which are currently hosted by XS4ALL. The primary machine is (also known as ""). This machine hosts the static content of the site and some light CGI scripts (the FAQ Wizard, in particular).

Machine Functions
creosote FTP server.
ximinez Wiki, PostgreSQL, pypi
dinsdale Main www, SVN,
bag Mail

The following people are available for emergency root access to machines. Contact should be attempted through the pydotorg list first.

Person Timezone
Barry Warsaw US/Eastern
Andrew Kuchling US/Eastern
Sean Reifschneider US/Pacific
Thomas Wouters Western Europe
Anthony Baxter Australia

Mail processing occurs on Barry Warsaw maintains the Mailman installation on that machine.

Old SourceForge Site

The site is no longer being actively maintained; its purpose is now largely filled by the Developers section on the main site. The only content still being provided from that server is the collection of CVS snapshots.