Skip to content
This repository has been archived by the owner on Jan 2, 2023. It is now read-only.

Use the Github API to find the URL of dependencies #166

Open
Ly0n opened this issue Sep 8, 2020 · 1 comment
Open

Use the Github API to find the URL of dependencies #166

Ly0n opened this issue Sep 8, 2020 · 1 comment

Comments

@Ly0n
Copy link
Member

Ly0n commented Sep 8, 2020

One of the most complex parts of LibreSelery is dependency scanning.
The performance of this function is quite bad at the moment:

-- pypi: gitpython [==3.1.7]

FOUND global-data-manager: 'https://github.com/SpencerTuft/global-data-manager' [SpencerTuft]
-- pypi: pybraries [==0.2.2]
FOUND global-data-manager: 'https://github.com/SpencerTuft/global-data-manager' [SpencerTuft]
-- pypi: urlextract [==1.0.0]
FOUND global-data-manager: 'https://github.com/SpencerTuft/global-data-manager' [SpencerTuft]

This relates to following issue:
#98

Even for larger packages, we get bad results for scanning LibreSelery itself. That is why I would suggest removing bibliothecary, Libaries.io, and the many regular expression and parsing we developed with a simple Github API call:

https://docs.github.com/en/graphql/reference/objects#dependencygraphdependency

Extract Upstream URL from Target Repository --> Get Dependencies of Dependency based on a depth parameter -> Gather all URL

Pros:

  • One token less and new users can play with the dependency scanning immediately just with the GitHub token
  • Less Errors in our dependency scanning results
  • LibreSelery will get a pure Python project that will make it much easier to install on different machines.
  • Less complexity in our code

Cons:

@cornerman @kikass13 @yarikoptic @krux02 @fdietze Please give some feedback.

@Ly0n Ly0n added this to the v0.1.0 milestone Sep 8, 2020
@kikass13
Copy link
Contributor

kikass13 commented Sep 8, 2020

@Ly0n
that's not exactly true, dependency SCANNING is fine. The dependency lookup (for authors, contributors inside that dependency) is flawed.

as far as im concerned, i don't care. Whatever works in the end is fine. I mentioned in the issue that the https://libraries.io/ api works perfectly. So I would rather keep using it directly instead of using pybraries (who is the real culprit in #98 )

@Ly0n Ly0n removed this from the v0.1.0 milestone Oct 16, 2020
@Ly0n Ly0n unassigned krux02 Oct 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants