Introducing Scientific Python within research-and-development oriented companies and academia

Rob Reilink

Audience level:


Python can be an effective tool for many R&D tasks. However, its use is not as widespread as e.g. Microsoft Excel or MATLAB. Using Python can improve efficiency and reduce costs. However, the adoption of Python requires users to become acquainted with it. This talk will show how Python was introduced within Demcon, and will provide methods to introduce Python within your research group or business


Demcon Advanced Mechatronics BV is a medium-sized enterprise (~200 employees) which develops and builds state-of-the-art mechatronic systems. The development process commonly involves research of the subsystems involved. E.g., test setups are built to perform measurements, data is analyzed, mathematical models are derived and control systems are designed. These activities were commonly performed using MATLAB, since many employees were familiar with it.

In 2014, the strategic choice was made to introduce Python as a new tool. To support this, a Python course was organized to introduce Python to members of the systems engineering and software development groups. This highly interactive course was taught in-house by employees who were already experienced with Python. The Pyzo Scientific Python distribution was used, which is easy to install and get started with, and fits the needs of the typical user within the company. The course included some common use-cases within the company, showing participants how to solve everyday problems. At the end of the course, they were asked to use Python to analyze and process data from measurements of their daily work. This gave them hands-on experience on an actual real-world problem. The classes encouraged employees to use Python within their projects. The experienced Python users were available for support and mentoring. This proved essential since one encounters many issues only when a tool is actually used in practice.

Within the last year, Python has been used in several projects, and for several purposes, including data acquisition and analysis, symbolic parameter studies, building of GUI applications and quality testing of assembled products. The most important advantages that were experienced are the ability to connect to different sorts of hardware, the ability for an application to evolve from few-liner to complete GUI application during the development process, and the ability for the customers to use and expand the software that was developed by Demcon interactively, without the need to invest in software licenses.

This talk will discuss the approach that was taken, how switching to Python was realized and what problems had to be overcome. This experience can help others who are considering switching to Python within their organization.

For research groups in academia, a similar approach is possible, but there are some significant differences between businesses and academia to take into account. Foremost, academic research is typically performed more individually than research within businesses. Therefore, it is easier for an individual to switch to Python. Within businesses, where work is typically done in teams, it is often desirable to choose the tools as a team, and thus it would be required for all team members to use Python. This can be a barrier to switch to Python. However, when a switch is made, less experienced team members can quickly learn from team members that are already familiar with Python.