How to Deploy your trained ML model in client VM without they getting access to code
You can transform your python code into a standalone binary file, which could for example take as input some data and return the predicted labels. If you only put this file in the client's VM and not the .py files, the client could never see the code, but just execute it.
Several libraries exist for this purpose like pyinstaller