March 2020 update: The Canopy scientific Python editor is at end-of-life. If you’re searching for a good Python IDE, see here. I’m leaving this post here for archival reasons since there’s very little other info on this product available online.
In my last post on IDEs for scientific Python, I couldn’t install, and therefore couldn’t properly review Canopy, a commercial IDE developed by Enthought, who sponsor SciPy. I had a chance to install it on Windows and try it.
Canopy’s main screen shows three options: Editor, Package Manager and documentation browser. The package manager offers a graphical interface to perform much the same tasks as easy_install and pip. The documentation browser offers shortcuts for the online docs for Scipy, matplotlib, and more; it would be preferable, IMHO, if the installation included offline copies of this documentation.
The main editor interface is uncluttered and fairly basic. ipython is used as the interpreter, and interestingly, the interface offers an option for including matplotlib graphics inline via SVG rather than in separate windows. Canopy’s editor is fairly smart, offering autocompletion and basic introspection, on par with that of Spyder but not as advanced as that in PyDev. docstrings pop up in a tooltip on hitting the Tab key after an opening parenthesis. The editor supports running both a complete file and a selection via run tools.
And – that’s pretty much it. There’s no function browser, project manager or graphical debugger – although post-hoc debugging is supported in the ipython console via the debug command. Although I appreciate that the interface is solid and uncluttered – this was the main positive I mentioned when discussing IEP – I was expecting more from a commercial product, especially one that costs 199$ for the 64-bit Windows version. Although free versions are available for 32-bit platforms and academic users, support is limited, AFAIK, to StackOverflow.
This is a new product, and it seems that Enthought wants to push in the direction of making scientific Python more accessible for novices by removing the main barriers to entry – the next version promises to have integrated e-learning tutorials in the interface. This is a noble goal, although I can see other, perhaps more productive ways to accomplish the same goal, for instance:
- Interactive notebooks on specific themes, running in ipython Notebook, similar to Maple’s tutorials
- Graphical access to plotting commands and common analysis commands, as in Matlab and RKWard
- A Matlab-to-Python table of equivalence integrated in the documentation
- Wizards for common tasks (for instance, a data import tool)
- Written introduction to Python with emphasis on science in the documentation, like here.
I like the editor, and in terms of bare-bones, smooth editors it’s a little better than IEP. In terms of features, however, Spyder is better. It’s a good option if you can get it for free (academic or 32-bit versions).
- Editor: 3.5/5
- Interpretor integration: 4/5
- Plotting: 4/5
- Debugging: 2/5
- Smooth: 4/5
Overall score: 3.5 if you can get it for free, 2.5 otherwise.