About Us

PyXLL was founded by Tony Roberts in 2010 after years of working with Python and Excel in the finance industry. Frustrated with the lack of decent tools to bridge the Python and Excel, Tony imagined a way for the two to work together seamlessly.
Tony Roberts, founder of PyXLL

I remember the first application I developed for a front office team at the hedge fund I was working at. I was really pleased with how it worked and I'd built out a friendly user interface for the traders to use. When I demoed it the first question from one of the traders was "How do I export that to Excel?".

Wherever I went Excel was there! It became clear to me that tools delivered in Excel were far more valuable than desktop applications or web apps.

Tony Roberts, Founder of PyXLL Ltd

PyXLL is the de-facto standard Excel add-in for Python. Used by thousands of users across all industries, PyXLL is the professional choice for writing Excel add-ins in Python.

Our Customers

PyXLL is used by the top banks, hedge funds, universities, scientific and engineering firms world wide. We've helped hundreds of companies to integrate Python and Excel.
PyXLL Customers

Constantly Innovating

We're in it for the long term. PyXLL is constantly being improved and new features are being added regularly. We also recognize the importance of stability and backwards compatibility, particularly in enterprise environments. We maintain support for older versions of Excel and Python while continuing to push forwards at the same time.
Below we've put together a few highlights from over the years. You can also view our complete changelog here. That lists every single PyXLL release, and we're not done yet!
  1. The first PyXLL release!

    May, 2010

    2010 saw the first release of PyXLL. While this first release lacked a lot of today's features of PyXLL, it had support for user defined functions and macros and was available for all Python and Excel versions commonly used at the time.

  2. Python 2.7

    July, 2017

    Python 2.7 was released on July 3rd 2010 and a new version of PyXLL was also made available so our customers could upgrade immediately.

  3. Asynchronous Functions

    May, 2011

    Office 2010 was released and had gained a new feature, asynchronous functions! Support for this new function type was added to PyXLL to allow for better performing worksheet functions.

  4. More Python Distributions

    January, 2012

    PyXLL has always supported using your choice of Python distribution rather than requiring any specific version. Version 1.3 improved on this promise and removed some compatibility difficulties with the PortablePython distribution.

  5. Python 3 and 64 bit compatibility

    September, 2012

    The transition from Python 2 to Python 3 was in its infancy back in 2012, as was the 64 bit version of Excel! Neither had achieved wide spread adoption, but PyXLL embraced both to ensure it was ready for the future.

  6. Office 2013 arrives

    January, 2013

    Excel 2013 was released in Jan 2013, with PyXLL already fully compatible!

  7. Excel 2003 fixes, in 2013!

    July, 2013

    Backwards compatibility has always been important to us. We understand that upgrading an organization to a new version of Excel, Python or any other package can be tough. Rather than stop support for a version of Excel 10 years old we chose to keep updating PyXLL to ensure compatibility.

  8. Python 3.4

    July, 2014

    Python 3 was starting to gain some traction by the time Python 3.4 was released, and with each new Python release PyXLL added compatibility for the latest version (as well as all previous Python 2 versions).

  9. Office 2016 and Python 3.5

    September, 2015

    Excel 2016 and Office 365 arrived in Sept 2015, and of course PyXLL was ready and fully compatible with the new versions. Python 3.5 marked the first really good Python 3 release in the same month and a new PyXLL release was added to be able to support it.

  10. PyXLL 3!

    April, 2016

    PyXLL 3 was a major release and added many new features. For the first time it was possible to write real time data (RTD) functions entirely in Python and customize the Excel ribbon.

  11. Resizing arrays and Python 3.6

    November, 2016

    PyXLL has always had great support for array functions, and even had an example showing how to resize the result of an array function. That example was so popular we made auto-resizing arrays a first class feature and added Python 3.6 support.

  12. More ribbon features

    October, 2017

    This release saw the addition of some new functions to manipulate the Excel ribbon from Python. Rather than have a static ribbon tab as most Excel add-ins do, add-ins developed with PyXLL could now modify the ribbon in code!

  13. Real time data improvements

    March, 2018

    Real time data has been a killer feature of PyXLL since it was first introduced, but users told us that it was a pain having to recalculate the workbook to start them ticking. We listened and made a change to start RTD functions automatically when loading a workbook.

  14. Another big release, PyXLL 4!

    October, 2018

    PyXLL 4 introduced so many new features and made PyXLL even easier to use. Many of the most popular examples such as cached objects and pandas types were made first class features in this PyXLL release. Python 3.7 support was also added.

  15. Dynamic Arrays

    December, 2018

    Microsoft made one of the biggest changes to Excel to date by introducing Dynamic Arrays in Office 365. In December 2018 it was released to their InsiderFast (beta) channel and PyXLL was updated so Python developers could start using this new feature immediately.

  16. Commitment to backwards compatibility!

    March, 2019

    A user informed us they were having problems with using PyXLL with Excel 2003 on Windows XP! Our developers soon found the problem and we made a patch release for the customer later the same day.

  17. asyncio

    April, 2019

    PyXLL already had support for async functions and RTD (real time data) functions, but using asyncio together with PyXLL was something that each developer was left to implement for themselves. We added asyncio support to PyXLL to eliminate the boiler-plate code required and make developers lives much simpler!

  18. Auto reloading and Python 3.8

    September, 2019

    September saw more new features being added to PyXLL. We heard that developers were tired of reloading their add-ins manually, so we added an 'auto-reload' feature to watch for file changes! This version also saw better error handling capabilities and Python 3.8 support.

  19. Enterprise Deployment

    March, 2020

    We have helped hundreds of customers integrate Python and Excel, and as part of that deployment is always a consideration. Learning from what had worked for our biggest clients we introduced the PyXLL startup script to make auto-updating deployments simpler and more reliable.

  20. Cell Formatting

    June, 2020

    Worksheet functions usually do some calculation and return some values. With PyXLL, those values can be things like pandas DataFrames, and with resizing array formulas it can be a pain to keep having to reformat cells. So, we introduced a way to have functions apply formatting to their results.

  21. Python 3.9

    September, 2020

    PyXLL always keeps up with the latest Python releases, and Python 3.9 was no exception. We had been testing PyXLl with Python 3.9 with users prior to the final release to ensure it was ready to go as soon as Python 3.9 was available. And with retaining support for all other previous versions of Python back to 2.3!

  22. Another massive release, PyXLL 5!

    November, 2020

    This was a big one! We added support for custom task panes (user interface controls inside Excel), integration with Python plotting libraries, object serialization, a new command line tool, support for setuptools entry points and conditional formatting for pandas DataFrames. There were lots of other new features as well, too many to list here!

  23. Jupyter Notebooks

    December, 2020

    Hot on the heels of the PyXLL 5 release, December saw the addition of Jupyter notebooks to Excel using PyXLL. Using the custom task panes added in PyXLL and the setuptools entry points, the companion package pyxll-jupyter embeds Jupyter notebooks into Excel.

  24. Better UIs with Qt6 Support

    March, 2021

    PyXLL 5.1.0 added support for the latest versions of the popular Qt UI toolkit, allows PyXLL users to build custom user interfaces using both PyQt6 and PySide6 in Excel.

  25. (Log) rolling, rolling, rolling

    July, 2021

    PyXLL is commonly used to deploy Python functionality to non-Python users in Excel. We heard from our customers that their Excel users would often run Excel for weeks at a time without restarting, and old log files were becoming a problem! PyXLL's log rolling feature was added to automatically rotate the log files and delete old files.

  26. Python 3.10

    October, 2021

    Another big Python release and of course PyXLL was right there ready to support it as soon as it was released. Beta customers had already had access to the Python 3.10 build of PyXLL months in advance to ensure we were ready!

  27. Animated matplotlib plots

    February, 2022

    PyXLL development never stands still. This release added support for displaying animated plots in Excel so now your charts don't have to stand still either!

  28. ARM and M1 Macs

    October, 2022

    PyXLL becomes the first native Excel add-in to work on Excel for ARM CPUs, including M1 based Macs! PyXLL 5.5 also sees the addition of Python 3.11 support.

  29. Polars and RTD made simpler

    April, 2023

    Builtin support for the polars package, and real time data functions became even simpler to use with generators.

  30. More dynamic plots

    October, 2023

    Python 3.12 support, and automatically redraw Python plots when resized in Excel.

  31. Support for native Excel tables

    February, 2024

    PyXLL 5.8.0 adds native support for Excel tables. Previously, creating and accessing tables was possible via the Excel Object Model, but it required a fair bit of code to make it work. We heard from several users that they wanted an easier way to work with tables in Excel, so we built it!

Company Information

Get in touch. We would love to hear from you!
  • PyXLL Ltd, 17 Redgates Lane, Sewards End
    Saffron Walden, CB10 2LW, UK
PyXLL Ltd is a Private Limited Company incorporated in England and Wales under the Companies Act 2006.
Company Number
7189737
VAT Number
GB228386583 / EU372013837
D-U-N-S® Number
216647473
Request a demo and start writing Excel add-ins in Python.

Request a demo

Book a demo session and let us show you what PyXLL can do for you!

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.