"Dependencies are an invitation for other people to break your package." -- @joshua_ulrich Which of these two setups to query @PostgreSQL from #RStats looks more likely to take that invitation? (Disclaimer: I was the Google Summer of Code mentor helping create RPostgreSQL.)

Dec 20, 2021 · 6:36 PM UTC

9
8
1
85
That's a bit of a misleading graph honestly because a broken testthat dependency won't break your code right?
2
3
Yet it will break your CI setup. See the earliest comment and my comment there.
1
point taken, but would recursive strong dependencies be a fairer comparison? (Unless 'suggests' is used sneakily, i.e. "this is really critical for practical use but it doesn't work unless you've got package XX")
2
1
I use both measures (cf prior tweets). Today was a first with what I am now see as the "weight" of a package: its Suggests (which one may use along with it) and their hard dependencies. (Plot from my suggestion in github.com/DominikRafacz/dee… ) All work in progress, feeback is good.
1
But also: deps help us to work together to produce better things than we would separately e.g. I see rmarkdown on the right and expect more accessible docs (indeed it has a vignette, README, and pkgdown site; pkg on left has none) I prefer neither dep minimalism nor maximalism
1
1
15
Well of course. We all use them. But the *how* and *which* are ours choices, which may differ. You may have seen that I started this series of tweets with one on vignettes (and a blog post), followed by one on testing.
R^4 #034: Less Is More Short musings on the magic of Mies, and on dependencies. dirk.eddelbuettel.com/blog/2… #rstats
1
6
Any tips on navigating the trade off between breaking large package into smaller ones so that components can be reused; eg not all dependencies are equal?
1
This is all well and good (with the notes above) and yes ive had to work around the timezone issues Rpostgres used to have but im willing to put up with it on non production code for the extra speed. I load a lot of data from PostgreSQL to R.
1
One keyword here is "other people" though, if they're sponsored at 95% by the same company and the same people work on those and are in close collaboration it weakens the point. +testthat and markdown make most of the deps and these are "Suggests" that won't ever break RPostgres
5
And this doesn't even include the system library dependencies.
1