Was converting into a mesh and then doing location checks, to figure out what the radius should be and then interpolating. this was the slowest part of the script and it made a mesh every time.
Now use blenders bezier interpolation function and calculate points like blender does.
fixed a driver syntax error for the Z axis (typo)