In response to frequent requests from users, we have converted our widely used optical eigenmode solver from MATLAB to a Python module in the latest release (2.0.0). The Python implementation closely mirrors the functionality and syntax of the original MATLAB code, while providing several improvements and additional worked examples. The solver is freely available and now runs on a fully open-source software stack.
The full source code, including examples, and SymPy derivation notebook is hosted on GitHub:
GitHub: https://github.com/thomas-e-murphy/modesolver

Or, you can install the package directly, using:

pip install git+https://github.com/thomas-e-murphy/modesolver.git