Scipy nnls algorithm does not have termination tolerance option
You can use lsq_linear which is available in scipy version 0.17.
I am using the nnls algorithm from scipy and am shocked to find that I cannot control the final tolerance, as can be done in Matlab using Tolx i.e, termination tolerance. 
Modifying the Fortran code or even reading it is extremely hard. I am only new to python since a month. 
I need to do $\| A x - b\|_2 \leq \epsilon\| b\|_2$(latex); How can I do this, other than write my own nnls! \epsilon is the tolerance! 
I found another link that had to add an extra constraint, but that was an equality constriant!