Cool, glad to help. Hope you can use this information. Your project sound very interesting. If you ever finish, I hope to be able to see it 
Fisrt thing to tell you is that I did not do this code in Blender or Python, but the same idea should work so look at the concept rather than the syntax. Also, you might want to find out if you can use SIN and COS in Python, because I haven’t a clue.
When I wrote this I was trying to be able to rotate a camera so that it looked at certain points of a 3D sphere (Invisable). This was because I couldn’t tell the camera what angle to look at, just x,y,z points to look at.
This same method could be used to draw lines from the center of the circle outward, if that’s what you’re looking for.
These are some variables I used: (again, this is not Python so please excuse)
float angleH;
float angleV;
float camPosX;
float camPosY;
float camPosZ;
float camLookX;
float camLookY;
float camLookZ;
To make it work for you, I would change camPosX to LineStartX or StartX or something like that. Same with Y and Z. Also I would change camLookX, Y, Z to EndX, Y, Z too.
float angleH;
float angleV;
float startX;
float startY;
float startZ;
float endX;
float endY;
float endZ;
angleH is the Horizontal angle my camera looked. (Left, right) and angleV was my verticle angle. (Up, down)
You want to make a loop that plots each point, so how you decide to get the angles is up to you. (It would depend in the project your doing)
startX = 0;
startY = 0;
startZ = 0;
endX = sin(angleH) * cos(angleV);
endY = sin(angleV);
endZ = cos(angleH) * cos(angleV);
So thats the formula pattern your going to want to use to get your line points. In Python it might want the angle to be in Degrees or it might want to be Radians, I don’t know.
The startX-Y-Z are your center of the sphere.
To get a higher resolution circle, plot more verticies by using more close-together angles.
I hope this helps because I’m not very good at explaining things XD
Have fun and let me know what happens.
PiXEL8oR