CPL - The Common Pipeline Library

CPL Title Graphic

Latest News

CPL version 7.0 has been released - (26-Feb-2016)

CPL version 6.6.1 has been released - (22-Jul-2015)

CPL version 6.6 has been released - (06-Mar-2015)

CPL version 6.5.1 has been released - (01-Dec-2014)


The Common Pipeline Library (CPL) comprises a set of ISO-C libraries that provide a comprehensive, efficient and robust software toolkit to develop astronomical data-reduction tasks (known as "recipes"). These data-reduction tasks can then be executed manually by a user, or can be triggered in an automated data-reduction framework (known as "pipelines") which are used at ESO to monitor the health status of VLT instruments, for quick-look data processing at the observatory, and the creation of data products available from the ESO archive facility.

The Common Pipeline Library was developed to standardise the way VLT instrument pipelines are built, to shorten their development cycle and to ease their maintenance. However, it may be more generally applied to any similar application, and the details of the CPL code have been engineered in away to make the library portable and flexible, as well as minimising external dependencies.

The CPL provides a host of functionality, presented in a clear, generic and uniform manner. Among its many features, the CPL offers:

  • many useful low-level data types (images, tables, matrices, strings, property lists, ...),
  • many fundamental statistic, arithmetic and conversion operations for these data types.
  • medium-level data access methods (e.g. a data abstraction layer for FITS files),
  • data table organisation and manipulation,
  • keyword/value handling and management,
  • a standardised application interface for pipeline recipes, and,
  • support for dynamic loading of recipe modules.

Despite the current bias towards instrument pipeline development, the library also provides a variety of general-purpose image- and signal-processing functions, making it an excellent framework for the creation of more generic data-handling packages.

For more information about the CPL project, please see the web pages whose links appear at the top of this page.