Modelling managed resource systems can involve the integration of multiple software modules into a single codebase. These modules are often written by non-software specialists, using heterogeneous terminologies and modelling approaches. One approach to model integration is to use a central structure to which each external module connects. This common interface acts as an agreed mode of communication for all contributors. We propose the Python Network Simulation (Pynsim) Framework, an open-source library for building simulation models of networked systems. Pynsim's central structure is a network, but it also supports non-physical entities like organisational hierarchies. We present two case studies using Pynsim which demonstrate how its use can lead to flexible and maintainable simulation models. First is a multi-agent model simulating the hydrologic and human components of Jordan's water system. The second uses a multi-objective evolutionary algorithm to identify the best locations for new run-of-river power plants in Switzerland.