This week we’re doing something a little different. Instead of just one developer, I am interviewing the main developers behind xlwings: Felix Zumstein & Eric Reynolds. Let’s spend some time getting to know our fellow Pythonistas!
Can you tell us a little about yourself (hobbies, education, etc):
Felix: I am the founder of Zoomer Analytics, a consulting company for the development of bespoke analytical software systems. I don’t have a formal computer science background but got into application development through my previous job in a financial modeling team. My first steps were in VBA before I got pulled into Matlab which was the primary modeling language used in my team.
Eric: I am a partner at Zoomer Analytics, having joined Felix after we found we had a common vision of open-source tools that enable you to leverage the power of Python within a business context dominated by Excel. My education was in mathematics and computer science and have spent most of my professional life in a trading floor environment in quant and trading roles. Programming has always been a hobby for me since I was a kid.
Why did you start using Python?
Felix: I got frustrated by Matlab’s awkwardness regarding deployment, license management and integration into other systems. Besides being expensive, Matlab is usually treated as black box when it is integrated in bigger systems like web applications. I was looking for an open-source alternative that was a general purpose language with scientific packages rather than a domain specific language and found Python to be the best match.
Eric: I got infected by Python by a co-worker was using it (and have since passed on the disease). Python is pretty much unique in belonging to the intersection between being easy for beginners, logically structured, non-domain specific and supported by a vast selection of libraries. Most languages only tick one or two of those boxes. In practice I ended up using Python more and more because it was just so easy to get practical tasks done quickly with a Python script, without having to compromise on funny language quirks (VBA comes to mind) or being tied to some specific vendor (like with Matlab).
What other programming languages do you know and which is your favorite?
Felix: Besides VBA and Matlab, I am currently learning JavaScript.
Eric: VBA, JavaScript, C++ and, my favourite by far, C#.
What projects are you working on now?
Our main client project is a web based trading platform with real time and collaborative features that works on top of Interactive Brokers to get market data and execute trades.
Our main free & open-source project is xlwings, which offers a powerful alternative to program Excel with Python instead of VBA. Unlike our commercial competitors, we offer both easy automation and array-based user defined functions (UDFs) from a single Python package. Additionally, xlwings is also fully cross-platform (Windows, Mac) with the exception of UDFs (currently only supported on Windows).
Which Python libraries are your favorite (core or 3rd party)?
Felix: I like pandas and reportlab a lot, as they integrate nicely with xlwings.
Eric: SQLAlchemy is an example of how to do an excellent job of writing a library.
Where do you see Python going as a programming language?
Felix: I love Python as a server-side web technology and as a language for data science and these areas are also where I see the biggest growth in the future.
Eric: I think the biggest threat to Python is JavaScript. Python still has a significant edge in terms of language quality and available libraries (especially for scientific computing) but the gap is closing on both fronts and JavaScript has one killer feature, which is that it runs in the browser. It would be very nice to see steps taken towards being able to use Python as a client-side language.
What was the motivation to create xlwings?
Felix: My first client for whom I built a portfolio optimization tool wanted to access the Python scripts from Excel. At the time, there were only commercial libraries available for what I wanted. Trying to convince people away from Matlab to use Python feels wrong if they are back at license/deployment hell just for the simple task of accessing Python through Excel as a user interface.
Eric: My contribution to xlwings is the ExcelPython project, which has now been merged in. My original motivation was for personal use. Being surrounded by Excel spreadsheets at work, the only practical way to automate some boring tasks was with VBA, which is an eccentric language. At some point I looked into replacing it with Python, but none of the available libraries convinced me – partly because they weren’t open-source. Then making it available as an open source library was a natural consequence, and that led to getting in touch with Felix and ultimately joining forces.
Thanks so much!
Nice one Felix & Eric. Looking forward to many more xlwings releases to come. I have to admit that I was a bit sceptical in the beginning but I think you guys have been doing a great job. I recently introduced xlwings to a client who were doing a lot of explorative work using IPython notebook, Pandas and Excel. xlwings made their life a lot easier.
I am a big fan of xlwings (and excelpython before the merge). As a structural engineer it is very common for design/analysis tools to be made with excel. I am so glad I can now develop python backends for our excel tools. So glad to see these two projects join forces.