To interpolate over time, compute interpolation fraction based on the amount of time that has passed.
Example:
def startAnimation():
animating = True
startTime = time.time()
duration = 5
def computeAnimation():
if animating:
t = time.time() - startTime
if t <= duration:
a = t / duration
else:
animating = False
a = 1
x = (1-a)*startX + a*endX
y = (1-a)*startY + a*endY
z = (1-a)*startZ + a*endZ