Cosmic-ray observatories necessarily rely on Monte Carlo simulations for their design, calibration and analysis of their data. Detailed simulations are very demanding computationally. We present a python-based package called ShowerModel to model cosmic-ray showers, their light production and their detection by an array of telescopes. It is based on parameterizations of both Cherenkov and fluorescence emission in cosmic-ray induced air showers. The package permits the modelling of fluorescence telescopes, imaging air Cherenkov telescopes, wide-angle Cherenkov detectors or any hybrid design. ShowerModel was conceived as a tool to speed up calculations that do not require a full simulation or that may serve to complement complex Monte Carlo studies and data analyses (e.g., as a cross-check). It can also be used for educational purposes.