I personally don’t think it’s good practice in 2022.
As a novice user, I used to find this confusing because it’s asking the user to manually manage dependencies when they are usually managed automatically by R. I didn’t understand why automatic installation didn’t happen for these particular dependencies and got confused about R package installation and dependency management.
One common argument in favour of low-dependency packages is that “dependencies are an invitation for other people to break your package” (1). But this argument does not apply here since the dependency is still present. Any breaking update to this dependency will still break the function.
Another argument is that dependencies can be long to install, especially when you have to compile them. However, I don’t think this argument is still valid now that we have projects like RStudio package manager or [CRAN - Package bspm] which provide pre-compiled binaries even for common Linux distributions.
Overall, I don’t think this approach of artificially demoting hard-dependencies as
Suggests should still be used in 2022. This only case when this might make sense in my opinion is when you reach the hard limit of 20
Imports enforced by CRAN. But even then, I think there are better options to reduce the number of hard dependencies.