What a coincidence, I also thought of the "helix along a circular spline idea" today, as well. I tried it out and it has some pros and some cons. I am still going to do this fully custom, as of right now (i.e., no helix spline, and no circle spline). Having said that, the helix along a curve does provide a good point for comparison for correctness checks of my implementation, once you get past the difficulty of converting arbitrary p and q knot values into the aforementioned conglomeration. Most certainly, that would be a job best suited for some serious (read, "sinister") XPresso!
With regard to the plug-in, one of the overarching goals is to provide full Python source for users to be able to customize and modify it to their hearts' content, as well as to get an idea for how a somewhat complex plug-in is implemented in Python.
Update: I've taken a look at your attached scene file and your approach in terms of a helix around a circle is very similar to mine (sans the Sweep and conversion of the parametric circle to an editable spline), but I am sure you did that just to add thickness to the knot for visibility. Also, I saw how you tried to play with the tangent handles to get the "corners" to be more sharp, that was an interesting idea, but I believe the solution to match Spiros, is to modify the parametric formula, with the big question being of course, "What modifications should I make to get the generated knot to match?"
BTW, your ideas have most certainly not derailed me. If anything, they have given me additional tangential ideas for future consideration, so keep 'em coming 🙂 .
This is the current updated generator properties UI, but I still have to implement a lot of this and I've set the generated spline type to always be Bezier, for the time being: