Monday, June 23, 2025
HomePythonPyDev of the Week: Prabhu Ramachandran

PyDev of the Week: Prabhu Ramachandran


This week we welcome Prabhu Ramachandran (@prabhu_r) as our PyDev of the Week! Prabhu is a developer of PySPH and the Mayavi packages. Prabhu works for the Indian Institute of Know-how Bombay and speaks internationally at Python conferences.

You’ll be able to see what else Prabhu is as much as over on GitHub. Let’s spend just a few moments attending to know Prabhu higher!

Are you able to inform us just a little about your self (hobbies, training, and so on):

I’m a college member on the Division of Aerospace Engineering, Indian Institute of Know-how Bombay. I’m additionally related to the Centre for Machine Intelligence and Information Science at IIT Bombay. I’m at the moment the Head of the Pc Centre at IIT Bombay.

My analysis broadly revolves round numerical computation particularly utilizing particle-based and mesh-free strategies for continuum mechanics. I accomplished my Bachelor of Know-how in Aerospace Engineering from the Indian Institute of Know-how Madras and stayed on to finish my PhD as properly in the identical division. I then joined IIT Bombay in 2005. I’ve been lucky to have had the chance to work with Enthought Inc. over time and likewise helped them setup an workplace in India for just a few years in 2011. I’ve additionally been lucky to have had the chance to unfold the adoption of Python in India via the FOSSEE undertaking. I’ve been a nominated member of the PSF since 2010.

I get pleasure from studying science fiction when time permits. I’m spiritually inclined and spend a while day by day on my religious practices. I get pleasure from meals and a few cooking. I get pleasure from watching science-fiction and associated sequence and films. I get pleasure from swimming and listening to music. I additionally get pleasure from wildlife, birdwatching, and touring with my partner.

Why did you begin utilizing Python?

I believe I began utilizing Python in 1998. At the moment I knew C and an affordable quantity of C++, I used to be trying to be taught “scripting” languages and was contemplating Perl, Tcl, and had additionally seen Python utilized in Redhat’s Anaconda installer. I used to be very lively within the Indian Linux person’s group. I realized just a little Perl however didn’t discover sufficient free documentation. For some purpose I didn’t like Tcl’s syntax. I then picked up Python as I needed to make use of VTK and write visualization scripts for some colleagues in my lab. I used to be a graduate pupil on the Indian Institute of Know-how Madras on the time.

I realized fundamental Python in a day utilizing the great Python tutorial. I then began writing Python scripts to visualise knowledge with VTK. I believe I used to be hooked by then.

What different programming languages have you learnt and which is your favourite?

I do know C pretty properly. I do know sufficient C++ to write down cheap code however I by no means favored template metaprogramming again within the day so didn’t pursue it an excessive amount of. Because of this I might not name myself a C++ skilled. I discovered Python early sufficient to keep away from needing an excessive amount of superior C++.

I’m aware of bash and have written pretty massive scripts after I was a graduate pupil. Nevertheless, I discover that I overlook any programming language syntax very simply if I don’t use the language recurrently. After I realized sufficient Python I virtually by no means wanted to write down greater than 5-10 line bash scripts so I’m very rusty.

I do know fundamental x86-64 meeting however that is simply sufficient to grasp the code if I see it, I’ve no want to write down meeting by hand.

I’ve dabbled just a little with LISP particularly within the context of emacs however this was a few years in the past. I’ve additionally dabbled with javascript and am aware of fundamental javascript.

I not too long ago got here throughout the V programming language which seems to be attention-grabbing and is simple to be taught in a day.

I’ve been testing Julia a number of instances previously and earlier this 12 months determined to make use of it for a small check undertaking.

I’ve actually favored Python probably the most since I’ve been ready to take action many issues with it over time. Given my small check julia undertaking, I actually like how straightforward it’s to write down environment friendly code in pure Julia. Their bundle administration may be very clear and simple to make use of. As well as it performs very properly with Python. I suppose of the non-Python programming languages, Julia is the one I’m most curious about at the moment.

What initiatives are you engaged on now?

