About pyGnuastro

pyGnuastro started as a task on Gnuastro’s Savannah page and was then offered as a Google Summer of Code 2022 project. Here, the initial build system and wrappers for some modules of the Gnuastro Library were built.

Gnuastro is primarily written in C because astronomical datasets are large and thus need to be efficient with few dependencies. Therefore, its most commonly used interface are Gnuastro’s command-line programs (that are built on the Unix philosophy). However, Gnuastro also has an extensive set of installed, dynamic C/C++ libraries, which are the actually beating heart of the programs. On the other hand, many projects today are done in Python, almost excuslively using Numpy for their numerical operations (like data arrays). Python and Numpy are actually written in C, therefore they have very well-defined interfaces for communicating with installed C libraries.

Thus, pyGnuastro is a low-level wrapper infrastructure which allows easy usage of Gnuastro’s powerful libraries in Python. Also, owing to the relatively better accessibility of Python, pyGnuastro can act as a gateway for users/researchers/astronomers who are unfamiliar with programming to be introduced to Gnuastro and its Library.