Consulting and DevOps with Python Battery Modelling Parameter Fitting Package
Researcher Summary:
When we kickstarted pybamm-param, a parameterisation toolbox for battery models, we had a very clear goal: create a robust and easy-to-use package. Bringing a seconded RSE onto the project was crucial for achieving this. The RSE helped us define a maintainable and extensible project structure and set up the essential infrastructure to ensure the package worked across platforms and was easy to install. Without the RSE’s support, reaching a deployable stage would have taken much longer.
RSE Summary:
By providing early architecture to the package and structure for collaborative coding RSE involvement improved the ability for all the pybamm-param team to be as effective as possible.
A strong focus was working towards the eventual package to be published via pip. By implementing Dev Ops principles including full automated testing via GitHub actions we ensured the code base was robust throughout development. Tests for style, correctness, and coverage across the full range of platforms ensured that each update to the codebase was sound. This made sure that when released users didn’t experience bugs and we didn’t experience delays when making releases in step with the core pybamm package.