Back to Volume
Paper: Wrapping and Deploying Legacy Astronomical Code into Python Environments: an Applied Case Study
Volume: 522, Astronomical Data Analysis Software and Systems XXVII
Page: 501
Authors: Villanueva, M.; Valenzuela, C.; Sanchez, M.; Araya, M.
Abstract: The era of digital astronomy has produced a large number of software for data analysis, reduction, control, visualization, among others. Most of these projects are open source, so one would optimistically expect a widespread practice of legacy code reuse. Unfortunately, reality shows a large number of reimplemented functionality between different platforms. This problem is not specific to astronomy: code reuse and porting is generally addressed through wrapping, and standard packages that support this are available. However, wrapping is not enough, because the construction and deployment of (portions of) legacy code under modern environments will usually not comply with the current standards, formats or structures. Fortunately, automatic deployment tools and package distribution repositories can be configured to reuse also the legacy construction methods and later fit them into the current platform. In this work we present pycupid, a python package that wraps Starlink's CUPID module, as a case of study. We describe the different wrapping strategies that were considered, but also the construction and deployment mechanisms that were used for providing an easy-to-install python package without the need of installing the full Starlink suite.
Back to Volume