<div dir="ltr">Hello Guru,<div><br></div><div>Thanks Guru for your time.</div><div><br></div><div>This does not seem to my application and am looking some other way to get it done.</div><div><br></div><div>Cheers!!</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 10, 2015 at 9:50 AM, Guru Venkat <span dir="ltr"><<a href="mailto:guruvenkat7@gmail.com" target="_blank">guruvenkat7@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I have not used the animation subroutine of matplotlib for animating 3D plots. </div><div><br></div><div>However, I have used Visual Python for such animations. Take a look at the attached code. Maybe you are looking for something on these lines?<br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Fri, Jan 9, 2015 at 3:47 PM, Akhil Mohan <span dir="ltr"><<a href="mailto:akhilmohanmec@gmail.com" target="_blank">akhilmohanmec@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">Hello,</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">Let me explain a bit of what I am trying to do. I am using an Inertial Measurement Unit (IMU) for obtaining orientation and this data is filtered and sent via Bluetooth to PC. On the PC I am receiving the data using pyserial. So the data being sent out in quaternion form (like Euler angle) is used for creating an animation. The figure or object has to periodically update the data and do the rotation according to the algorithm. These all things works well.</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">Now the problem is the object I created is not updating or not moving in real time and the implementation Funcfunction seems to be the culprit. Can anyone suggest what is the mistake that I am doing ? Please see the sample code :)</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">Cheers!!</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">Akhil Mohan</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><hr style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px;color:rgb(210,105,30)"></span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># Global variables</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">msg = ''</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">full_msg = None</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># First set up the figure, the axis, and the plot element we want to animate</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">fig = plt.figure()</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">ax = fig.gca(projection='3d')</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># ax = plt.axes(xlim=(0, 2), ylim=(-2, 2), zlim=(0, 10))</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">line, = ax.plot([], [], [], lw=1)</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># Setting the axes properties</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">ax.set_xlim3d([-2.0, 2.0])</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">ax.set_ylabel('X')</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">ax.set_ylim3d([-2.0, 2.0])</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">ax.set_ylabel('Y')</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">ax.set_zlim3d([-2.0, 2.0])</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">ax.set_ylabel('Z')</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># Get serial handle</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">s_handle = serial.Serial("COM15", 115200, timeout=0)</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># initialization function: plot the background of each frame</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">def init():</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">line.set_data([], [])</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">line.set_3d_properties([])</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">return line,</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># object vertices</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">obj = np.array([[-0.5, 0.5, 0.5, -0.5, -0.5, 0, -0.5, 0.5, 0, 0.5, -0.5],</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">[-0.5, -0.5, 0.5, 0.5, -0.5, 0, 0.5, -0.5, 0, 0.5, -0.5],</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">[ 0, 0, 0, 0, 0, 1.2, 0, 0, 1.2, 0, 0]]).T</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">def main():</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">while(s_handle):</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">global msg</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># i=0</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">if s_handle.inWaiting() != 0:</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">msg += str(s_handle.read(s_handle.inWaiting()))­</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># Look for full message.</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">full_msg = msg.split('Z')</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">for f in full_msg:</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># print f,len(f)</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">if (len(f) == 35):</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">q = np.array([float(m) for m in f.split(',')])</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"># print q</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">quat_data = np.array([quaternion_rotate(q, pure_quaternion(p)) for p in obj])[:, 1:] # quaternion function is working fine :)</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">return quat_data</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">def animate(i):</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">rot_obj = main()</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">x = list(rot_obj[:, 0])</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">y = list(rot_obj[:, 1])</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">z = list(rot_obj[:, 2])</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">line.set_data(x, y)</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">line.set_3d_properties(z)</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">return line,</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">anim = animation.FuncAnimation(fig, animate, init_func=init,frames=10000, interval=20, blit=True)</span><br style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><span style="color:rgba(0,0,0,0.670588);font-family:Whitney,helvetica,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">plt.show()</span><span><font color="#888888"><br clear="all"><div><br></div>-- <br><div><div dir="ltr">-------------------------------------------------<br>Akhil Mohan <a href="tel:%28%2B91-7639168728" value="+917639168728" target="_blank">(+91-7639168728</a>)<br>Ph.D Scholar<br>IITM-CMC-SCTIMST<br></div></div>
</font></span></div>
<br></div></div>_______________________________________________<br>
Chennaipy mailing list<br>
<a href="mailto:Chennaipy@python.org" target="_blank">Chennaipy@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/chennaipy" target="_blank">https://mail.python.org/mailman/listinfo/chennaipy</a><br>
<br></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div>Thanks & Regards<br><br>Guru Venkat<br>PhD Scholar,<br>Department of Electrical Engineering,<br>Indian Institute of Technology, Madras.<br><a href="http://www.ee.iitm.ac.in/optics/guru" target="_blank">http://www.ee.iitm.ac.in/optics/guru</a><br>Mobile: <a href="tel:%2B91-9884314268" value="+919884314268" target="_blank">+91-9884314268</a><br><div></div><div></div></div>
</font></span></div>
<br>_______________________________________________<br>
Chennaipy mailing list<br>
<a href="mailto:Chennaipy@python.org">Chennaipy@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/chennaipy" target="_blank">https://mail.python.org/mailman/listinfo/chennaipy</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">-------------------------------------------------<br>Akhil Mohan (+91-7639168728)<br>Ph.D Scholar<br>IITM-CMC-SCTIMST<br></div></div>
</div>