Enhance Cantor with package management capabilities
Project abstract
Objective: Implement package management features from RKWard into Cantor for managing packages in multiple languages via a GUI. Enhance Cantor with package management capabilities.
This project aims to enhance Cantor, a scientific computing environment, by integrating package management features from RKWard and RStudio. The objective is to provide a user-friendly graphical interface for managing packages in R, Octave, Julia, and more within Cantor, improving usability and functionality.
Proposal
Tasks:
- Analyze RKWard's package management code (https://github.com/KDE/rkward/tree/master/rkward/rbackend/rpackages) to extract implementation ideas and best practices.
- Adapt and implement package management features in Cantor, focusing on a user-friendly interface.
- Ensure support for package management in R, Octave, Julia, and other scientific computing languages.
- Design an intuitive and consistent graphical interface for package management in Cantor.
- Implement package installation functionality for supported languages.
- Develop features for updating and removing packages within Cantor.
- Ensure the package management system works seamlessly across various operating systems.
- A key detail is how we would develop this package management (new plugin for every supported backend systems or as part of the already existing pligins). Similarly for where to show this package management - in the dedicated panel for it like it's already done for variables, documentation, etc. - or in the application settings.
Deliverables
- A user-friendly graphical interface for package management in Cantor (either in the settings or as a new panel in the application)
- Package installation functionality for R, Octave, Julia, and other supported languages in Cantor.
- Features for package updates and removal in Cantor.
- Comprehensive documentation and user guides for Cantor's new package management system.
Timeline
Weeks 1-2 (January 17th - January 30th): Project Setup and Code Review
- Set up the development environment for Cantor.
- Conduct an in-depth code review of RKWard's package management system.
- Document essential implementation ideas and best practices.
Weeks 3-4 (January 31st - February 13th): Initial Implementation
-
Begin implementing package management features in Cantor.
-
Focus on creating a consistent and user-friendly interface for package management.
Weeks 5-8 (February 14th - February 27th): Feature Development and Testing
- Implement package updates and removal features in Cantor.
- Ensure that installation, updates, and removal processes work smoothly.
Weeks 9 (March 14th - March 27th): Other languages
- Extend package installation to support multiple languages (e.g., R, Octave).
- Test and verify compatibility with different languages.
- Become familiar with the different package management tools for the different languages and it's not a simple "extension" of what was done for R but rather a completely different implementation at the end most probably.
Weeks 10-12 (March 28th - March 31st): Final Testing and Documentation
- Conduct a final round of testing and quality assurance.
- Complete documentation, including user guides and instructional materials.
- Write up a blog post
🙂
Foreseen challenges
I anticipate potential challenges in integrating package management from RKWard into Cantor, such as ensuring cross-language support and dealing with platform-specific issues. To address these challenges, I plan to collaborate closely with mentors and the community for guidance and testing. I'll also prioritize clear documentation to facilitate user adoption and problem-solving.
References / relevant background info
(Some contributions in KDE or other project with Gitlab/Github links, and should we choose you to carry this task)
- Internship with Microsoft's Flatcar team: https://www.flatcar.org/blog/2023/07/summer-2023-my-internship-experience/
- Eg. https://github.com/flatcar/scripts/commit/6380a43b4f37297bd3c7935f1649b3389e5d530e
How to reach you
Element -@krishjain:matrix.org Email Address: kjain7@u.rochester.edu
Note: we don't need (yet) your personal address/phone, it will be necessary only if you succeed the SoK and wants to get goodies.
/cc @teams/season-of-kde