badge suggestion: dependent packages and dependent repos from ecosyste.ms
- Dominant language
- JavaScript
- Stars
- 27.2k
- Forks
- 5.6k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 46
Description
### 📋 Description
https://ecosyste.ms/ collates and publishes open data about a variety of package ecosystems.
I suggest using their API to create 2 badges showing
- number of dependent packages and
- number of dependent repos
### 🔗 Data
Docs: https://packages.ecosyste.ms/docs/index.html
Some example API calls:
- https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/got
- https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/django
- https://packages.ecosyste.ms/api/v1/registries/hub.docker.com/packages/library%2Fdebian
Rate limit: https://github.com/ecosyste-ms/packages/#api
5000/req per hour (pretty generous) with option to contact and request an increase
### 🎤 Motivation
I think the case where this API would be most useful are the `dependent_packages_count` and `dependent_repos_count` fields. At the moment, we have libraries.io badges for these but given the problems we are having in https://github.com/badges/shields/issues/9839 I think implementing some badges that show this data from ecosyste.ms would give users somewhere to go if we aren't able to get an upstream solution to help us get the token pool working again and have to deprecate.
There could be other useful data points that are available from this API, although a lot of them would just replicate data available from the upstream registries themselves (e.g: latest version, downloads, etc). I wouldn't want to get too bogged down in reproducing data points we already get straight from the registries, especially given there is a rate limit to stay under.
Contributor guide
Research direction
Start with the ecosyste.ms package API documentation and the example package endpoints in the issue. Identify how Shields implements existing libraries.io dependency badges and determine the registry and package inputs needed for npm, PyPI, and Docker Hub. Done means two badges report dependent package and dependent repository counts with appropriate tests and rate-limit handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100