Is there really that much need to support 3.0? I write stuff all the time that requires 2.6, 2.7, or 3.2 or later, and I've had many people asking for 2.5, but not a single request for 3.1 or 3.0. Is that not typical?


Ubuntu LTS. Also when CentOS/RedHat start using Py3k, they will probably choose the oldest possible release like they always do with everything...
Now, if you had a partial version of "yield from" syntax on 3.1 that could solve 50% of the problems of the current syntax, it would be used a lot by now.

But there wasn't a working version, partial or otherwise, to add at the time.

 
Because the PEP hasn't been accepted at the time and there was no way to add experimental stuff to the language.
 
And even if the usual rule of "no backports to bug fix releases" we're suspended, do you really have users who would gladly upgrade to a later 3.1, but can't upgrade to a later 3.x? In my experience, people who stick with an old version are doing it because "that's the version that comes with CentOS x.y" or similar. Are there any important OS/distro extended service releases that come with 3.1?

Meanwhile, if you need a workaround, it's not that hard. I've got code that does this today: I have my nifty 3.3 module, and the fallback is in a separate module, so I can "import foo33 as foo" or "import foo26 as foo" as appropriate.

If I wanted to write a lot of boring duplicated code, I ought to use Java instead. If I can't write it in a single code base (either using "2to3" or "six" or similar) I don't write it.