Qiskit / ecosystem

The Ecosystem consists of projects, tools, utilities, libraries and tutorials from a broad community of developers and researchers. The goal of the Ecosystem is to recognize, support and accelerate development of quantum technologies using Qiskit.
https://www.ibm.com/quantum/ecosystem
Apache License 2.0
95 stars 48 forks source link

Update labels #745

Closed frankharkins closed 3 weeks ago

frankharkins commented 3 weeks ago

Summary

This PR updates the labels to the new list for the new ecosystem page. There are a few changes here but it's not easy to split them into PRs as many rely on eachother. To make reviewing easier, you can instead view each commit.

  1. cdad7f66cc331660d9b9b5bc876c26bc24aff04b updates labels.json with the new list of labels.

  2. 8a0249a77107750c7b089f4f237ca346e48d67d9 uses a short script to automatically remove and update labels. This commit also adds the ibm_maintained attribute to the repository model, which will be required for the new page.

    Show script ```python from ecosystem.daos import DAO REMOVED_LABELS = [ "Advocate mentorship project", "Circuit", "IBM maintained", "Julia", "Jupyter notebook", "Partner", "Education", "Hardware", "OpenQASM", "Productivity", "Prototype", "Quantum information", "Rust", "Visualization", ] dao = DAO("ecosystem/resources/") for repo in dao.get_all(): # Pull IBM maintenance status into attribute if "IBM maintained" in repo.labels: repo.ibm_maintained = True # Update labels if "Circuit" in repo.labels: repo.labels.append("Circuit building tool") repo.labels = [l for l in repo.labels if l not in REMOVED_LABELS] repo.labels.sort() # Turn group attribute into label if repo.group == "transpiler_plugin": repo.labels.append("Transpiler plugin") if repo.group == "applications": repo.labels.append("Application package") if repo.group == "provider": repo.labels.append("Compute provider") dao.write(repo) ```

    The group attribute can be ignored by the new ecosystem page, so it will remain until the current page it taken down.

  3. 26e1594f7723c037b417101cd5e4f2ce3b603154 manually reviews each member again to make sure labels are still relevant.

  4. 84061e3864cb056b5e79fddacd22bc86a0b059d9 adds some logic to have the ibm_maintained attribute appear as a label on the current webpage. Like #742, this makes the current website generation script a bit more brittle. This is ok as it's a temporary trade-off; the current page will not be online much longer.

  5. 71e13b77a7fd736b0f004bd2f364375873f90f66 updates the issue template with the new labels and ibm_maintained attribute. It also updates the parser to handle the new attribute. See https://github.com/frankharkins/ecosystem/pull/95/files for an example of the parser working correctly.