uptake / pkgnet

R package for analyzing other R packages via graph representations of their dependencies
https://uptake.github.io/pkgnet/
Other
155 stars 37 forks source link

Python Package #268

Closed jayqi closed 4 years ago

jayqi commented 4 years ago

This is an initial PR from my fork into an uptake:py-pkg branch, with a generally working implementation of pkgnet in Python.

I deliberately have not moved any of the existing files related to the R package to avoid unnecessary diffs. We can move everything once we're ready to merge the Python package into master.

Some salient points:

codecov-io commented 4 years ago

Codecov Report

Merging #268 into py-pkg will not change coverage by %. The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           py-pkg     #268   +/-   ##
=======================================
  Coverage   92.46%   92.46%           
=======================================
  Files          12       12           
  Lines         929      929           
=======================================
  Hits          859      859           
  Misses         70       70           

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 9fe580d...307dfae. Read the comment docs.

jayqi commented 4 years ago

@jameslamb @bburns632 did some work on things this week and I think it's ready for another look.

do you propose that we eventually have only one JS backend and hide the details of it from users? Or do you think it's possible we'll keep multiple and allow people to pick between them with a new keyword argument to create_package_report()?

I had ambitiously been imagining the latter, but maybe that's too ambitious. I'm open to either.

Could you add a smoke test that minimally tests create_package_report() with all the reporters on something that is likely to already be installed, like requests?

I've added a README. I think running on jinja2 is simplest package that works quickly and reliably. Instructions are in the readme.

jayqi commented 4 years ago

Alright, since you approved and this is going into a separate branch anyways, I'm going to merge this and start tackling tests and other stuff in new PRs.