Lightweight is the right weight


Dependencies matter. Every dependency you add to your project is an invitation to break your project.

You send that invitation to the direct dependency author, and every downstream author. Add dependencies with care. Evaluate the trade-offs between depending on another package/library and using existing functionality.

When you choose to depend on other projects, consider whether you will use the dependency in standard and common ways. You may want to look for an alternative if you would test the boundaries of its' functionality.


Though the title is dramatic, Code dependencies are the devil provides a great overview of why dependencies should be added with care. It contains a set of questions to help you evaluate whether to add a project as a dependency.

Dirk Eddelbuettel wrote about dependency woes he experienced. He also includes examples of others' experiences.

Scott Chamberlain published a very nice blog post on limiting dependencies in R package development. Be sure to read the references as well.

Dirk Eddelbuettel took a great short introduction into getting started in in R by Saghir Bashir and modified it to create a tinyverse edition that has a careful focus on dependency use.