Post 14: Final Report and Recollections
ruhi
Published: 08/28/2023
I have finalized my report here:
https://gist.github.com/RuhiRG/9a33441072660bd62b987f77b9d88367
I also submitted my final google form.
Since the semester has begun in earnest I haven't had much free time for FOSS work. I do have plans for the winter and other vacations. I thought I'd wrap up with some scattered thoughts on what the project was (from my running notes throughout the coding period which never made it into a full blog before).
It would be an honor to work on a GSoC project under the PSF next year as well. It has been a pleasure.
View Blog Post
Week 13: Addenum and Capstone
ruhi
Published: 08/23/2023
Overview
This is my last week working on d-SEAMS and my freshly minted `pyseams` project as a GSoC student for 2023. I have been working on polishing up my PRs so they can be merged and finalizing my work product. It has been a pleasure to share my progress with the community each week. Moreover, I've been discussing the design of `d-SEAMS`, which my mentor tells me is a good sign of taking responsibility. This has been my first project in the public eye, and it has truly been a pleasure..
For my final report, I opted for a Github Gist:
gsoc23_pyseams_fin_report.md
I plan to keep revising this for a while now, with inputs from my mentor as well.
Issues Opened
- RFC: Removing lua
bindings
PRs Merged
- BLD: Work on MacOS, use as a subproject
View Blog Post
week 12: wrapping up
ruhi
Published: 08/16/2023
Initially, the plan was to write the python binding along side of lua so that we could use both. while, doing the python bindings, we (me and my mentors) realized that the lua pointer to objects function design led to very awkward (not pythonic) bindings. To this end I worked on refactoring the functions inside seams-core itself, though this in-turn broke the lua interface which did not support constructing C++ objects from lua (and by extension could not use the new value return-type functions). So, this week as discussed with my mentors, we removed the lua interface from the C++ command line interface.
At one point in an earlier week I had floated the idea of eventually embedding the python interpreter into the C++ CLI instead of the lua interpreter and using the new bindings, however, the development team felt that this is a cleaner approach. The C++ CLI remains capable of reproducing the older D-SEAMS results, and a major release will clarify the role of the C++ core as a backend engine with Python bindings.
Check-in Questions
What did you do this week?
- Wrote the last of example function binding chillPlus.
- Wrote code to call it directly from C++ and python without any involvement of lua.
- The problem with installation of dSEAMS in Macos is fixed.
What is coming up next?
- Clear documentation for the whole work.
- Final report which will also detail my next steps for collaboration.
Did you get stuck anywhere?
No, I wasn't stuck anywhere.
View Blog Post
week 11: Bulk systems and 2-D ice analysis
ruhi
Published: 08/09/2023
This week, I was testing more in-built examples from seams-core by calling it from python. Unfortunately, I ran into a bug while writing the pybind
for bulkTopologicalCriterion
example. I raised an issue about it.
Check-in Questions
What did you do this week?
- Wrote working pybinds for topo2d , BPring and bulkTopologicalCriterion in-built examples.
- Raised an issue for a bug in
bulkTopologicalCriterion
example.
What is coming up next?
- Better documentation of
pyseams
- Visualising workflows.
- Look into replacing the
lua
interpreter in the C++ CLI with pybind11
.
Did you get stuck anywhere?
No, I wasn't stuck anywhere.
View Blog Post
week 10: Testing examples with pybind
ruhi
Published: 08/02/2023
This week, I was testing in-built examples from seams-core by calling it from python. I was also working on updating the new installation methods for seams-core with meson
and building the executable with lua
and meson.
Check-in Questions
What did you do this week?
- Ran an in-built example from seams-core from python and compared to the
lua
implementation.
- Made changes in the README.md file for installing updates.
- Updated the environment.yml and meson.build file for version updates.
- Started working on atomic visualizations.
What is coming up next?
- Adding plots.
- Better documentation of
pyseams
- Visualizing workflows.
- Adding pytests.
- Continuing the CI test to see if the results are same.
- Doing the rest of the two workflows.
Did you get stuck anywhere?
No, I wasn't stuck anywhere.
View Blog Post