Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shelling out external network call dependency #47

Open
ba11b0y opened this issue Mar 14, 2023 · 3 comments
Open

Shelling out external network call dependency #47

ba11b0y opened this issue Mar 14, 2023 · 3 comments

Comments

@ba11b0y
Copy link
Contributor

ba11b0y commented Mar 14, 2023

Right now, the parsers try to make external network calls for fetching package data.

nuget

https://github.com/opensbom-generator/parsers/blob/main/nuget/helpers.go#L14

Used to fetch:

  • nuget spec
  • checksum

pip

https://github.com/opensbom-generator/parsers/blob/main/pip/worker/pypi.go#L85

Used to fetch:

  • author details
    • There's no need to make an external network call here since this information is available with pip's metadata.
  • checksum
  • download url

Bonus:

For all dependency managers, pip offers a command pip inspect to get metadata
for the current environment which contains package metadata, platform information(this can be used for #25) and a lot more.

@ba11b0y
Copy link
Contributor Author

ba11b0y commented Mar 14, 2023

For pip, I couldn't find checksum/download url information locally :/
cc: @nishakm @puerco

@nishakm
Copy link
Contributor

nishakm commented Mar 14, 2023

@ba11b0y pip doesn't natively list projects with hashes. I've used pip-tools to get that info: pip-compile --generate-hashes.

@ba11b0y
Copy link
Contributor Author

ba11b0y commented Mar 14, 2023

But don't we want to extract information from what we already have? Using pip-tools means that the project owners will need to have pip-tools installed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants