Extensions to the edk2 build system allowing for a more robust and plugin based build system and tool execution environment
tianocore/edk2-pytool-extensions erreicht einen Gesundheitsindex von 84 von 100 und liegt damit im Bereich Exzellent. Am stärksten schneidet es bei Vitality (80/100) ab, am schwächsten bei AI Readiness (38/100). Zuletzt vor 3 Tagen aktualisiert. 2 Mitwirkende tragen den Großteil der jüngsten Arbeit.
Metriken werden auf einer standardisierten Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr gewichtetes Mittel, kalibriert auf die Verteilung des öffentlichen Registers, sodass die Stufen Perzentilbedeutung tragen; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze Gefährdet von 34.
Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.
Der gewichtete Gesamtwert 71 wird auf der veröffentlichten Indexskala auf 84 kalibriert (Register-Kalibrierung 2026-08-02).
Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.
| Registry | Paket | Version | Downloads / Monat | Versionen | Zuletzt veröffentlicht |
|---|---|---|---|---|---|
| PyPI | edk2-pytool-extensions | 0.31.0 | - | 115 | vor 122 Tagen |
Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?
| 36/36 | Push-Aktualität — letzter Push vor 3 Tagen |
| 11.8/36 | Commit-Rhythmus — 17/52 Wochen mit Commits |
| 15.4/18 | Commit-Volumen — 51 Commits im letzten Jahr |
| 10/10 | OpenSSF Scorecard: Maintained — 15 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10 |
| commits_last_year | 51 |
| human_commit_share | 0,62 |
| days_since_last_push | 3 |
| active_weeks_last_year | 17 |
| 27/27 | Liefert Releases aus — 100 Releases veröffentlicht |
| 27/36 | Release-Aktualität — letztes Release vor 132 Tagen |
| 27/27 | Release-Rhythmus — ein Release etwa alle 25,3 Tage |
| 0/10 | OpenSSF Scorecard: Signed-Releases — keine Daten |
| releases_count | 100 |
| latest_release_tag | v0.31.0 |
| releases_from_tags | nein |
| days_since_latest_release | 132 |
| mean_days_between_releases | 25,3 |
Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?
| 30.5/60 | Stars — 77 Stars |
| 14.4/25 | Forks — 54 Forks |
| 5/15 | Watcher — 9 Watcher |
| forks | 54 |
| stars | 77 |
| watchers | 9 |
| growth_state | unverified |
| growth_factor_pct | 100 |
| growth_unverified_reason | no_history |
| 22.5/22.5 | README |
| 16.9/22.5 | Lizenz — Lizenzdatei vorhanden, keine anerkannte Lizenz |
| 0/18 | CONTRIBUTING-Leitfaden |
| 0/13.5 | Verhaltenskodex |
| 0/7.2 | Issue-Vorlage |
| 0/6.3 | PR-Vorlage |
| has_readme | ja |
| has_license | ja |
| readme_badges | — |
| has_contributing | nein |
| has_issue_template | nein |
| has_code_of_conduct | nein |
| readme_badge_services | — |
| has_pull_request_template | nein |
Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?
| 25.2/54 | Bus-Faktor — 2 Beitragende decken die Hälfte aller Commits ab |
| 13.4/22.5 | Commit-Verteilung — wichtigste beitragende Person verfasste 40 % der Commits |
| 13.5/13.5 | Breite der Beitragenden — 24 Beitragende |
| 10/10 | OpenSSF Scorecard: Contributors — project has 3 contributing companies or organizations -- score normalized to 10 |
| bus_factor | 2 |
| contributors_sampled | 24 |
| top_contributor_share | 0,405 |
| 40.2/42 | Issue-Lösungsquote — 96 % der Issues geschlossen |
| 22.8/30 | PR-Annahme — 673/884 entschiedene PRs gemergt |
| 0/13 | Newcomer PR acceptance — kein PR eines Erstbeitragenden in 30 Tagen entschieden |
| 15/15 | OpenSSF Scorecard: Code-Review — all changesets reviewed |
| merged_prs | 673 |
| open_issues | 8 |
| closed_issues | 178 |
| prs_merged_7d | — |
| prs_decided_7d | — |
| prs_merged_30d | — |
| prs_decided_30d | — |
| issue_closed_ratio | 0,957 |
| closed_unmerged_prs | 211 |
| first_time_authors_30d | — |
| first_time_prs_merged_30d | — |
| first_time_prs_decided_30d | — |
| 30/30 | Organisatorische Trägerschaft — im Besitz einer Organisation |
| 0/20 | Verifizierte Domain |
| 21.1/25 | Reichweite des Inhabers — 859 Follower von tianocore |
| 23.2/25 | Kontohistorie — 34 öffentliche Repos, Kontoalter ca. 16 Jahre |
| followers | 859 |
| owner_type | Organization |
| is_verified | — |
| owner_login | tianocore |
| public_repos | 34 |
| account_age_days | 5.841 |
| 25/25 | Veröffentlicht & auflösbar — 1 Paket(e) auf pypi |
| 35/35 | Veröffentlichungsaktualität — letzte Veröffentlichung vor 122 Tagen |
| 20/20 | Versionshistorie — 115 veröffentlichte Versionen |
| 20/20 | Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen |
| packages | edk2-pytool-extensions |
| ecosystems | pypi |
| any_deprecated | nein |
| min_days_since_publish | 122 |
Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?
| 24/24 | CI-Workflows — 6 Workflow(s) |
| 24/24 | Tests vorhanden |
| 0/16 | Linter-Konfiguration |
| 0/9.6 | Pre-Commit-Hooks |
| 0/6.4 | .editorconfig |
| 20/20 | OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10 |
| has_ci | ja |
| has_tests | ja |
| has_editorconfig | nein |
| has_linter_config | nein |
| has_precommit_config | nein |
| 30/30 | README |
| 25/25 | Dokumentationsverzeichnis |
| 0/15 | Dokumentations-/Homepage-Site |
| 10/10 | Repository-Beschreibung |
| 10/10 | Topics — 3 Topics |
| 10/10 | Wiki |
| topics | pytools, python, edk2 |
| has_wiki | ja |
| homepage | — |
| has_readme | ja |
| has_docs_dir | ja |
| has_description | ja |
Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?
| 7.5/7.5 | Binary-Artifacts — no binaries found in the repo |
| 0/7.5 | Branch-Protection — keine Daten |
| 2.5/2.5 | CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10 |
| 0/2.5 | CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected |
| 7.5/7.5 | Code-Review — all changesets reviewed |
| 2.5/2.5 | Contributors — project has 3 contributing companies or organizations -- score normalized to 10 |
| 10/10 | Dangerous-Workflow — no dangerous workflow patterns detected |
| 7.5/7.5 | Dependency-Update-Tool — update tool detected |
| 0/5 | Fuzzing — project is not fuzzed |
| 2.2/2.5 | Lizenz — license file detected |
| 7.5/7.5 | Maintained — 15 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10 |
| 0/5 | Packaging — keine Daten |
| 0/5 | Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0 |
| 5/5 | SAST — SAST tool is run on all commits |
| 0/5 | Security-Policy — security policy file not detected |
| 0/7.5 | Signed-Releases — keine Daten |
| 0/7.5 | Token-Permissions — detected GitHub workflow tokens with excessive permissions |
| 7.5/7.5 | Vulnerabilities — 0 existing vulnerabilities detected |
| source | openssf_scorecard |
| checks_evaluated | 15 |
| scorecard_version | v5.5.0 |
| checks_inconclusive | 3 |
| scorecard_aggregate | 7 |
| 35/35 | Direkte Abhängigkeiten ohne bekannte Advisories — keine direkte Abhängigkeit trägt ein bekanntes Advisory |
| 25/25 | Indirekte Abhängigkeiten ohne bekannte Advisories — keine indirekte Abhängigkeit trägt ein bekanntes Advisory |
| 0/40 | Keine offenen Advisories — kein Advisory trägt ein Veröffentlichungsdatum |
| source | osv |
| advisories | 0 |
| affected_packages | 0 |
| assessed_packages | 26 |
| unassessed_packages | 0 |
| affected_by_severity | none |
| direct_affected_packages | 0 |
Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Trägt ein bewusst kleines Gewicht (4 %): Agenten-Tooling ist ein echtes Pflegesignal, doch ein Repository ohne jedes Signal kann weiterhin 100/100 erreichen.
| 0/45 | Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln |
| 0/15 | Maschinenlesbare Doku (llms.txt) |
| 40/40 | Lesbare Commit-Historie — 59 von 62 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text) |
| has_llms_txt | nein |
| legible_history_share | 0,952 |
| agent_instruction_files | — |
| agent_instruction_max_bytes | — |
| 0/18 | Bootstrap mit einem Befehl |
| 22/22 | Automatisierte Tests |
| 0/11 | Lint-/Format-Konfiguration |
| 0/11 | Statische Typprüfung |
| 0/10 | Reproduzierbare Umgebung |
| 0/10 | Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 100 |
| 8/8 | Automatisierte Wartung — 38 der letzten 100 Commits sind automatisierte Abhängigkeits-Updates |
| 0/10 | OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0 |
| has_nix | nein |
| has_tests | ja |
| lockfiles | — |
| has_dockerfile | nein |
| typed_language | nein |
| bootstrap_files | — |
| has_devcontainer | nein |
| has_linter_config | nein |
| typecheck_configs | — |
| agent_commit_share | 0 |
| toolchain_manifests | — |
| dependency_bot_commit_share | 0,38 |
| 0/45 | Typprüfbarer Code — Python ohne Typprüfungs-Konfiguration |
| 54/55 | Handhabbare Dateigrößen — 2/108 Quelldateien über 60 KB |
| primary_language | Python |
| largest_source_bytes | 195.502 |
| source_files_sampled | 108 |
| oversized_source_files | 2 |
Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.
Jeder Punkt umfasst 6 Tage.
Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).
| 10 | Binary-Artifacts | no binaries found in the repo |
| k. A. | Branch-Protection | internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md |
| 10 | CI-Tests | 30 out of 30 merged PRs checked by a CI test -- score normalized to 10 |
| 0 | CII-Best-Practices | no effort to earn an OpenSSF best practices badge detected |
| 10 | Code-Review | all changesets reviewed |
| 10 | Contributors | project has 3 contributing companies or organizations -- score normalized to 10 |
| 10 | Dangerous-Workflow | no dangerous workflow patterns detected |
| 10 | Dependency-Update-Tool | update tool detected |
| 0 | Fuzzing | project is not fuzzed |
| 9 | License | license file detected |
| 10 | Maintained | 15 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10 |
| k. A. | Packaging | packaging workflow not detected |
| 0 | Pinned-Dependencies | dependency not pinned by hash detected -- score normalized to 0 |
| 10 | SAST | SAST tool is run on all commits |
| 0 | Security-Policy | security policy file not detected |
| k. A. | Signed-Releases | no releases found |
| 0 | Token-Permissions | detected GitHub workflow tokens with excessive permissions |
| 10 | Vulnerabilities | 0 existing vulnerabilities detected |
| Registry | Paket | Versionsvorgabe | Manifest |
|---|---|---|---|
| PyPI | edk2-pytool-library | >=0.23.10 | pyproject.toml |
| PyPI | pyyaml | >=6.0.0 | pyproject.toml |
| PyPI | pefile | >=2023.2.7 | pyproject.toml |
| PyPI | semantic_version | >=2.10.0 | pyproject.toml |
| PyPI | GitPython | >=3.1.30 | pyproject.toml |
| PyPI | openpyxl | >=3.1.2 | pyproject.toml |
| PyPI | XlsxWriter | >=3.0.9 | pyproject.toml |
| PyPI | pywin32 | >=305 | pyproject.toml |
| PyPI | setuptools | >=78.1.1 | pyproject.toml |
Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 9 direkte und 19 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.
| Registry | Paket | Version | Beziehung |
|---|---|---|---|
| PyPI | edk2-pytool-library | — | direkt |
| PyPI | gitpython | — | direkt |
| PyPI | openpyxl | — | direkt |
| PyPI | pefile | — | direkt |
| PyPI | pywin32 | — | direkt |
| PyPI | pyyaml | — | direkt |
| PyPI | semantic-version | — | direkt |
| PyPI | setuptools | 82.0.0 | direkt |
| PyPI | xlsxwriter | — | direkt |
| PyPI | black | 26.5.1 | indirekt |
| PyPI | build | 1.5.1 | indirekt |
| PyPI | coverage | 7.15.0 | indirekt |
| PyPI | cryptography | — | indirekt |
| PyPI | markdown-include | 0.8.1 | indirekt |
| PyPI | mkdocs | 1.6.1 | indirekt |
| PyPI | mkdocs-awesome-pages-plugin | 2.10.1 | indirekt |
| PyPI | mkdocs-exclude | 1.0.2 | indirekt |
| PyPI | mkdocs-gen-files | 0.5.0 | indirekt |
| PyPI | mkdocs-material | 9.7.1 | indirekt |
| PyPI | mkdocstrings | 1.0.6 | indirekt |
| PyPI | mkdocstrings-python | 2.0.5 | indirekt |
| PyPI | pre-commit | 4.6.0 | indirekt |
| PyPI | pytest | 9.0.3 | indirekt |
| PyPI | regex | 2026.6.28 | indirekt |
| PyPI | robotframework | 7.4.2 | indirekt |
| PyPI | ruff | 0.15.21 | indirekt |
| PyPI | twine | 6.2.0 | indirekt |
| PyPI | wmi | — | indirekt |
Die Installation von pypi:edk2-pytool-extensions@0.31.0 zieht 26 Pakete nach sich, direkt und transitiv: 0 tragen bekannte Advisories, davon 0 direkte Abhängigkeiten.
Keine bekannten Advisories betreffen die bewerteten Abhängigkeiten.
Ein Advisory bedeutet, dass die im Abhängigkeitsgraphen erfasste Version in den betroffenen Bereich eines Advisories fällt. Erreichbarkeit wird nicht analysiert, und der Graph enthält Entwicklungs- und Test-Pins — ein Fund kann das Werkzeug betreffen und nicht die ausgelieferte Software.
Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.
Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v2.5.0, Schema v0.27.0 — vollständige Methodik · Metriken-Wiki.
Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistiken — PyPI.