Published using Google Docs
Improving the Spyder IDE installation and usage experience
Updated automatically every 5 minutes

Improving the Spyder IDE installation and usage experience

Summary:

Improve the installation experience for the Spyder IDE Windows users, by enabling the current standalone installers available to be auto-updatable and providing a way to install custom packages that are not bundled with the installers in a simpler way.

Requisites:

Description:

The current standalone Spyder installers available for Windows and MacOS provide an easy way to install Spyder with a base subset of the PyData stack (Cython, Numpy, Matplotlib, Pandas, Scipy and Sympy packages). These installers were developed during most of 2020 as a response to the serious difficulties we observed our users had when updating from Spyder 3 to 4, and have been provided since our 4.2.0 version, released in November of that year. Our Windows installer, in particular, has been very well received by our community because for the last bug fix releases of each minor version in the Spyder 5 cycle (i.e. 5.0.5, 5.1.5, and 5.2.2), it has had, on average, more than 80.000 monthly downloads [1]. That is a little bit more than the amount of downloads registered on PyPI (more than 70.000 [2]) and less than with conda’s defaults and conda-forge channels (more than 97.000 [3]). However, those numbers include all operating systems, so we can confidently say that our Windows installer has become the most popular installation method in a bit more than a year. This goes very well with our medium-term goal for this project, which is to encourage more and more users to switch to it since it is self-contained and much harder to break than an installation with package managers such as pip or conda.

Nevertheless, due to the way the installer is designed, it doesn’t support a simple and straightforward mechanism to update it. Instead, users need to first uninstall the previous version because not doing it could end up in errors when trying to install a new one. Furthermore, the way the Windows installer handles custom packages is prone to error and a fragile process, because users need to create an external Python environment and install the packages they want in it, which also needs to have the specific version of Spyder-kernels supported by the Spyder version they installed. For more information regarding this process, please go to https://docs.spyder-ide.org/current/faq.html#using-packages-installer. There you’ll see the video we created to help users with this, which already has around 28.000 views and 1000 new views per week. That clearly shows that there is a strong need in our community to understand how to do that for their own work. Unfortunately, the process involves a complex series of commands in the terminal, so it is quite possible that many users do not manage to successfully complete it.

With all this in mind, it is clear that improving the way Spyder’s standalone installer is updated and manages custom packages could greatly impact users’ experience and help decrease the entry and steep learning curve for people just starting their journey to use the PyData stack and the Spyder IDE. This will also make those tasks easier for already Spyder users as well. Moreover, by implementing these improvements, we hope to decrease issues related to installation problems and then have more time to focus on creating a more stable and robust IDE, and developing new and more interesting features.

With this proposal we aim to fund one developer that will be supervised and working with one of our core developers (Daniel Allthviz-Moré), for 6 months full-time in order to give our Windows installer a much needed push forward.

Notes:

[1] Spyder installers downloads stats from Github releases: https://tooomm.github.io/github-release-stats/?username=spyder-ide&repository=spyder 

[2] Spyder download stats from PyPI: https://pepy.tech/project/spyder?versions=5.2.2&versions=5.1.5&versions=5.0.5 

[3] Spyder download stats with conda: https://gist.github.com/dalthviz/a664ff9b76ed7f1aa13cfa60f7be85b6

Benefit to Project/Community:

The implementation of this project will have a positive impact because the Spyder community will gain access to the following features:

  1. A much easier way for users to keep Spyder up to date on Windows without the fear that doing it will cause major issues or breakage. By providing a totally automatic and hassle-free update process to our installer, users won’t have to interrupt their work and start a days long search around the web for a solution or help. Unfortunately, that is what usually happens for newbies at the moment with Anaconda or pip.
  2. A simple, graphical way to create an external, custom Python environment, install and manage any package requested by users and the right version of Spyder-kernels on it, and connect it automatically to the Spyder’s Windows installer. This will reduce the need for advanced knowledge about environments or extra installations done manually (e.g. Anaconda or Miniconda to be able to connect to the base environment or create a new one with conda afterwards).

A major benefit to the Spyder project itself will be that a new developer could work on it full-time for 6 months. This funding would give us the opportunity to train them and would give the new developer an opportunity to build up the necessary experience to start a career in open source and work with the project in the future.

References:

Budget:

$7800 for six months therefore $1300 per month to contract one person full time (40 hours per week)

Timeline of Deliverables:

Project Team:

Daniel Althviz Moré (Spyder core developer, main reviewer)

Spyder volunteer contributors interested in the project

Steps to Apply (Closing date May 22nd 2022):

Applications are now closed but if you are willing to help the Spyder project or you are interested in knowing more about the project here some links that could be useful: