- Organisation: Python Software Foundation, Seldon-Code
- Mentors: Amrita Goswami, Rohit Goswami, Moritz Sallermann
- Project length: 350 hours
- Difficulty level: Hard
Hello I am Daivik Karbhari
, I contributed to Python Software Organisation during this year's (2024) Summer of Code
.
Under the Python Software Foundation (PSF) Organisation umbrella, I contributed to the Seldon-Code: Opinion Dynamics Simulation Framework
project.
In particular, I created Python bindings using the Pybind11
library for the Seldon framework which is written in C++20. To facilitate wider use and easy identification, we have named this bindings project PySeldonlib
as it provides easy access to the Seldon framework from Python.
This initiative will bridge the gap between the engine's high-performance computational capabilities and the flexibility of Python for scripting and data analysis.
The Goals of the project were as Follows:
- ☑ Create Python Bindings using Pybind11 for Seldon.
- ☑ Create a Python Package for the same, named as
PySeldonlib
. - ☑ Create Documentation for the Python Package using Sphinx Documentation.
- ☑ Test the package and publish the package to PyPi (Python Packaging Index)
I am happy to report that I believe I have completed all the goals of my project.
As I worked and reworked building the entire repository from top to bottom so I have a single pull request (PR) from my fork to the PySeldonlib
repository which was a blank repo created by the organization mentors.
This PR allowed me to solicit reviewer feedback weekly, without worrying about merging in until the end.
Here's the link: GSoC_final_PR
PyPi Package landing page: pyseldonlib
Documentation: pyseldonlib-doc
Repository: pyseldonlib-repo
During this Summer also wrote both blog-post updates on my progress throughout the coding period, along with shorter updates mandated by the PSF.
Here's a link to my blogs on Python-GSoC mastadon server: Mastadon
Here's a link to the blogs on my personal website: Blogs
The above blogs were complimentary to the weekly mandatory updates posted each week to Mastodon server administered by the Python Software Foundation.
Apart from these outlets, during this coding period I also raised many minor issues and some pull requests which are listed below,
- pyseldonlib # 2
- pyseldonlib #10
- seldon #49
- seldon #47
- seldon #45
- seldon-code/hari-plotter #32
- seldon-code/hari-plotter #35
- Python Bindings creation using Pybind11
- Python Packaging concepts (wheels and cibuildwheel)
- Github and Version control system
- Technical writing and Python documentation with Sphinx