How do you choose what crate you will use?

107 points Trader-One

My strategy:

  1. I aim for minimalistic libraries, which do not enforce their choices on me. For example, I do not want web framework to dictate me which templating I must use.
  2. I prefer small and tested stuff. I look at code coverage % and LOC.
  3. If there are several competing products, I pickup better documented one.
  4. If there is huge difference in dependency LOC - for example 5M vs 1M - I go with smaller one, overriding #3.
  5. I do not care if library I pick is popular or not.
  6. I really do not like kitchen-sink style libraries - attempting to do too much things at once, their documentation is often lacking and they need more understanding how are several their parts linked together. From my experience, I spend too much time dealing with framework itself and not writing my code.
  7. no-std is bonus. #webasm
  8. I avoid libraries without readme and without link to repository. Too much work with locating the repo and bookmarking.
  9. Badges in readme are plus \- quick overview (LOC, Coverage, download counts, ...)