I have a bunch of Python scripts which are to be run by several different users. The scripts are placed in a Windows server environment. 
What I wish to achieve is to protect these scripts in such a way that standard users are allowed to run them but do not have the rights to read/modify/move them.
Is this even possible and if so what is the optimal strategy?
Thanks in advance.
You can compile Python modules into native libraries with Cython and provide compiled files only; though it involves a lot of hassle and doesn't work in some cases. They still can be decompiled to C code but it will be mostly unreadable.
Pros: 1. compiled libraries can be imported as normal Python modules.
Cons: 1. requires additional setup; 2. doesn't work in some cases, e.g. celery tasks cannot reside in compiled modules because: 3. you lose introspection abilities; 4. tracebacks are basically unreadable.
Protect python script on Windows server