  Context. Measuring how the physical properties of galaxies change across
cosmic times is essential to understand galaxy formation and evolution. With
the advent of numerous ground-based and space-borne instruments launched over
the past few decades we now have exquisite multi-wavelength observations of
galaxies from the FUV to the radio domain. To tap into this mine of data and
obtain new insight into the formation and evolution of galaxies, it is
essential that we are able to extract information from their SED. Aims. We
present a completely new implementation of CIGALE. Written in python, its main
aims are to easily and efficiently model the FUV to radio spectrum of galaxies
and estimate their physical properties such as star formation rate,
attenuation, dust luminosity, stellar mass, and many other physical quantities.
Methods. To compute the spectral models, CIGALE builds composite stellar
populations from simple stellar populations combined with highly flexible star
formation histories, calculates the emission from gas ionised by massive stars,
and attenuates both the stars and the ionised gas with a highly flexible
attenuation curve. Based on an energy balance principle, the absorbed energy is
then re-emitted by the dust in the mid- and far-infrared domains while thermal
and non-thermal components are also included, extending the spectrum far into
the radio range. A large grid of models is then fitted to the data and the
physical properties are estimated through the analysis of the likelihood
distribution. Results. CIGALE is a versatile and easy-to-use tool that makes
full use of the architecture of multi-core computers, building grids of
millions of models and analysing samples of thousands of galaxies, both at high
speed. Beyond fitting the SEDs of galaxies and parameter estimations, it can
also be used as a model-generation tool or serve as a library to build new
applications.
