In general, it's better not to push automatically generated files (like those in __pycache__) to keep the repository clean. To prevent git from automatically adding files you don't want, you can create a .gitignore file. You can find an example of a gitignore file in the top level of our repository.
When you write a Python file that expects command line arguments, it's good practice to print an informative error message when the user provides incorrect input -- that way the user doesn't have to look into the file to know what to provide. If you want to be fancy, the standard argument parsing library for Python is argparse. You can find a nice tutorial here.
The Qiskit transpiler is functional given a benchmark, but still needs to be able to decompose u2, u3 gates .