For our March “Staff Pick” Project of the Month, we selected WinPython, an open-source portable distribution of the Python programming language for Windows XP/7/8. Pierre Raybaut, creator and developer of WinPython, and his current maintainer Big Stone shared their thoughts about the project’s history, purpose, and direction.
SourceForge (SF): What made you start this project?
Pierre Raybaut (PR): In 2008, I was getting tired of working around MATLAB limitations and looking for an alternative to this language/IDE for signal and image processing software development. Apart from the required scientific features that almost all candidates had (MATLAB, IDL, Python, Ruby, F#), it had to be a modern fundamentally-object-oriented high-level language (exit MATLAB, IDL), with advanced GUI features (exit MATLAB, IDL) and a strong scientific community (exit Ruby, F#). Python was the best choice. And, for various reasons, I had to develop applications on Windows. So, I was rapidly confronted with the distribution issue: how to install all Python material necessary to develop my scientific applications? That’s why I’ve created the Python(x,y) project (https://sourceforge.net/projects/python-xy/): a single Windows executable for installing an all-in-one Python-based scientific development environment (Python official distribution plus tons of third-party libraries, the Spyder IDE, compilers like MinGW, and so on). But Python(x,y) was quite invasive in the Windows OS (registry entries, start menu entries, …) and like the official Python distribution, it did not allow to install more than one Python distribution (let’s say Python 2.7 and Python 3.4 for example) without messing with the environment variables. So, in 2012, I’ve decided to act by creating WinPython: a portable distribution of Python, allowing to install a complete functional scientific Python environment without modifying any Windows system setting (registry entries, environment variables, file type associations and start menu shortcuts are not affected ; unless you want to: there is an option for that, allowing to switch easily from a WinPython folder to another) to install multiple Python versions without any interference whatsoever or to run Python from a removable device.
SF: Has the original vision been achieved?
PR: Absolutely. Of course, the distribution process has been improved since 2012 and other interesting features have been added since then but the original vision has been achieved almost since the first release.
SF: Who can benefit the most from your project?
PR: Scientific Python users working on Windows looking for a complete developement environment that can be executed from anywhere with any requirement.
SF: What core need does WinPython fulfill?
PR: Providing a full-featured scientific Python distribution packaged in an all-in-one installer. Installing Python everywhere with or without administrative privileges. Allowing multiple Python installations on a Windows single machine without any interference.
SF: What’s the best way to get the most out of using WinPython?
Big Stone (BS): When you see an error or a missing feature, contribute ‘ideas’/’error report with sample tests’/’patches and pull request’ to the relevant project.
SF: What has your project team done to help build and nurture your community?
BS:WinPython is trying to grow the number of Python-stack satisfied users:
– on Windows also, where most beginners are, by making installation easy,
– on standards (Python 3, pip), where most beginners should be headed to.
It’s about what Jessica Mc Kellar is describing here : https://youtu.be/fhv-4QLGsso?t=1207
SF: Have you all found that more frequent releases helps build up your community of users?
BS: Each project has a pertinent pace of releases, and that seems between 6 and 12 weeks for WinPython.
SF: What was the first big thing that happened for your project?
BS: It survived a bus factor of 1 (https://en.wikipedia.org/wiki/Bus_factor), and remembers it.
SF: What helped make that happen?
BS: Pierre did create a good enough documentation to allow a User to step-in.
At least one user had no better choice than to step in, because of strong investment in WinPython Deployment.
As result, the current maintainer:
– ensures users can even more easily replicate/fork the project, by improving the build documentation and simplifying WinPython
– tries to improve “Python 3 stack on Windows” as a whole, so the specific cost to achieve “WinPython” experience is going down to “feather price”
SF: How has SourceForge and its tools helped your project reach that success?
BS: Sourceforge is well-suited to WinPython because of the following:
– its capacity to propose and distribute quickly the big WinPython distributions,
– its popularty (downloads) follow-up,
– its asked price (free), for this not-easily-sustainable kind of service.
Thank you, Sourceforge.
(You’re very welcome. 🙂 )
SF: What is the next big thing for WinPython?
BS: A “Feature-complete” WinPython 3.5.
SF: How long do you think that will take?
BS: Between 2 and 6 months, but that’s just a guess.
SF: Do you have the resources you need to make that happen?
BS: NumFocus provides the support to mingwpy “corner-stone” project that is needed for that.
SF: If you had it to do over again, what would you do differently for WinPython?
BS: Dropping dying technologies sooner rather than later.
Users don’t move away from dying technologies until you stop maintaining them.
SF: Is there anything else we should know?
BS: Dream:
– Python 3+ is the preferred user-script system on all Windows,
– Python 3+ “full stack” for non-admin users is on all Windows,
– Winpython is just a “check list of features” over that, if ever it is still needed.