CUPyDO - An integrated Python environment for coupled multi-physics simulations. CUPyDO, a fluid-structure interaction (FSI) tool that couples existing independent fluid and solid solvers into a single synchronization and communication framework based on the Python language is presented. Each coupled solver has to be wrapped in a Python layer in order to embed their functionalities (usually written in a compiled language) into a Python object, that is called and used by the coupler. Thus a staggered strong coupling can be achieved for time-dependent FSI problems such as aeroelastic flutter, vortex-induced vibrations (VIV) or conjugate heat transfer (CHT). The synchronization between the solvers is performed with the predictive block-Gauss-Seidel algorithm with dynamic under-relaxation. The tool is capable of treating non-matching meshes between the fluid and structure domains and is optimized to work in parallel using Message Passing Interface (MPI). The implementation of CUPyDO is described and its capabilities are demonstrated on typical validation cases. The open-source code SU2 is used to solve the fluid equations while the solid equations are solved either by a simple rigid body integrator or by in-house linear/nonlinear Finite Element codes (GetDP/Metafor). First, the modularity of the coupling as well as its ease of use is highlighted and then the accuracy of the results is demonstrated.