Tim Peters and I have recently been beating our heads over what the right approach to deal with scripts in cross-platform software. It's not clear that we've reached any conclusions at all, but I think this is an interesting issue for the Distutils SIG, since distutils is involved in installing scripts. The issue is that the expectations of end-users on Unix and Windows differ substantially. Unix users generally expect that scripts will not have extensions and don't need to have a specific interpreter named on the command line (since that's what sh-bang lines are for). Windows users really expect an icon to click on, and are massively confused by extension-less files. Windows encourages this confusion. Adding a .py extension to Python scripts on Windows allows the user to at least not have to add the path to the Python interpreter on the command line if they want to run the script using the default Python installation (meaning "the one registered to handle the .py extension"). This can be handled by passing a different value to the current script= keyword argument to distutils.core.setup() based on os.name, and having versions of scripts for Windows and Unix. This seems tedious at best, but works, and allows flexibility in implementing the scripts differently for the two platforms. I'm interested in hearing about how others are handling this issue for software that's intended to work on both Unix and Windows. Is there a better approach? I'd love to find a better way to support end-user expectations across platforms, especially if it could involve less magic in the setup.py script. -Fred -- Fred L. Drake, Jr. <fdrake at acm.org> PythonLabs at Zope Corporation