Meanwhile, Microsoft's suggested solution is that you not check for version numbers at runtime, but instead check for features. And there are good reasons for that--for example, XPSP3 N has exactly the same version numbers as XPSP3 normal, but if you try to use the new Windows Media APIs, you'll crash.

Mmm. What's weird is that if you use MSDN as a reference every Windows API has a "minimum supported client" section near the bottom of the page.
See for example:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms684874(v=vs.85).aspx
To me that suggests that (most of the times at least) you are encouraged to use the windows version to decide whether to support a feature or not.


--- Giampaolo
https://code.google.com/p/psutil/
https://code.google.com/p/pyftpdlib/
https://code.google.com/p/pysendfile/