GSoC 2023 @ PyBaMM, NumFOCUS: Community Bonding
Tags: gsoc, python, opensource
Published: 2023-05-29 00:00:00

## Introduction

Hi there! This is the first blog in a series of seven blogs that I will be writing to document my journey as I cruise through the coding period of the Google Summer of Code (GSoC) 2023 open-source programme. I will be working with PyBaMM under the NumFOCUS umbrella for the next twelve weeks to improve its [documentation infrastructure](https://summerofcode.withgoogle.com/programs/2023/projects/DdcerdTx) and to revamp its website available at [pybamm.org](https://www.pybamm.org/).

## About PyBaMM

PyBaMM (Python Battery Mathematical Modelling) is an open-source Python package for running battery simulations with a mission to accelerate and partake in cutting-edge battery modelling research. It comes with a library of popular battery models and parameter sets, specialised tools for visualisations and interpretability, and a suite of incredibly fast and robust solvers to solve electrochemical differential algebraic equations.

![The PyBaMM logo in standard Python blue and yellow colours displaying a pack of batteries](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f40wv7k7dwulfle14gm0.png) 
###### The PyBaMM logo in standard Python blue and yellow colours displaying a pack of batteries

&nbsp;

PyBaMM is supported by institutional partners such as the Faraday Institution and is sponsored by NumFOCUS since 2022, in a mission to advance open science by means of industry-wide and academic collaborative practices. 

This is a long-size project offered by PyBaMM, and I will be working over the course of 350 hours.

---

## My journey so far

This section describes how I came to be associated with PyBaMM since the beginning to the end of the Community Bonding period.

### Interests

I was scourging through issues while contributing to Hacktoberfest last year, and PyBaMM caught my eye–an open-source project in Python for scientific research! I had always loved my readings of  electrochemistry in high school: I quickly submitted a pull request then to drop support for Python 3.7.

### Contributing

I followed with more pull requests for short fixes in the documentation, a pull request to introduce helper functions in order to autogenerate docstrings, a newer link checker in the CI, and more. I do not possess an understanding of battery physics; however, I continued pushing changes wherever I could. Most of my contributions were for quality-of-life improvements, and I followed suit by joining the PyBaMM Slack organisation looking for chances to help out and learn as much as I can. My fear of large codebases has subsided ever since and I can say that I am familiar with PyBaMM's workflows and how they all integrate together with each other on pull requests, releases, nightly runs, benchmarks, and more.

### GSoC 2023: Community Bonding

In almost as if a recognition for my efforts, I have been selected as a GSoC student this year and I am elated to be mentored by two of the PyBaMM maintainers [Valentin Sulzer](https://sites.google.com/view/valentinsulzer) and [Saransh Chopra](saransh-cpp.github.io).

The Community Bonding period ended on 28 May, 2023, culminating with an invitation to join PyBaMM's GitHub organisation as a member. 

---

## Footnotes

I am eager to start working as soon as possible and get my hands dirty on some code! I would also love to build a substantial sense of camaraderie with my mentors and the PyBaMM developers over the course of the next twelve weeks.

## References

A link to my GSoC proposal: [[PyBaMM] – Documentation (GSoC 2023)](https://docs.google.com/document/d/1JDLxmU8Qou9i38vJrJ-HmG-89xTMcF9CoRbu9tHz-3Q/edit?usp=sharing), and [my GSoC project on the Google Summer of Code website](https://summerofcode.withgoogle.com/programs/2023/projects/DdcerdTx)

## Stay tuned

I will be posting these blogs fortnightly as a part of my GSoC project. Thoughts, comments, constructive criticism, and insights will be greatly appreciated. See you soon on the next one! For updates, please follow me on my social media handles:

- [Twitter](https://twitter.com/agriyakhetarpal)
- [GitHub](https://github.com/agriyakhetarpal)
- [LinkedIn](https://linkedin.com/in/agriyakhetarpal)