Pulsar astrophysics, from searching for new systems to using precision pulsar timing to detect gravitational waves, is both complex and computationally expensive. Here we present the Pulsar Signal Simulator (PSS), an open-source Python package that can be used to simulate pulsar observations. The PSS has been used to explore the complex covariances between interstellar medium and intrinsic pulsar emission effects, and can output simulated data in standard data formats. The PSS has a modular, easy-to-use interface, making it ideal not only for scientific simulations, but also for student education. The simulated data can also be used to test various data analysis pipelines and pulsar searching algorithms so that computing time can be optimally spent. Given the modular design of the PSS, other pulsar astronomers will be able to easily use and build upon the current existing framework, further improving the software.