The core.py file was meant to act as a central utility module where multiple other modules could find common functions. Over time, it has become bloated and it makes sense to move some of the related functions into its own module. For example, it might make sense to have:
gpu_core.py for all GPU-related utilities
process.py/preprocess.py
check.py for functions that "check" the state of an array
rolling.py for anything related to rolling/sliding window computations
distance.py
mcore.py for all multi-dimensional utility functions
It is okay if core.py imports from these other modules and this would reduce the number of changes in our API modules (i.e., our user facing API modules wouldn't change at all as long as they continue importing from core.py). Of course, any refactoring will also involve moving their associated unit tests as well
The
core.py
file was meant to act as a central utility module where multiple other modules could find common functions. Over time, it has become bloated and it makes sense to move some of the related functions into its own module. For example, it might make sense to have:gpu_core.py
for all GPU-related utilitiesprocess.py
/preprocess.py
check.py
for functions that "check" the state of an arrayrolling.py
for anything related to rolling/sliding window computationsdistance.py
mcore.py
for all multi-dimensional utility functionsIt is okay if
core.py
imports from these other modules and this would reduce the number of changes in our API modules (i.e., our user facing API modules wouldn't change at all as long as they continue importing fromcore.py
). Of course, any refactoring will also involve moving their associated unit tests as well