Skip to content

ENH: Final PR for Python bindings for Seldon (GSOC'24)#2

Merged
HaoZeke merged 84 commits into
seldon-code:mainfrom
User-DK:main
Aug 25, 2024
Merged

ENH: Final PR for Python bindings for Seldon (GSOC'24)#2
HaoZeke merged 84 commits into
seldon-code:mainfrom
User-DK:main

Conversation

@User-DK

@User-DK User-DK commented Jun 20, 2024

Copy link
Copy Markdown
Collaborator

This work is a part of Google Summer of Code 2024 under the Python Software Organisation. The aim of this project is to create Python bindings for the Seldon framework. The Seldon framework is a C++ Engine for Opinion Dynamics. The bindings and the complete project as a python package will allow users to use the Seldon framework in Python and carry out Simulations.

The Goals of the project were as Follows:

  • ☑ Create Python Bindings using Pybind11 for Seldon.
  • ☑ Create a Python Package for the same, named as PySeldon.
  • ☑ Create Documentation for the Python Package using Sphinx Documentation.
  • ☑ Test the package and publish the package to PyPi (Python Packaging Index)

@HaoZeke

HaoZeke commented Jun 21, 2024

Copy link
Copy Markdown
Member

Please rebase these with the identifiers.

@HaoZeke HaoZeke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please lint this, and apart from a few comments, looks very promising. Lets get this in this week, and move forward to a CI test of this

Comment thread .gitignore
Comment thread TODO.txt Outdated
Comment thread environment.yml
Comment thread meson.build Outdated
Comment thread meson.build Outdated
Comment on lines +2 to +9
#include "model.hpp"
#include "model_factory.hpp"
#include "models/ActivityDrivenModel.hpp"
#include "models/DeGroot.hpp"
#include "models/DeffuantModel.hpp"
#include "models/InertialModel.hpp"
#include "network.hpp"
#include "simulation.hpp"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit -> nicer to have the scoping project, so models/DeGroot.hpp -> seldon/models/DeGroot.hpp

Flowy had a similar refactor / reworking for this

Comment thread python_bindings/bindings.cpp Outdated
Comment thread python_bindings/bindings.cpp Outdated
Comment thread tests/config/inconf.toml
Comment thread tests/test.py Outdated

@HaoZeke HaoZeke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please lint this, and apart from a few comments, looks very promising. Lets get this in this week, and move forward to a CI test of this

@HaoZeke HaoZeke added the gsoc24 label Jun 21, 2024
User-DK and others added 9 commits August 24, 2024 00:09
Helps with cibuildwheel too :)

Co-authored-by: User-DK <User-DK@users.noreply.github.com>
Co-authored-by: User-DK <User-DK@users.noreply.github.com>
Co-authored-by: User-DK <User-DK@users.noreply.github.com>
Co-authored-by: User-DK <User-DK@users.noreply.github.com>
Co-authored-by: User-DK <User-DK@users.noreply.github.com>
Also bump ubuntu version

Co-authored-by: User-DK <User-DK@users.noreply.github.com>
Co-authored-by: User-DK <User-DK@users.noreply.github.com>
MAINT: Setup integration with `cibuildwheel`
@HaoZeke

HaoZeke commented Aug 24, 2024

Copy link
Copy Markdown
Member

Please rename everything to PsiSeldon :)

Comment thread docs/examples/network.ipynb Outdated
Comment thread res/PySeldon.svg
Comment thread res/_logotext.png

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment that this is to simulate an incorrect config for a test? Also as noted, perhaps an in-code fix for this, reading in the correct config, and changing a value to an incorrect one for a key before the test.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace with myst markdown please.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace with myst markdown please.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replace with myst markdown please.

Comment thread docs/conf.py
project = 'pyseldonlib'
copyright = '2024, PySeldon Developers'
author = 'Amrita Goswami, Daivik Karbhari, Moritz Sallermann, Rohit Goswami'
release = '1.0'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sync the version please

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will be done later, once dynamic release is setup.

@HaoZeke HaoZeke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for all the work on this!

@HaoZeke HaoZeke merged commit 11cbb82 into seldon-code:main Aug 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants