To facilitate the creation of reproducible protocols, RamanSPy incorporates a pipelining infrastructure, which systematises the process of creating, customising and executing preprocessing pipelines (Fig. ). Users can use a specialised class, which defines a generic, multi-layered preprocessing procedure, to assemble pipelines from selected built-in preprocessing modules or other in-house methods. To reduce overhead, the constructed pipelines are designed to function exactly as any single method, i.e., they are fully compatible with the rest of the modules and data structures in the package. Furthermore, pipelines can be easily saved, reused and shared to foster the development of a repository of preprocessing protocols. As a seed to this repository, RamanSPy provides a library of assembled preprocessing protocols (custom pre-defined, or adapted from the literature ), which users can access and exploit.