STX Next, one of Europe's largest Python development companies, has shared with us how Spyder has been a powerful tool for them when performing data analysis. It is a pleasure for us on the Spyder team to work every day to improve the workflow of developers, scientists, engineers and data analysts. We are very glad to receive and share a STX Next testimonial about Spyder, along with an interview with one of their developers, Michael Wiśniewski, who has found Spyder very useful in his job.
In an era of a continuously growing demand for analysis of vast amounts of data, we are facing increasingly complex tasks to perform. Sure, we are not alone—there are many great tools designed for scientists and data analysts. We have NumPy, SciPy, Matplotlib, Pandas, and others. But, wouldn't it be nice to have one extra tool that could combine all the required packages into one compact working environment? Asking this question is precisely how my journey with Spyder began.
In my opinion, Spyder is the go-to-solution that helps to speed up the data analysis processes. For me, the biggest strength of this IDE is that it has all the benefits of Matlab/RStudio and makes them available to the Pythonista community. It provides us with an easy-to-organize workspace that accommodates code, visualizations and shell in just one window. Besides, the pane called variable explorer allows direct access to all data placed in the memory.
Another cool feature is the tool’s integration with Jupyter notebooks. Just open and browse different notebooks without thinking about server-side and file paths. Want to run a single line of code or quickly check a chart update? IPython is on board and ready by default.
I discovered Spyder around a year ago, at the time it was transitioning from version 3 to the current one.
In my department, three of my colleagues use Spyder on a daily basis. Some of them use it for commercial projects, while others use it for personal research. The number is growing, since most people try Spyder out after their first contact with it.
I’ve found applications for Spyder in many different areas. One time, I used it for a project that relied on machine learning algorithms to assess risk based on documents provided by a user. Since Spyder aggregates out-of-the-box the most popular scientific Python packages, it was used during the whole development process, from data pre-processing and visualization to assessment of the final solution.
Another time, Spyder proved to be very helpful in a project involving the analysis of ancient religious texts. The task was to create a script that would check file integrity and the correctness of the texts themselves. Because of the large size of the data sets, the script had to be efficient and able to handle a lot of edge cases. A built-in ipdb debugger and script profiler (together with the Spyder-memory-profiler plugin) was very helpful in achieving this goal.
To me, this IDE is also a great tool for conducting workshops. The ability to discuss algorithms while visualizing their results in a separate plot panel, without the need to switch windows, greatly facilitates presentations.
One of my personal favorites is the Variable Explorer and its integration withJupyter notebooks through the Spyder-notebook plugin. I also greatly appreciate the way that plugin automatically handles Jupyter server management.
Integration with Kite is also a great feature that makes it easier to use dozens of packages without the need to memorize all their methods and dependencies.
I also highly enjoy the ability to manage Spyder’s window layouts, especially when using large/many displays.
The possibility to work on code, track its performance, debug it, and analyze visualized data at the same time is invaluable. It saves time and helps me to stay focused longer.
The great thing about Spyder is that it allows you to compare several solutions side by side. We can easily test several sets of given parameter values and examine how that affects a given function by observing charts.
Interactive window tools often simplify and speed up code analysis. For example, checking class inheritance via the new object explorer is clearer and immediately gives more information than when doing it through the editor.
Possibly further integration with Git services would be a good idea. Personally, I like to use Git directly from the Spyder-terminal plugin together with the Gitk repository browser. However, many users prefer to have some features like comparing file versions, conflict solving, and auto update changes to the repository built into the IDE.
We would like to thank Michael Wiśniewski, Milosz Galganek and all the STX Next team for sharing their experiences with Spyder. It is very important for us to provide a scientific tool that can make a positive impact on the amazing work our users are doing, and Michael's testimony gives us great insight on how Spyder is making a difference in the real world and how to make it better for the future.
If you have your own stories about how Spyder is helping you with a cool programming project, conduct critical scientific research, or use data to improve your community, we'd love to feature it here! Feel free to reach out to us on Github, Gitter, Twitter, Facebook or our other platforms linked below if you're interested. We're looking forward to hearing about what Spyder means to you! Happy Spydering!