pkgnet icon indicating copy to clipboard operation
pkgnet copied to clipboard

#16 Package score ( health) implementation idea

Open cyberninja22 opened this issue 6 years ago • 11 comments

#16 Referring on the package score issue -- @bburns632 ,Some of the quick deployment options,We could use in the next release can be-

  1. Using the statistics like number of downloads every week/month or use a rolling average of the number of downloads as a parameter to implement the green/yellow/red associated with each dimension and an overall health.
  2. Using the downloads since recent major update can also be used as a feature to assign a health to the package .Using the statistics of data from different packages ,we could normalise them and give out a score too.
  3. Getting further data about the downloads, and from benchmarking the data for different qualities( red/yellow/green) will be a quick fix. I want to open up this issue for further discussion and feedback on this rough sketch .. @jameslamb

cyberninja22 avatar Oct 25 '18 01:10 cyberninja22

I like the idea of enriching the package dependencies graph with a "relevance/popularity metric" assuming that if a package is stale, it's unsupported and therefore risky. Hitting this API for download counts is one option (TIL https://cranlogs.r-pkg.org/).

PROS: simple R interface. CONS: now need a user to be connected to the internet to run pkgnet and/or build in a toggle.

Alternatively (or in addition), what do you think about grabbing the last updated date from each package?

PROS: Will be available locally (all must be downloaded to run the package that pkgnet is analyzing). We could grab in same fashion we use utils::packageDescription for the pkg info for the report. CONS: Later versions could exist but are not yet downloaded. This might not be an issue.

Thoughts @cyberninja22 & @jameslamb ?

bburns632 avatar Oct 25 '18 22:10 bburns632

@bburns632 I think this sounds like a new type of reporter. Like instead of jamming this functionality into PackageDependencyReporter, this could be a new thing.

That way, pkgnet can continue to work as it does uninterrupted and then this new object could be injected in only if users want to.

jameslamb avatar Oct 26 '18 02:10 jameslamb

I think this sounds like a new type of reporter. Like instead of jamming this functionality into PackageDependencyReporter, this could be a new thing.

This makes sense but it would be duplicating the computation that PackageDependencyReport is already doing. Would we want to start thinking about dependencies between reporters?

jayqi avatar Nov 04 '18 20:11 jayqi

I'm planning this for the release after next.

bburns632 avatar Nov 30 '18 14:11 bburns632

@cyberninja22 & @jayqi ,

Unfortunately, this feature was not implemented in v0.4.0. This is not a reflection on this feature, and this feature was not blocked or prevented from development. It just happens that authors and contributors focused on the main theme of the v0.4.0 release, improving usability, and did not yet implement this feature.

This idea is being staged for the next release (v.0.5.0) temporarily. The theme, goal and scope of v.0.5.0 is open for discussion in #208, and I encourage you both to join the conversation.

bburns632 avatar Apr 01 '19 03:04 bburns632

hey @bburns632 , I will be looking to make few changes and updating in a week .

cyberninja22 avatar Apr 06 '19 01:04 cyberninja22

Looking forward to it.

Jay & James, are your comments still relevant given latest refactor?

-Brian

On Fri, Apr 5, 2019, 8:05 PM cyberninja22 [email protected] wrote:

hey @bburns632 https://github.com/bburns632 , I will be looking to make few changes and updating in a week .

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/UptakeOpenSource/pkgnet/issues/116#issuecomment-480461500, or mute the thread https://github.com/notifications/unsubscribe-auth/AXZRy5d73ztTgtijC3gnHgD6jTeWm0Ntks5vd_LRgaJpZM4X5VWA .

bburns632 avatar Apr 06 '19 10:04 bburns632

I believe so. @cyberninja22 since we have made some major changes recently, just be sure to pull the latest version of master and rebase your working branch to it.

Second @bburns632 , really looking forward to it!

jameslamb avatar Apr 06 '19 18:04 jameslamb

@jameslamb sure !

cyberninja22 avatar Apr 08 '19 21:04 cyberninja22

@jameslamb @bburns632 does the implementation use only the base packages ? is it okay to use other packages , since I saw that libraries associated with this package are all base (mostly?) . let me know

cyberninja22 avatar Apr 14 '19 20:04 cyberninja22

@cyberninja22 sorry I don't understand the question, could you rephrase it? Are you asking "is it ok if I introduce new dependencies to pkgnet as a part of implementing this change?"

If that's the question...we can't categorically say "no". There may be some very justifiable reasons to add new dependencies, and you may find that whatever you want to add is already there somewhere in our recursive dependency tree (see this fun thread on rlang from #200 ).

jameslamb avatar Apr 28 '19 17:04 jameslamb