Personally I think it's better to distribute .py files as these will then be compiled by the end-user's own python, which may be more patched.
What are the pros and cons of distributing .pyc files versus .py files for a commercial, closed-source python module?
In other words, are there any compelling reasons to distribute .pyc files?
Edit: In particular, if the .py/.pyc is accompanied by a DLL/SO module which is compiled against a certain version of Python.
If your proprietary bits are inside a binary DLL or SO, then there's no real value in making an interface layer a .pyc (as opposed to a .py). You can drop that all together or distribute it as an uncompiled python file. I don't know of any reasons to distribute compiled python files. In many cases, build environments treat them as stale byproducts and clean them out so your program might disappear.
Distributing .pyc files versus .py files for a commercial, closed-source python module