Tag Archives: Enthought Canopy

Avoiding “Excel Hell!” using a Python-based Toolchain

Update (Feb 6, 2014):  Enthought is now the exclusive distributor of PyXLL, a solution that helps users avoid “Excel Hell” by making it easy to develop add-ins for Excel in Python. Learn more here.

Didrik Pinte gave an informative, provocatively-titled presentation at the second, in-person New York Quantitative Python User’s Group (NY QPUG) meeting earlier this month.

There are a lot of examples in the press of Excel workflow mess-ups and spreadsheet errors contributing to some eye-popping mishaps in the finance world (e.g. JP Morgan’s spreadsheet issues may have led to the 2012 massive loss at “the London Whale”). Most of these can be traced to similar fundamental issues:

  • Data referencing/traceability

  • Numerical errors

  • Error-prone manual operations (cut & paste, …)

  • Tracing IO’s in libraries/API’s

  • Missing version control

  • Toolchain that doesn’t meet the needs of researchers, analysts, IT, etc.

Python, the coding language and its tool ecosystem, can provide a nice solution to these challenges, and many organizations are already turning to Python-based workflows in response. And with integration tools like PyXLL (to execute Python functions within Excel) and others, organizations can adopt Python-based workflows incrementally and start improving their current “Excel Hell” situation quickly.

For the details check out the video of Didrik’s NY QPUG presentation.  He demonstrates a an example solution using PyXLL and Enthought Canopy.

[vimeo 67327735 http://vimeo.com/67327735]

And grab the PDF of his slides here.

QPUG_20130514_ExcelHell_Slides

It would be great to hear your stories about “Excel Hell”. Let us know below.

–Brett Murphy

Introducing Enthought Canopy

-Eric Jones, Enthought CEO

Yesterday we launched Enthought Canopy, our next-generation, Python-based analysis environment and our follow-on to EPD.

Since 2003, the Enthought Python Distribution (EPD) has helped hundreds of thousands of scientists, engineers and analysts develop and deploy with Python. 2013 is its 10th anniversary! It’s hard to believe it’s been that long. Time flies when you are having fun.

Over the years, we’ve watched customers use Python for a variety of scientific and analytic computing applications. Their tasks fell into three areas: exploration, development, and visualization. We developed Canopy to specifically help with these 3 key analysis tasks.

Exploration:

Python makes it straightforward to acquire and manage data from a variety of sources like the web, databases and files on the computer. Using Canopy’s IPython interactive prompt, you can interactively access, combine and explore data from all these sources. With the IPython Notebook, you can capture your sessions, re-use them later or share them with others.

Development:

Analysts develop algorithms and scripts to work with their data and to deliver results. Canopy’s editor includes syntax highlighting to help identify elements in the Python code, auto completion to speed programming, and error checking to reduce time spent hunting bugs. You can execute entire scripts or selected lines from the editor at the IPython prompt to test and debug your code.

Python’s scientific and analytic computing ecosystem is quite large, with hundreds, if not thousands, of packages. Canopy itself ships with over 100 math, science, and analytic packages. And the ecosystem continues to grow and evolve. The Canopy Package Manager makes it simple to find, install and update these Python packages.

Visualization:

Beyond the numbers and the scripts, one of the best ways to understand and explain data is with visualization. Python provides many tools and packages to help visualize data and results. Within Canopy, Matplotlib works seamlessly with IPython and provides an extensive toolset for data plotting and presentation.

For more extensive graphical user interfaces, Canopy includes 2-D and 3-D visualization packages like Chaco and Mayavi.

We’re really excited about Canopy’s design. It brings together the full extent and power of Python in an easy-to-use analysis environment today and provides an analysis platform on which to build for the next 10 years. For more details, check the Canopy web-page.