Saturday, June 13, 2020

Building a web app with nothing but (a bit of) Python

My knowledge of Python (the programming language) is not extensive. I have used it a few times to streamline some of my research activities that include data handling and processing. I find Python easy to get into without much programming experience and sources like Stack Overflow help very much to do this. So when I came across a web platform called Anvil that claims to let you build fully functional web apps with nothing but Python, I decided to give it a try. I was pleasantly surprised, and happy with the web application that I was able to build with a relatively basic knowledge of Python and nothing else. My code may not be the most efficient, but it gets the job done.

I decided to build an app within my area of research. It is an app to estimate soil hydraulic properties and oxygen diffusion coefficients at different degrees of saturation, based on water retention properties of the soil. I used equations from literature and those developed in my own research to do this. Two water retention curve parameters (van Genuchten α and n) and the soil porosity are used as inputs and the hydraulic conductivity function and oxygen diffusion coefficient characteristic are generated using the equations. I used the Plotly library built into Anvil to generate three plots for the generated functions and the water retention curve. I also built in an option to export the generated data as a text file that can be used for further analysis.

I was able to do this with the free plan that Anvil offers. Anvil also has a paid subscription plan that has more Python libraries and more options for development support and deployment. I believe it is a great product with exciting capabilities.

My first web app can be accessed at :  https://rukshan-azoor-wrc.anvil.app/




No comments:

Post a Comment