- At first we wrap a line to circle.
With[{L = 30}, Manipulate[ ParametricPlot3D[{0, R, 0} + R {Cos[t], Sin[t], 0}, {t, -π/ 2 - (L/2)/R, -(π/2) + (L/2)/R}, PlotRange -> L/2], {R, 200, L/(2 π)}]]

- Then we wrap the cylinder.
Clear["Global`*"]; L = 30; r = 1; f[R_, t_] = {0, R, 0} + R {Cos[t], Sin[t], 0}; {n[R_, t_], b[R_, t_]} = FrenetSerretSystem[f[R, t], t][[2]][[2 ;; 3]]; Manipulate[ ParametricPlot3D[{0, R, 0} + R {Cos[t], Sin[t], 0} + r*{Cos[s], Sin[s]} . {n[R, t], b[R, t]}, {t, -(π/2) - (L/2)/ R, -(π/2) + (L/2)/R}, {s, 0, 2 π}, PerformanceGoal -> "Quality", PlotRange -> L/2, Boxed -> False, Axes -> False], {R, 200, L/(2 π)}]

Edit
Since the curvature of the circle is κ=1/R where R is the radio of the circle, we replace all of the 1/R to κ then make the animation smoothly.
With[{L = 30, R = 1/κ}, Manipulate[ ParametricPlot[{0, R} + R {Cos[t], Sin[t]}, {t, -π/2 - (L/2)/R, -(π/2) + (L/2)/R}, PlotRange -> L/2], {κ, 10^-10, 2 π/L}]]

Clear["Global`*"]; L = 30; r = 1; f[R_, t_] = PadRight[{0, R} + R {Cos[t], Sin[t]}, 3]; {n[R_, t_], b[R_, t_]} = FrenetSerretSystem[f[R, t], t][[2, 2 ;; 3]]; Manipulate[ Block[{R = 1/κ}, ParametricPlot3D[ f[R, t] + r*{Cos[θ], Sin[θ]} . {n[R, t], b[R, t]}, {t, -π/ 2 - (L/2)/R, -(π/2) + (L/2)/R}, {θ, 0, 2 π}, PerformanceGoal -> "Quality", PlotRange -> L/2, Boxed -> False, Axes -> False, Lighting -> "ThreePoint"]], {κ, 10^-10, 2 π/L}]

- Wrap a rectangle to a torus.
Clear["Global`*"]; L = 95; l = 30; list1 = Table[ Block[{R = 1/κ}, ParametricPlot3D[{0, 0, R} + R {0, Cos[t], Sin[t]} + {s, 0, 0}, {t, -π/2 - l/2/R, -π/2 + l/2/R}, {s, -L/2, L/2}, PerformanceGoal -> "Quality", PlotRange -> L/2, Boxed -> False, Axes -> False]], {κ, Subdivide[10^-10, 2 π/l, 10]}]; f[R_, t_] = {0, R, 0} + R {Cos[t], Sin[t], 0}; {n[R_, t_], b[R_, t_]} = FrenetSerretSystem[f[R, t], t][[2, 2 ;; 3]]; list2 = Table[ Block[{R = 1/κ, r = l/2/π}, ParametricPlot3D[ f[R, t] + {0, 0, r} + r*{Cos[θ], Sin[θ]} . {n[R, t], b[R, t]}, {t, -π/2 - (L/2)/R, -(π/2) + (L/2)/ R}, {θ, 0, 2 π}, PerformanceGoal -> "Quality", PlotRange -> L/2, Boxed -> False, Axes -> False]], {κ, Subdivide[10^-10, 2 π/L, 20]}]; ListAnimate[Join[list1, list2]]
