FREE electromagnetic simulator, i.e. emGine can be used to simulate 3D microwave devices on any platform (Windows, Linux, MacOS X). The following can be used to download
FDTD: openEMS (http://openems.de/index.php/Tutorials) includes extensive Matlab/Octave and Python API, amny good examples, good efficiency by using an innovative FDTD formulation.
FEM: FEniCS (https://fenicsproject.org/) with Python API and some EM examples
BEM: BEM++ (http://www.bempp.org/tutorials.html) with Python API and some examples for EM
FEM and BEM Hybridization using FEniCS and BEM++(Requires good knowledge of both).