Two-sided mobility platforms, such as Uber and Lyft, widely emerged in the urban mobility landscape, bringing disruptive changes to transportation systems worldwide. This calls for a simulation framework where researchers from various and across disciplines may introduce models aimed at representing the dynamics of platform-driven urban mobility systems.In this work, we present MaaSSim, an agent-based simulator reproducing the transport system used by two kind of agents: (i) travellers, requesting to travel from their origin to destination at a given time, and (ii) drivers supplying their travel needs by offering them rides. An intermediate agent, the platform, allows demand to be matched with supply. Agents are decision makers, specifically, travellers may decide which mode they use or reject an incoming offer. Similarly, drivers may opt-out from the system or reject incoming requests. All of the above behaviours are modelled through user-defined modules, representing agents' taste variations (heterogeneity), their previous experiences (learning) and available information (system control). MaaSSim is an open-source library available at a public repository 1 , along with a set of tutorials and reproducible use-case scenarios.