After transitioning from #LightWave3D and #Modo3D to #Blender3D in 2019/2020, I think the first #Blender #python plugins I worked on were attempts to replicate #animation features I relied on in #AfterEffects using custom drivers. CurveAtTime mimics AE's ValueAtTime (working within the non-determinative limitations of #b3d beyond the current frame), and Wiggle attempts to create similar procedural motion.