best-of-lists / best-of-generator

🏆 Generates a ranked list of awesome libraries and tools.
https://best-of.org
GNU General Public License v3.0
74 stars 13 forks source link

[WIP] GitLab integration #28

Closed raethlein closed 3 years ago

raethlein commented 3 years ago

What kind of change does this PR introduce?

Description:

This PR adds integration for GitLab and other repositories that are based on GitLab (e.g. heptapod). It adds similar information as the GitHub integrator, but the the GitLab GraphQL seem to not provide all the information such as the project's license. Hence, this information is missing.

Adding libio or GitLab's Rest API to fetch some more information should be evaluated and probably added.

In general, it might make sense to refactor the code base from the perspective that it does not rely on GitHub - there are some checks in the code that require GitHub - but rather a code repository id.

An example project entry for the integration to test with is:

  - name: openpyxl
    gitlab_id: openpyxl/openpyxl
    api_url: https://foss.heptapod.net/api/graphql
    pypi_id: openpyxl
    conda_id: openpyxl
    dockerhub_id: openpyxl/openpyxl-ci
    docs_url: https://openpyxl.readthedocs.io/en/stable/
    category: data-loading

Checklist:

lukasmasuch commented 3 years ago

Thanks! Looks good for me, I added a few comments/questions above.

lukasmasuch commented 3 years ago

I added the gitlab_id to the documentation.