Over the previous couple of years I’ve primarily been engaged on the PySPH bundle that’s constructed by my lab at IIT Bombay. That is an open supply bundle for the Smoothed Particle Hydrodynamics methodology. There are a number of ancillary packages that PySPH is determined by. One in all these is compyle which makes it potential to execute a really restricted subset of Python on a wide range of HPC platforms. I’ve developed and proceed to keep up the automan bundle which we use to automate all of our numerical analysis and publications within the lab. PySPH is pretty mature for our analysis and so lots of our current analysis doesn’t require main modifications to the bundle. We make all our analysis code freely obtainable and the outcomes are sometimes totally reproducible, you’ll be able to see a few of these initiatives (papers) right here: https://gitlab.com/pypr

I’ve sporadically been growing and sustaining the Mayavi visualization library over time however I’ve been discovering it tough to seek out the time of late. I launched Mayavi 1.0 in 2001 and a redesigned model (which is the idea of the present model) was launched in 2005 or 2006 as a part of the Enthought Software Suite. It’s a very outdated bundle and I are inclined to tire of sustaining the bundle. I generally have the chance to place in a while so as to add options however that isn’t as frequent as lots of the Mayavi customers would really like. Over the previous few years I’ve delivered tutorial talks at SciPy and different workshops to popularize the bundle. Mayavi is kind of properly utilized by many of us all around the world.

Which Python libraries are your favourite (core or third social gathering)?

I discover it tough to reply this query since I have a tendency to have a look at libraries as helpful to me or in any other case. So I’ll attempt to checklist a few of the libraries that I discover probably the most helpful:

  • NumPy: for being so necessary for all scientific computation with Python.
  • IPython: for the console and for jupyter notebooks which I exploit for lots of my educating and workshops.
  • VTK: for the unbelievable high quality bundle that it’s. Stands the check of time, supplies a massively necessary library for 3D visualization.
  • matplotlib: for many of my 2D analysis plots.
  • Enthought Software Suite: this can be a hidden gem and supplies lots of very helpful performance that’s surprisingly helpful in numerous contexts. I’ve tended to make use of this principally within the context of constructing UIs for scientific codes.
  • Cython, PyOpenCL, PyCUDA, and mpi4py have all been enormously helpful for my analysis.
  • I believe numba is a really good improvement for scientific computing as properly.

For these curious about controlling {hardware} with Python, the ExpEYES undertaking may be very attention-grabbing and helpful.

I’m actually lacking many great packages, for instance, scipy, pandas, scikit-learn, and pytorch are additionally very nice packages which were very helpful.

What do you assume are the highest three most enjoyable developments in doing science with Python?

Proper now I believe all of the developments within the ML/AI entrance have been fairly exceptional. I believe scikit-learn, pytorch, and Tensorflow all have performed a significant function. As well as, there are numerous Quantum Computing associated instruments obtainable in Python. That is one other thrilling space. One other thrilling improvement is Pyodide and pyscript which opens up some very attention-grabbing potentialities. These are undoubtedly thrilling because it provides an edge to anybody who is aware of Python.

What are a few of the most shocking stuff you’ve seen your college students do with Python?

You imply other than crashing their computer systems with a jupyter pocket book? 🙂

Rohan Kaushik, a superb undergraduate pupil applied a triangulator for his analysis undertaking in pure Python utilizing numba and received efficiency that was nearly as good because the venerable triangle bundle and carried out even higher in sure settings. This was a really nice shock.

One in all my college students, Aditya Bhosale (at the moment at UIUC), applied JIT compilation for Compyle, and I assumed that was very cool. It wasn’t actually shocking as he’s an excellent pupil and we knew wanted to be completed. Equally, one other pupil, Kunal Puri (at the moment with Cadence), wrote a Cython wrapper for the ZOLTAN library which was very helpful and once more not fairly shocking given his skills.

Is there anything you’d wish to say?

I’m grateful for all of the open supply software program obtainable right now and over time. Am additionally grateful to the core builders of Python and likewise to the numerous different packages and programming languages as properly. The whole software program ecosystem round Free and Open supply software program is basically fairly superb. It’s value stopping and eager about it generally. Thanks!

Thanks for doing the interview, Prabhu!



RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments