My "for fun" Python Implementation of Pinocchio.
I took inspiration and code from these sources:
SNARK.py is missing the optional calculations to make it Zero Knowledge. zk-SNARK.py has those calculations and is a bit slower. I included some trivial examples to see it running: A NAND gate and a check if a number is binary. I have also included Vitaliks code_to_r1cs.py in my SNARK.py file which allows you to compile any code down to R1CS and prove that its assignment checks out.