The question pertains to starting new projects using Python. Furthermore, I am referring to developing for the final releases of Python 2.6 and 3.0 (as oppose to Betas and RCs) which I imagine will be out in a few months.
The current recommended approach is to target 2.x (or 2.6 for the adventurous) and then use the 2to3 tool to convert to Python3000. 2.x has a huge installed base and developing just for Python 3 is a good way to get your application or library unused.
I'd say it depends on what project you're working on. Is this a personal project or something for work? If it's something for work, use 2.5 as it's the current official release. If you're starting a small personal project and your intentions are to play around with new 3.0 features, or if a feature new to 3.0 is absolutely necessary for your project to exist, then I'd say jump on the 3.0 wagon. Otherwise, there's no reason to deviate from the official releases.
I'm working in 2.5 on all of my projects, both personal and for work.
Python 2.6 is the recommended version for development. Most of the features of 3.0 are available in 2.6 (see What's New in Python 2.6) and 2.6 provides a -3 command-line switch that will point out any incompatibilities between your 2.x code and 3.0.
Python 3.0 adds several new built-in functions and changes the semantics of some existing built-ins. Functions that are new in 3.0 such as bin() have simply been added to Python 2.6, but existing built-ins haven’t been changed; instead, the future_builtins module has versions with the new 3.0 semantics.
2.6 is the more mature codebase and provides you with greater access to 3rd party libraries. I expect things will eventually migrate over to the 3.x line but until then, sticking with 2.6 is your safest bet.
If third party library compatibility is important, stick with 2.5.
If it's a green-field project, starting entirely from scratch, that doesn't have any dependency on third-party packages, then you should go with Python 3. Some of the changes are very nice; it's clearly an evolutionary change for the better.
However, if you have an existing Python codebase and/or need to use packages that may be slow in porting to Python 3, then start with Python 2.5 (or Python 2.6 when it's final; RC1 just dropped, and RC2 is expected next week).
(I happen to work with one of the Python core devs, and have discussed this with him a few times. Those guys expect the take-up of Python 3 to be slow, as people slowly move their apps across to the new stuff.)
From one side, 2.5 will be still mantained, so you can continue using it. But from other side - all interesting staff will be implemented in 3.0 :-) So it's worth thinking about migration.
You have to ask yourself whether you need the features of 2.6/2.5; the more recent version you use, the more you decrease your user-base. It may not matter depending on your project. If you intent to distribute your project in the wild, particularly on platforms like mac/linux, I would recommend against using python 2.6 (certainly not 3.0, except if you really, really need some of its feature, but it will take years before all the interesting 3rd party packages update to 3.0), or even python 2.5.
Many linux distributions which matter still ship with 2.4 by default (RHEL, for once), as well as mac os X Tiger. On windows, since you will have to install python anyway, it is less of a problem. If you look at some big python projects, 2.4 or 2.3 is the minimal version.
I will just second what Jason Etheridge said. One additional point speaking in favor of using Python 3.0 for new projects without external dependencies and where you control the deployment is that it will ease the porting burden later on. While Python 2.6 offers a good migration path towards 3.0, some kind of manual porting will be needed. And eventually you will want to migrate to 3.0.
Guido has a slide deck which breaks down the 3k transition nicely: http://www.python.org/doc/essays/ppt/pycon2008/Py3kAndYou.pdf
I write Python code for the platform I'm working on. Currently, that is RHEL 5.2 which features Python 2.4.3 in the stock installation. When our applications are deployed, we do not want to depend on an unofficial Python release.
For a new project, I would probably recommend 2.4 or 2.5 simply because it will allow the most cross-compatibility with various platforms.