For a while now, the publishing procedure of a package on Delphinus required Authors to add a keyword to their readme. At the time, this seemed to be the only way for me, to incorporate the Github-API for querying a list of available packages. However this came with an unforeseen disadvantage.
While a Github-Query allows me to ignore forks of package-repositories, mirrored repositories are not filterable in an easy way. I quickly noticed, that some users, instead of using the “Fork” function on Github, would push a repository they previously cloned from someone else to a new repo on their account. Those mirrors have the keyword in the readme, and NO Fork-Flag for the Queries to filter them out. Therefore i had to add some manual filtering in the past, which requires to peek into those repos Delphinus.Info.json and check their id to look for duplicates. This means that search-results are not just bloated, and potentially require extra paging, adding costs to the API, i have to check several repos just for the sake of filtering and therefore creating even more calls/costs to the APIs ratelimit. While improvements to the duplicate-detection is possible, the issue with bloated search-results remain.
Luckily, Github has introduced a new feature, called Topics. Those are basically Tags. And a new preview-api for searching based on Topics is available as well. This gives me some advantages over the previous approach:
- You no longer have to clutter your readme with the keyword (Once Delphinus switches over to the new technique)
- If forked(which includes the Topics), it is still filtered out by Github
- If mirrored from a local git-repo, Topics are missing and therefore a repo will not show up in a search-result by accident.
I’ll still have to keep the duplicate-check, but with a cleaner search-result, this will improve the overall performance and help Package-Authors.
Delphinus will NOT search by Topics as of now, therefore using the readme-keyword is still required. But everyone should update their repos for the future.
The Topic you have to add is delphinuspackage
All lowercase. The Wiki has been updated accordingly.
To check if you’ve made the correct changes to your topics, you can view all repos by a specific topic on Gitub: Repos by Topic: delphinuspackage
If your repo appears in this list, you’re ready.