-
Notifications
You must be signed in to change notification settings - Fork 6
Updates in VedicDateTime R Package
The VedicDateTime R package is a powerful tool for working with dates and times in the Vedic calendar system. Over time, the package has proven to be highly useful, but there is still room for improvement. The current version has some limitations, including the need for enhanced accuracy, additional calendar system support, and expanded functionalities for better usability.
In this project, we propose to update and enhance the VedicDateTime package by incorporating better algorithmic efficiency, improving the integration with modern R packages, introducing robust unit testing, and enhancing package modularity. These updates will significantly improve package usability and performance.
The VedicDateTime R package was originally developed in GSoC-2022 through two projects: Part A and Part B. The development details are available in this journal article.
This project aims to refine and extend the package further to make it more precise, efficient, and user-friendly. The proposed enhancements will improve its reliability for researchers, historians, and those interested in Vedic timekeeping.
The goal of this project is to upgrade the VedicDateTime R package. The following updates are planned:
- Refactor package structure: Improve the modularity and maintainability of the package by reorganizing internal functions and implementing cleaner function interfaces.
-
Enhance computational efficiency: Optimize existing functions using vectorized computations with the
data.table
anddplyr
packages to improve performance. -
Expand compatibility with other R packages:
- Improve integration with
lubridate
for seamless datetime manipulations. - Enhance support for
tidyverse
functions to make data wrangling easier. - Provide better compatibility with
ggplot2
for visualizing Vedic date-time information.
- Improve integration with
-
Implement robust unit testing:
- Use
testthat
andcovr
to ensure code coverage and reliability. - Include comprehensive test cases to validate Vedic-Gregorian conversions and date-time computations.
- Use
-
Introduce API improvements:
- Implement function aliases to improve usability and make functions more intuitive.
- Provide better handling of missing or incorrect inputs with informative error messages.
-
Improve documentation and vignettes:
- Provide detailed function documentation using
roxygen2
. - Add more real-world use cases and expanded examples in the vignettes.
- Create a tutorial for first-time users with sample workflows.
- Provide detailed function documentation using
These enhancements will significantly improve the performance, modularity, and usability of the VedicDateTime package. The updated package will allow users to efficiently integrate Vedic timekeeping into modern analysis frameworks while ensuring better accuracy and ease of use. Additionally, improved documentation and robust unit tests will facilitate long-term maintenance and community contributions.
EVALUATING MENTOR:
Neeraj Dhanraj Bokde, Senior Researcher, Technology Innovation Institute, Abu Dhabi, and former Assistant Professor at the Center for Quantitative Genetics and Genomics, Aarhus University, Denmark. [email protected].
Neeraj has a Ph.D. in Data Science and has contributed to several R packages related to time series analysis, testbenches, and domain-specific applications. Neeraj has been a GSoC mentor since 2020. https://www.neerajbokde.in/
Aditya Gupta, Researcher at the University of Agder, Norway, with extensive experience in data science. Aditya has a Ph.D. in data-driven solutions for environmental issues. [email protected]
Students, please complete one or more of the following tests before contacting the mentors:
- Easy: Download the VedicDateTime package and demonstrate it with a naturally occurring time series. Document your findings with RMarkdown.
- Medium: Suggest possible updates or a new feature you would like to include in the next version of the package and justify its importance.
- Hard: Develop a dummy implementation of five functions along with a vignette and pass it with no Error/Warning/Note through https://win-builder.r-project.org/.
Students should post a link to their test results below:
Contributor Name | GitHub Profile | Test Results |
---|---|---|
Niall Unani | GitHub | Medium Hard |
Sanat Kumar Gupta | GitHub | Test Results |
Ajay Singh | Github | Test Result Github Repository Merged PR Open PR |
Jiayi Qian - Github link