abstract_02052014_kilian.txt

Produce: Makefiles without the annoying bits

Scientists are increasingly faced with the demand to make their software and data available so others can check their method and results. Makefiles provide a fantastic thin layer above shell scripts for distributing ready-to-run, self-documenting experiments and analyses.

However, Make has its warts, and some advanced requirements lead to extremely tedious-to-write and hard-to-understand code. Alternatives such as SCons or Rake are often too focused on building software and give up too much of Make's simplicity to be suitable as a “lingua franca” for scientific exchange.

Enter Produce [1], a new free and open-source incremental build tool written in Python 3 that retains the basic concepts of Make and uses the friendly and familiar INI file syntax. Arbitrary regular expressions and arbitrary Python expressions make Produce files very powerful while keeping everything as simple and intuitive as possible.

I developed this tool on the side to help me with research, out of frustration with other build tools. Surprisingly, despite the abundance of FOSS build tools, none out there so far seemed to quite fill the gap that I outlined above. I expect that many attendees of PyGrunn have been in similar situations at least once and will be interested in using Produce or comparing their own solutions to it. My talk will also serve as a case study of how Python and its rich library help to develop something relatively complex like an incremental build tool with limited resources, i.e. within a few weeks as a side project in a full-time research job.

[1] https://github.com/texttheater/produce

abstract_02052014_kilian.txt.txt · Last modified: 2019/02/06 16:03 (external edit)