Chapter 14. Building Pipelines and Software

The most effective analysis and software tools are reused and shared often. Physics software, libraries, and analysis pipelines are no exception. Indeed, this book is intentionally titled Effective Computation in Physics. Effective computational physicists streamline repetitive work and liberate themselves from the mundane. They are also able to build upon the work of others by installing and using external libraries. This chapter will cover both strategies, since they are intricately related by an emphasis on automation and by a versatile tool called make.

By the end of this chapter, you should be able to get started with the following tasks:

  • Automating complex workflows and analysis pipelines

  • Configuring and installing external libraries

  • Creating build systems for your own software

By automating the tedious steps, you are much more likely to encourage colleagues to extend your work and to, therefore, positively impact the future of your field. This chapter will help you to assist your peers in building, installing, and reproducing your analysis pipeline by automating the various steps of building that pipeline and your software:

  1. Configuration

  2. Compilation

  3. Linking

  4. Installation

The first step, configuration, detects platform-dependent variables and user-specified options. It then uses those to customize later steps in the process. For example, an analysis pipeline might run a Python program on a data file to create a ...

Get Effective Computation in Physics now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.