Öffentliches Register
Software-GesundheitsberichtSchema 0.30.0 · Metriken 2.5.0 · 2026-08-03 04:16 UTC

SSC-ICT-Innovatie / nl-kat-coordination

OpenKAT scans networks, finds vulnerabilities and creates accessible reports. It integrates the most widely used network tools and scanning software into a modular framework, accesses external databases such as shodan, and combines the information from all these sources into clear reports. It also includes lots of cat hair.

Python · HTML · SCSSEUPL-1.2★ 153 Sterne⑂ 69 Forksseit Juni 2022Auf GitHub ansehen ↗
ArtNetzwerkdienstKommandozeilenwerkzeugBibliothekwie das ermittelt wird

SSC-ICT-Innovatie/nl-kat-coordination erreicht einen Gesundheitsindex von 93 von 100 und liegt damit im Bereich Außergewöhnlich. Am stärksten schneidet es bei Engineering Quality (92/100) ab, am schwächsten bei AI Readiness (59/100). Zuletzt vor 1 Tag aktualisiert. 5 Mitwirkende tragen den Großteil der jüngsten Arbeit.

93
gesamt / 100
Außergewöhnlich

Software-Gesundheitsindex

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.

93
Außergewöhnlich93-100Die Spitzengruppe des Registers (≈ obere 5 %); erfüllt im Wesentlichen alle geprüften Kriterien
Exzellent80-92Durchgehend stark; geringfügige Lücken
Gut65-79Gesund; Lücken sind begrenzt und beherrschbar
Mittel50-64Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Schwach35-49Wesentliche Schwächen in mehreren Bereichen
Gefährdet20-34Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-19Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

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 79 wird auf der veröffentlichten Indexskala auf 93 kalibriert (Register-Kalibrierung 2026-08-02).

Eigentümerschaft

SSC-ICT InnovatieOrganisation
11 Follower25 öffentliche Reposseit Mai 2018

Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
PyPImula1.6.1-26vor 435 Tagen
PyPIbytesverweist auf ein anderes Repo — nicht bewertet0.0.1.dev41.6585vor 4134 Tagenserializationdeserializationformatsmarshaling
PyPIrockyverweist auf ein anderes Repo — nicht bewertet1.0.21494vor 1578 Tagen

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

91Exzellent · 21 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 1 Tagen
27.7/36Commit-Rhythmus — 40/52 Wochen mit Commits
18/18Commit-Volumen — 213 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year213
human_commit_share0,66
days_since_last_push1
active_weeks_last_year40
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 75 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 19 Tagen
27/27Release-Rhythmus — ein Release etwa alle 42,5 Tage
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Verwendete Eingangsdaten
releases_count75
latest_release_tagv1.22.1
releases_from_tagsnein
days_since_latest_release19
mean_days_between_releases42,5

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

66Gut · 17 % des Gesamtindex
Wie die Bewertung erfolgt
35.4/60Stars — 153 Stars
15.3/25Forks — 69 Forks
6.5/15Watcher — 16 Watcher
Verwendete Eingangsdaten
forks69
stars153
watchers16
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (EUPL-1.2)
18/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
6.3/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
readme_badges0
has_contributingja
has_issue_templatenein
has_code_of_conductnein
readme_badge_services
has_pull_request_templateja

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

75Gut · 23 % des Gesamtindex
Wie die Bewertung erfolgt
45.9/54Bus-Faktor — 5 Beitragende decken die Hälfte aller Commits ab
19/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 16 % der Commits
13.5/13.5Breite der Beitragenden — 49 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 28 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor5
contributors_sampled49
top_contributor_share0,155
Wie die Bewertung erfolgt
24.9/42Issue-Lösungsquote — 59 % der Issues geschlossen
23.5/30PR-Annahme — 2.205/2.817 entschiedene PRs gemergt
0/13Newcomer PR acceptance — kein PR eines Erstbeitragenden in 30 Tagen entschieden
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Verwendete Eingangsdaten
merged_prs2.205
open_issues948
closed_issues1.382
prs_merged_7d7
prs_decided_7d7
prs_merged_30d16
prs_decided_30d19
issue_closed_ratio0,593
closed_unmerged_prs612
first_time_authors_30d0
first_time_prs_merged_30d0
first_time_prs_decided_30d0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): newcomer_pr_acceptance. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
7.8/25Reichweite des Inhabers — 11 Follower von SSC-ICT-Innovatie
22.3/25Kontohistorie — 25 öffentliche Repos, Kontoalter ca. 8 Jahre
Verwendete Eingangsdaten
followers11
owner_typeOrganization
is_verified
owner_loginSSC-ICT-Innovatie
public_repos25
account_age_days3.010
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf pypi
14/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 435 Tagen
20/20Versionshistorie — 26 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagesmula
ecosystemspypi
any_deprecatednein
min_days_since_publish435

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

92Exzellent · 19 % des Gesamtindex

Engineering-Praktiken

100Außergewöhnlich
Wie die Bewertung erfolgt
24/24CI-Workflows — 28 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration
9.6/9.6Pre-Commit-Hooks
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfigja
has_linter_configja
has_precommit_configja

Dokumentation

80Exzellent
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://openkat.nl
10/10Repository-Beschreibung
0/10Topics
0/10Wiki
Verwendete Eingangsdaten
topics
has_wikinein
homepagehttps://openkat.nl
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

70Gut · 16 % des Gesamtindex
Wie die Bewertung erfolgt
6/7.5Binary-Artifacts — binaries present in source code
1.5/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 28 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
7.5/7.5Maintained — 30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
1.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
5/5SAST — SAST tool is run on all commits
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0.8/7.5Vulnerabilities — 9 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate6,2

Abhängigkeits-Advisories

100Außergewöhnlich
Wie die Bewertung erfolgt
35/35Direkte Abhängigkeiten ohne bekannte Advisories — keine direkte Abhängigkeit trägt ein bekanntes Advisory
25/25Indirekte Abhängigkeiten ohne bekannte Advisories — keine indirekte Abhängigkeit trägt ein bekanntes Advisory
0/40Keine offenen Advisories — kein Advisory trägt ein Veröffentlichungsdatum
Verwendete Eingangsdaten
sourceosv
advisories0
affected_packages0
assessed_packages12
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Keine offenen Advisories. Die verbleibenden Gewichte wurden renormalisiert. Abgeglichen wurde die Laufzeit-Abhängigkeitshülle von pypi:mula@1.6.1 — das, was die Installation des veröffentlichten Pakets nach sich zieht — mit 12 Paketen. Erreichbarkeit wird nicht analysiert.

AI Readiness

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.

59Mittel · 4 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 58 von 66 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,879
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
18/18Bootstrap mit einem Befehl — Makefile, boefjes/Makefile, boefjes/packaging/deb/Makefile, bytes/Makefile, bytes/packaging/deb/Makefile, cveapi/Makefile, mula/Makefile, mula/packaging/deb/Makefile, octopoes/Makefile, octopoes/packaging/deb/Makefile, rocky/Makefile
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration
0/11Statische Typprüfung
10/10Reproduzierbare Umgebung — Dockerfile, lockfile
10/10Belegte Agentenpraxis — 7 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
8/8Automatisierte Wartung — 34 der letzten 100 Commits sind automatisierte Abhängigkeits-Updates
3/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilespackage-lock.json, poetry.lock, uv.lock, yarn.lock
has_dockerfileja
typed_languagenein
bootstrap_filesMakefile, boefjes/Makefile, boefjes/packaging/deb/Makefile, bytes/Makefile, bytes/packaging/deb/Makefile, cveapi/Makefile, mula/Makefile, mula/packaging/deb/Makefile, octopoes/Makefile, octopoes/packaging/deb/Makefile, rocky/Makefile
has_devcontainernein
has_linter_configja
typecheck_configs
agent_commit_share0,07
toolchain_manifests
dependency_bot_commit_share0,34
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — Python ohne Typprüfungs-Konfiguration
54.9/55Handhabbare Dateigrößen — 2/1.193 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languagePython
largest_source_bytes95.585
source_files_sampled1.193
oversized_source_files2
Wie die Bewertung erfolgt
0/40API-Schema (OpenAPI/GraphQL/proto)
0/20MCP-Server
40/40Lauffähige Beispiele — examples
Verwendete Eingangsdaten
example_dirsexamples
has_mcp_signalnein
api_schema_files

Eckdaten

153GitHub-Sterne
49Mitwirkende
213Commits, letzte 12 Monate
1Tage seit letztem Push
75Releases
5Bus-Faktor
948offene Issues
npm, PyPIPaket-Ökosysteme

Warnungen zur Datenerhebung

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • Could not fetch pypi package 'openkat' from its registry
  • pypi package 'bytes' points at a different repository (https://github.com/code-museum/bytes); excluded from ecosystem scoring
  • pypi package 'rocky' points at a different repository (https://github.com/andersroos/rocky); excluded from ecosystem scoring
  • Could not fetch pypi package 'boefjes' from its registry
  • Could not fetch pypi package 'octopoes' from its registry
  • Could not fetch pypi package 'cveapi' from its registry

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 69 ⇿
0Sterne
69Forks
74Releases

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.

01325385063756852022-072024-072026-07
Major 0Minor 22Patch 19

Jeder Punkt umfasst 4 Tage.

OpenSSF Scorecard 6.2 / 10
6.2Gesamtwert

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).Scorecard v5.5.0 · 2026-08-03 04:15 UTC

8Binary-Artifactsbinaries present in source code
2Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 28 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
3Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 3
10SASTSAST tool is run on all commits
10Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
1Vulnerabilities9 existing vulnerabilities detected
Direkte Abhängigkeiten 237
RegistryPaketVersionsvorgabeManifest
PyPIalembic~=1.8boefjes/pyproject.toml
PyPIclick>=8.1.3,<9boefjes/pyproject.toml
PyPIjsonschema>=4.17.0,<5boefjes/pyproject.toml
PyPIpydantic>=2.7.1,<3boefjes/pyproject.toml
PyPIdocker>=7.1.0,<8boefjes/pyproject.toml
PyPIuvicorn>=0.29.0,<0.30boefjes/pyproject.toml
PyPIpsycopg2-binary>=2.9.10boefjes/pyproject.toml
PyPIpynacl>=1.5.0,<2boefjes/pyproject.toml
PyPIsqlalchemy>=1.4.48boefjes/pyproject.toml
PyPIpython-dateutil>=2.8.2,<3boefjes/pyproject.toml
PyPIpydantic-settings>=2.14.2,<3boefjes/pyproject.toml
PyPIopentelemetry-sdkboefjes/pyproject.toml
PyPIopentelemetry-exporter-otlp-proto-grpcboefjes/pyproject.toml
PyPIopentelemetry-instrumentation-fastapiboefjes/pyproject.toml
PyPIopentelemetry-instrumentation-psycopg2boefjes/pyproject.toml
PyPIopentelemetry-instrumentation-requestsboefjes/pyproject.toml
PyPIopentelemetry-instrumentationboefjes/pyproject.toml
PyPIrequests>=2.33.0,<3boefjes/pyproject.toml
PyPIbeautifulsoup4==4.11.1boefjes/pyproject.toml
PyPIdnspython>=2.6.1,<3boefjes/pyproject.toml
PyPItldextract>5boefjes/pyproject.toml
PyPIvalidators==0.20.0boefjes/pyproject.toml
PyPIpython-libnmap==0.7.3boefjes/pyproject.toml
PyPIcryptography>=48.0.1boefjes/pyproject.toml
PyPIforcediphttpsadapter==1.1.0boefjes/pyproject.toml
PyPIurllib3>=2.1.0,<3boefjes/pyproject.toml
PyPIwpscan-out-parse==1.9.3boefjes/pyproject.toml
PyPInetaddr>=1.3.0,<2boefjes/pyproject.toml
PyPIdefusedxml>=0.7.1,<0.8boefjes/pyproject.toml
PyPIpillow>=12.3.0boefjes/pyproject.toml
PyPIhttpx>=0.28.1,<0.29boefjes/pyproject.toml
PyPIopentelemetry-apiboefjes/pyproject.toml
PyPIopentelemetry-exporter-otlp-proto-commonboefjes/pyproject.toml
PyPIopentelemetry-instrumentation-asgiboefjes/pyproject.toml
PyPIopentelemetry-instrumentation-dbapiboefjes/pyproject.toml
PyPIopentelemetry-protoboefjes/pyproject.toml
PyPIopentelemetry-semantic-conventionsboefjes/pyproject.toml
PyPIopentelemetry-util-httpboefjes/pyproject.toml
PyPIfastapi-slim>=0.115.2boefjes/pyproject.toml
PyPIstructlog>=25.2.0,<26boefjes/pyproject.toml
PyPImaxminddb>=2.6.2,<3boefjes/pyproject.toml
PyPItanimachi>=0.0.6,<0.0.7boefjes/pyproject.toml
PyPIcpe>=1.3.1,<2boefjes/pyproject.toml
PyPIcroniter>=6.0.0,<7boefjes/pyproject.toml
PyPIsetuptools>=80.9.0boefjes/pyproject.toml
PyPIpygments>=2.20.0boefjes/pyproject.toml
PyPIwrapt>=2.1.2boefjes/pyproject.toml
PyPIattrs>=26.1.0boefjes/pyproject.toml
PyPImako>=1.3.12boefjes/pyproject.toml
PyPIurllib3>=2.7.0boefjes/pyproject.toml
PyPIidna>=3.15boefjes/pyproject.toml
PyPIstarlette>=1.3.1boefjes/pyproject.toml
PyPIalembic>=1.8.1,<2bytes/pyproject.toml
PyPIcachetools>6bytes/pyproject.toml
PyPIpasslib>=1.7.4,<2bytes/pyproject.toml
PyPIaio-pika>=9.5,<10bytes/pyproject.toml
PyPIprometheus-client>=0.16.0,<0.17bytes/pyproject.toml
PyPIpsycopg2-binary>=2.9.10bytes/pyproject.toml
PyPIpydantic>=2.7.1,<3bytes/pyproject.toml
PyPIpynacl>=1.5.0,<2bytes/pyproject.toml
PyPIrfc3161ng>=2.1.3,<3bytes/pyproject.toml
PyPIsqlalchemy>=1.4.48,<2bytes/pyproject.toml
PyPIuvicorn>=0.29.0,<0.30bytes/pyproject.toml
PyPIopentelemetry-sdkbytes/pyproject.toml
PyPIopentelemetry-exporter-otlp-proto-grpcbytes/pyproject.toml
PyPIopentelemetry-instrumentation-fastapibytes/pyproject.toml
PyPIopentelemetry-instrumentation-psycopg2bytes/pyproject.toml
PyPIopentelemetry-instrumentation-httpxbytes/pyproject.toml
PyPIopentelemetry-instrumentationbytes/pyproject.toml
PyPIopentelemetry-instrumentation-dbapibytes/pyproject.toml
PyPIpydantic-settings>=2.14.2,<3bytes/pyproject.toml
PyPIpython-multipart>=0.0.31bytes/pyproject.toml
PyPIhttpx>=0.28.1,<0.29bytes/pyproject.toml
PyPIopentelemetry-apibytes/pyproject.toml
PyPIopentelemetry-exporter-otlp-proto-commonbytes/pyproject.toml
PyPIopentelemetry-instrumentation-asgibytes/pyproject.toml
PyPIopentelemetry-protobytes/pyproject.toml
PyPIopentelemetry-semantic-conventionsbytes/pyproject.toml
PyPIopentelemetry-util-httpbytes/pyproject.toml
PyPIpyjwt>=2.13.0bytes/pyproject.toml
PyPIfastapi-slim>=0.115.2bytes/pyproject.toml
PyPIstructlog>=25.2.0,<26bytes/pyproject.toml
PyPIcryptography>=48.0.1bytes/pyproject.toml
PyPIboto3>=1.42.70,<3bytes/pyproject.toml
PyPIbcrypt<5bytes/pyproject.toml
PyPIrequests>=2.33.0,<3bytes/pyproject.toml
PyPIpygments>=2.20.0bytes/pyproject.toml
PyPIpyasn1>=0.6.4bytes/pyproject.toml
PyPIwrapt>=2.1.2bytes/pyproject.toml
PyPImako>=1.3.12bytes/pyproject.toml
PyPIurllib3>=2.7.0bytes/pyproject.toml
PyPIidna>=3.15bytes/pyproject.toml
PyPIstarlette>=1.3.1bytes/pyproject.toml
PyPIhttpx>=0.28.1cveapi/pyproject.toml
PyPIidna>=3.15cveapi/pyproject.toml
PyPIalembic>=1.12.1,<2mula/pyproject.toml
PyPIcroniter>=6.0.0,<7mula/pyproject.toml
PyPImmh3>=5.1.0,<6mula/pyproject.toml
PyPIpika>=1.3.2,<2mula/pyproject.toml
PyPIprometheus-client>=0.19.0,<0.20mula/pyproject.toml
PyPIpsycopg2-binary>=2.9.10mula/pyproject.toml
PyPIpydantic>=2.11.3,<3mula/pyproject.toml
PyPIpydantic-settings>=2.14.2,<3mula/pyproject.toml
PyPIpython-dotenv>=1.0.0,<2mula/pyproject.toml
PyPIretry2>=0.9.5,<0.10mula/pyproject.toml
PyPIsqlalchemy>=2.0.23,<3mula/pyproject.toml
PyPIstructlog>=25.2.0,<26mula/pyproject.toml
PyPIuvicorn>=0.29.0,<0.30mula/pyproject.toml
PyPIhttpx>=0.28.1,<0.29mula/pyproject.toml
PyPIfastapi-slim>=0.115.12mula/pyproject.toml
PyPIopentelemetry-sdkmula/pyproject.toml
PyPIopentelemetry-apimula/pyproject.toml
PyPIopentelemetry-protomula/pyproject.toml
PyPIopentelemetry-exporter-otlp-proto-grpcmula/pyproject.toml
PyPIopentelemetry-exporter-otlp-proto-commonmula/pyproject.toml
PyPIopentelemetry-util-httpmula/pyproject.toml
PyPIopentelemetry-instrumentationmula/pyproject.toml
PyPIopentelemetry-instrumentation-httpxmula/pyproject.toml
PyPIopentelemetry-instrumentation-asgimula/pyproject.toml
PyPIopentelemetry-instrumentation-dbapimula/pyproject.toml
PyPIopentelemetry-instrumentation-fastapimula/pyproject.toml
PyPIopentelemetry-instrumentation-psycopg2mula/pyproject.toml
PyPIopentelemetry-semantic-conventionsmula/pyproject.toml
PyPIpygments>=2.20.0mula/pyproject.toml
PyPIwrapt>=2.1.2mula/pyproject.toml
PyPImako>=1.3.12mula/pyproject.toml
PyPIidna>=3.15mula/pyproject.toml
PyPIstarlette>=1.3.1mula/pyproject.toml
PyPIpydantic>=2.7.1,<3octopoes/pyproject.toml
PyPIuvicorn>=0.29.0,<0.30octopoes/pyproject.toml
PyPIpika>=1.3.1,<2octopoes/pyproject.toml
PyPIPyYAML~=6.0octopoes/pyproject.toml
PyPIdnspython>=2.6.1,<3octopoes/pyproject.toml
PyPIkombu>=5.2.4,<6octopoes/pyproject.toml
PyPIcelery>=5.2.7,<6octopoes/pyproject.toml
PyPIpyparsing>=3.0.9,<4octopoes/pyproject.toml
PyPItldextract>5octopoes/pyproject.toml
PyPIopentelemetry-sdkoctopoes/pyproject.toml
PyPIopentelemetry-instrumentationoctopoes/pyproject.toml
PyPIopentelemetry-exporter-otlp-proto-grpcoctopoes/pyproject.toml
PyPIopentelemetry-instrumentation-fastapioctopoes/pyproject.toml
PyPIopentelemetry-instrumentation-psycopg2octopoes/pyproject.toml
PyPIopentelemetry-instrumentation-httpxoctopoes/pyproject.toml
PyPIsqlalchemy==1.4.48octopoes/pyproject.toml
PyPIjsonschema>=4.18.0,<5octopoes/pyproject.toml
PyPIpydantic-settings>=2.14.2,<3octopoes/pyproject.toml
PyPIhttpx>=0.28.1,<0.29octopoes/pyproject.toml
PyPIlink-shorteners>=1.11.0,<2octopoes/pyproject.toml
PyPIopentelemetry-apioctopoes/pyproject.toml
PyPIopentelemetry-exporter-otlp-proto-commonoctopoes/pyproject.toml
PyPIopentelemetry-instrumentation-asgioctopoes/pyproject.toml
PyPIopentelemetry-instrumentation-dbapioctopoes/pyproject.toml
PyPIopentelemetry-protooctopoes/pyproject.toml
PyPIopentelemetry-semantic-conventionsoctopoes/pyproject.toml
PyPIopentelemetry-util-httpoctopoes/pyproject.toml
PyPIfastapi-slim>=0.115.2octopoes/pyproject.toml
PyPIstructlog>=25.2.0,<26octopoes/pyproject.toml
PyPIasgiref>=3.8.1,<4octopoes/pyproject.toml
PyPIsetuptools>80,<82octopoes/pyproject.toml
PyPIrequests>=2.33.0,<3octopoes/pyproject.toml
PyPIpygments>=2.20.0octopoes/pyproject.toml
PyPIwrapt>=2.1.2octopoes/pyproject.toml
PyPIattrs>=26.1.0octopoes/pyproject.toml
PyPIurllib3>=2.7.0octopoes/pyproject.toml
PyPIidna>=3.15octopoes/pyproject.toml
PyPIwebob>=1.8.10octopoes/pyproject.toml
PyPIstarlette>=1.3.1octopoes/pyproject.toml
PyPIsoupsieve>=2.8.4octopoes/pyproject.toml
PyPIsphinx>=8.1.3,<9pyproject.toml
PyPIsphinx_rtd_theme>=3.0.2,<4pyproject.toml
PyPIsphinxcontrib-mermaid>=1.0.0,<3pyproject.toml
PyPImyst-parser>=4.0.1,<5pyproject.toml
PyPIsettings-doc>=4.3.2,<5pyproject.toml
PyPIcolorama==0.4.6pyproject.toml
PyPIautodoc-pydantic>=2.2.0,<3pyproject.toml
PyPIcroniter>=6.0.0,<7pyproject.toml
PyPIjsonschema>=4.17.0,<5pyproject.toml
PyPIpygments>=2.20.0pyproject.toml
PyPIrequests>=2.33.0,<3pyproject.toml
PyPIattrs>=26.1.0pyproject.toml
PyPIpython-dotenv>=1.2.2pyproject.toml
PyPIurllib3>=2.7.0pyproject.toml
PyPIidna>=3.15pyproject.toml
PyPIpydantic-settings>=2.14.2pyproject.toml
npm@minvws/manon16.1.0rocky/package.json
npmd3^7.4.3rocky/package.json
PyPIbeautifulsoup4>=4.11.2,<5rocky/pyproject.toml
PyPIdjango>=5.1.14,<5.2rocky/pyproject.toml
PyPIdjango-two-factor-auth>=1.17.0,<2rocky/pyproject.toml
PyPIdjango-environ>=0.12.0,<0.13rocky/pyproject.toml
PyPIjsonschema>=4.17.0,<5rocky/pyproject.toml
PyPIphonenumbers>=9.0.4,<10rocky/pyproject.toml
PyPIpsycopg2-binary>=2.9.10rocky/pyproject.toml
PyPIpydantic>=2.7.1,<3rocky/pyproject.toml
PyPIpython-dotenv>=1.0.0,<2rocky/pyproject.toml
PyPIdjango-password-validators>=1.7.1,<2rocky/pyproject.toml
PyPIdjango-csp~=4.0rocky/pyproject.toml
PyPIdjangorestframework>=3.16.0,<4rocky/pyproject.toml
PyPIdjango-tagulous>=2.1.0,<3rocky/pyproject.toml
PyPIdrf-standardized-errors>=0.14.1,<0.15rocky/pyproject.toml
PyPIdjango-weasyprint>=2.4.0,<3rocky/pyproject.toml
PyPIstrenum>=0.4.15,<0.5rocky/pyproject.toml
PyPIdjango-rest-knox>=5.0.2,<6rocky/pyproject.toml
PyPIopentelemetry-sdkrocky/pyproject.toml
PyPIopentelemetry-exporter-otlp-proto-grpcrocky/pyproject.toml
PyPIopentelemetry-instrumentation-djangorocky/pyproject.toml
PyPIopentelemetry-instrumentation-psycopg2rocky/pyproject.toml
PyPIwhitenoise>=6.5.0,<7rocky/pyproject.toml
PyPIopentelemetry-instrumentationrocky/pyproject.toml
PyPIopentelemetry-instrumentation-fastapirocky/pyproject.toml
PyPIgranian>=2.7.4rocky/pyproject.toml
PyPIdjango-components>=0.88,<0.89rocky/pyproject.toml
PyPIpyparsing>=3.1.1,<4rocky/pyproject.toml
PyPIpydantic-settings>=2.14.2,<3rocky/pyproject.toml
PyPIopentelemetry-instrumentation-httpxrocky/pyproject.toml
PyPIhttpx>=0.27.0,<0.28rocky/pyproject.toml
PyPIopentelemetry-apirocky/pyproject.toml
PyPIopentelemetry-exporter-otlp-proto-commonrocky/pyproject.toml
PyPIopentelemetry-instrumentation-asgirocky/pyproject.toml
PyPIopentelemetry-instrumentation-dbapirocky/pyproject.toml
PyPIopentelemetry-instrumentation-wsgirocky/pyproject.toml
PyPIopentelemetry-protorocky/pyproject.toml
PyPIopentelemetry-semantic-conventionsrocky/pyproject.toml
PyPIopentelemetry-util-httprocky/pyproject.toml
PyPIstructlog>=25.3.0,<26rocky/pyproject.toml
PyPIdjango-structlog>=9.1.1,<10rocky/pyproject.toml
PyPIcron-descriptor>=2rocky/pyproject.toml
PyPIstructlog>=25.3.0,<26rocky/pyproject.toml
PyPIdjango-structlog>=9.1.1,<10rocky/pyproject.toml
PyPIweasyprint>=66rocky/pyproject.toml
PyPIrequests>=2.33.0,<3rocky/pyproject.toml
PyPIattrs>=26.1.0rocky/pyproject.toml
PyPIpillow>=12.3.0rocky/pyproject.toml
PyPIbrotlicffi>=1.2.0.1rocky/pyproject.toml
PyPIurllib3>=2.7.0rocky/pyproject.toml
PyPIidna>=3.15rocky/pyproject.toml
PyPIsoupsieve>=2.8.4rocky/pyproject.toml
Alle Abhängigkeiten 540

Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 125 direkte und 415 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.

RegistryPaketVersionBeziehung
npm@minvws/manon16.1.0direkt
npmd37.5.0direkt
PyPIaio-pika9.6.2direkt
PyPIalembic1.18.4direkt
PyPIasgiref3.11.1direkt
PyPIattrs25.3.0direkt
PyPIattrs26.1.0direkt
PyPIautodoc-pydantic2.2.0direkt
PyPIbcrypt4.3.0direkt
PyPIbeautifulsoup44.11.1direkt
PyPIbeautifulsoup44.14.3direkt
PyPIboto31.42.89direkt
PyPIbrotlicffi1.2.0.1direkt
PyPIcachetools7.0.5direkt
PyPIcelery5.6.3direkt
PyPIclick8.2.1direkt
PyPIclick8.3.1direkt
PyPIclick8.3.2direkt
PyPIcolorama0.4.6direkt
PyPIcpe1.3.1direkt
PyPIcron-descriptor2.0.8direkt
PyPIcroniter6.0.0direkt
PyPIcroniter6.2.2direkt
PyPIcryptography49.0.0direkt
PyPIdefusedxml0.7.1direkt
PyPIdjango5.1.15direkt
PyPIdjango-components0.88direkt
PyPIdjango-csp4.0direkt
PyPIdjango-environ0.12.1direkt
PyPIdjango-password-validators1.7.3direkt
PyPIdjango-rest-knox5.0.4direkt
PyPIdjango-structlog9.1.1direkt
PyPIdjango-tagulous2.1.1direkt
PyPIdjango-two-factor-auth1.18.1direkt
PyPIdjango-weasyprint2.5.0direkt
PyPIdjangorestframework3.17.1direkt
PyPIdnspython2.6.1direkt
PyPIdnspython2.8.0direkt
PyPIdocker7.1.0direkt
PyPIdrf-standardized-errors0.14.1direkt
PyPIfastapi-slim0.129.1direkt
PyPIforcediphttpsadapter1.1.0direkt
PyPIgranian2.7.4direkt
PyPIhttpx0.27.2direkt
PyPIhttpx0.28.1direkt
PyPIidna3.10direkt
PyPIidna3.15direkt
PyPIjsonschema4.24.0direkt
PyPIjsonschema4.26.0direkt
PyPIkombu5.6.2direkt
PyPIlink-shorteners1.14.1direkt
PyPImako1.3.12direkt
PyPImaxminddb2.6.2direkt
PyPImaxminddb2.8.2direkt
PyPImmh35.2.1direkt
PyPImyst-parser4.0.1direkt
PyPInetaddr0.9.0direkt
PyPInetaddr1.3.0direkt
PyPIopentelemetry-api1.41.0direkt
PyPIopentelemetry-exporter-otlp-proto-common1.41.0direkt
PyPIopentelemetry-exporter-otlp-proto-grpc1.41.0direkt
PyPIopentelemetry-instrumentation0.62b0direkt
PyPIopentelemetry-instrumentation-asgi0.62b0direkt
PyPIopentelemetry-instrumentation-dbapi0.62b0direkt
PyPIopentelemetry-instrumentation-django0.62b0direkt
PyPIopentelemetry-instrumentation-fastapi0.62b0direkt
PyPIopentelemetry-instrumentation-httpx0.62b0direkt
PyPIopentelemetry-instrumentation-psycopg20.62b0direkt
PyPIopentelemetry-instrumentation-requests0.62b0direkt
PyPIopentelemetry-instrumentation-wsgi0.62b0direkt
PyPIopentelemetry-proto1.41.0direkt
PyPIopentelemetry-sdk1.41.0direkt
PyPIopentelemetry-semantic-conventions0.62b0direkt
PyPIopentelemetry-util-http0.62b0direkt
PyPIpasslib1.7.4direkt
PyPIphonenumbers9.0.28direkt
PyPIpika1.3.2direkt
PyPIpillow12.3.0direkt
PyPIprometheus-client0.16.0direkt
PyPIprometheus-client0.19.0direkt
PyPIpsycopg2-binary2.9.11direkt
PyPIpyasn10.6.4direkt
PyPIpydantic2.11.7direkt
PyPIpydantic2.12.5direkt
PyPIpydantic2.13.0direkt
PyPIpydantic-settings2.14.2direkt
PyPIpygments2.20.0direkt
PyPIpyjwt2.13.0direkt
PyPIpynacl1.6.2direkt
PyPIpyparsing3.3.2direkt
PyPIpython-dateutil2.9.0.post0direkt
PyPIpython-dotenv1.2.2direkt
PyPIpython-libnmap0.7.3direkt
PyPIpython-multipart0.0.32direkt
PyPIpyyaml6.0.3direkt
PyPIrequests2.33.0direkt
PyPIrequests2.33.1direkt
PyPIretry20.9.5direkt
PyPIrfc3161ng2.1.3direkt
PyPIsettings-doc4.3.2direkt
PyPIsetuptools81.0.0direkt
PyPIsetuptools82.0.1direkt
PyPIsoupsieve2.8.4direkt
PyPIsphinx8.1.3direkt
PyPIsphinx8.2.3direkt
PyPIsphinx-rtd-theme3.1.0direkt
PyPIsphinxcontrib-mermaid2.0.0direkt
PyPIsqlalchemy1.4.48direkt
PyPIsqlalchemy1.4.54direkt
PyPIsqlalchemy2.0.49direkt
PyPIstarlette1.3.1direkt
PyPIstrenum0.4.15direkt
PyPIstructlog25.4.0direkt
PyPIstructlog25.5.0direkt
PyPItanimachi0.0.6direkt
PyPItldextract5.3.1direkt
PyPIurllib32.7.0direkt
PyPIuvicorn0.29.0direkt
PyPIvalidators0.20.0direkt
PyPIweasyprint68.1direkt
PyPIwebob1.8.10direkt
PyPIwhitenoise6.12.0direkt
PyPIwpscan-out-parse1.9.3direkt
PyPIwrapt1.17.3direkt
PyPIwrapt2.1.2direkt
npm@babel/code-frame7.18.6indirekt
npm@babel/helper-validator-identifier7.18.6indirekt
npm@babel/highlight7.18.6indirekt
npm@jridgewell/gen-mapping0.3.2indirekt
npm@jridgewell/resolve-uri3.0.8indirekt
npm@jridgewell/set-array1.1.2indirekt
npm@jridgewell/source-map0.3.2indirekt
npm@jridgewell/sourcemap-codec1.4.14indirekt
npm@jridgewell/trace-mapping0.3.14indirekt
npm@lezer/common0.15.12indirekt
npm@lezer/lr0.15.8indirekt
npm@lmdb/lmdb-darwin-arm642.5.2indirekt
npm@lmdb/lmdb-darwin-x642.5.2indirekt
npm@lmdb/lmdb-linux-arm2.5.2indirekt
npm@lmdb/lmdb-linux-arm642.5.2indirekt
npm@lmdb/lmdb-linux-x642.5.2indirekt
npm@lmdb/lmdb-win32-x642.5.2indirekt
npm@mischnic/json-sourcemap0.1.0indirekt
npm@msgpackr-extract/msgpackr-extract-darwin-arm643.0.2indirekt
npm@msgpackr-extract/msgpackr-extract-darwin-x643.0.2indirekt
npm@msgpackr-extract/msgpackr-extract-linux-arm3.0.2indirekt
npm@msgpackr-extract/msgpackr-extract-linux-arm643.0.2indirekt
npm@msgpackr-extract/msgpackr-extract-linux-x643.0.2indirekt
npm@msgpackr-extract/msgpackr-extract-win32-x643.0.2indirekt
npm@parcel/bundler-default2.6.2indirekt
npm@parcel/cache2.6.2indirekt
npm@parcel/codeframe2.6.2indirekt
npm@parcel/compressor-raw2.6.2indirekt
npm@parcel/config-default2.6.2indirekt
npm@parcel/core2.6.2indirekt
npm@parcel/css1.10.1indirekt
npm@parcel/css-darwin-arm641.10.1indirekt
npm@parcel/css-darwin-x641.10.1indirekt
npm@parcel/css-linux-arm-gnueabihf1.10.1indirekt
npm@parcel/css-linux-arm64-gnu1.10.1indirekt
npm@parcel/css-linux-arm64-musl1.10.1indirekt
npm@parcel/css-linux-x64-gnu1.10.1indirekt
npm@parcel/css-linux-x64-musl1.10.1indirekt
npm@parcel/css-win32-x64-msvc1.10.1indirekt
npm@parcel/diagnostic2.6.2indirekt
npm@parcel/events2.6.2indirekt
npm@parcel/fs2.6.2indirekt
npm@parcel/fs-search2.6.2indirekt
npm@parcel/graph2.6.2indirekt
npm@parcel/hash2.6.2indirekt
npm@parcel/logger2.6.2indirekt
npm@parcel/markdown-ansi2.6.2indirekt
npm@parcel/namer-default2.6.2indirekt
npm@parcel/node-resolver-core2.6.2indirekt
npm@parcel/optimizer-css2.6.2indirekt
npm@parcel/optimizer-htmlnano2.6.2indirekt
npm@parcel/optimizer-image2.6.2indirekt
npm@parcel/optimizer-svgo2.6.2indirekt
npm@parcel/optimizer-terser2.6.2indirekt
npm@parcel/package-manager2.6.2indirekt
npm@parcel/packager-css2.6.2indirekt
npm@parcel/packager-html2.6.2indirekt
npm@parcel/packager-js2.6.2indirekt
npm@parcel/packager-raw2.6.2indirekt
npm@parcel/packager-svg2.6.2indirekt
npm@parcel/plugin2.6.2indirekt
npm@parcel/reporter-cli2.6.2indirekt
npm@parcel/reporter-dev-server2.6.2indirekt
npm@parcel/resolver-default2.6.2indirekt
npm@parcel/runtime-browser-hmr2.6.2indirekt
npm@parcel/runtime-js2.6.2indirekt
npm@parcel/runtime-react-refresh2.6.2indirekt
npm@parcel/runtime-service-worker2.6.2indirekt
npm@parcel/source-map2.0.5indirekt
npm@parcel/transformer-babel2.6.2indirekt
npm@parcel/transformer-css2.6.2indirekt
npm@parcel/transformer-html2.6.2indirekt
npm@parcel/transformer-image2.6.2indirekt
npm@parcel/transformer-js2.6.2indirekt
npm@parcel/transformer-json2.6.2indirekt
npm@parcel/transformer-postcss2.6.2indirekt
npm@parcel/transformer-posthtml2.6.2indirekt
npm@parcel/transformer-raw2.6.2indirekt
npm@parcel/transformer-react-refresh-wrap2.6.2indirekt
npm@parcel/transformer-sass2.6.2indirekt
npm@parcel/transformer-svg2.6.2indirekt
npm@parcel/types2.6.2indirekt
npm@parcel/utils2.6.2indirekt
npm@parcel/watcher2.0.5indirekt
npm@parcel/workers2.6.2indirekt
npm@swc/helpers0.4.3indirekt
npm@types/node22.1.0indirekt
npm@types/parse-json4.0.0indirekt
npmabortcontroller-polyfill1.7.3indirekt
npmacorn8.7.1indirekt
npmansi-styles3.2.1indirekt
npmansi-styles4.3.0indirekt
npmanymatch3.1.2indirekt
npmbase-x3.0.11indirekt
npmbinary-extensions2.2.0indirekt
npmboolbase1.0.0indirekt
npmbraces3.0.3indirekt
npmbrowserslist4.21.1indirekt
npmbuffer-from1.1.2indirekt
npmcallsites3.1.0indirekt
npmcaniuse-lite1.0.30001361indirekt
npmchalk2.4.2indirekt
npmchalk4.1.2indirekt
npmchokidar3.5.3indirekt
npmchrome-trace-event1.0.3indirekt
npmclone2.1.2indirekt
npmcolor-convert1.9.3indirekt
npmcolor-convert2.0.1indirekt
npmcolor-name1.1.3indirekt
npmcolor-name1.1.4indirekt
npmcommander2.20.3indirekt
npmcommander7.2.0indirekt
npmcosmiconfig7.0.1indirekt
npmcss-select4.3.0indirekt
npmcss-tree1.1.3indirekt
npmcss-what6.1.0indirekt
npmcsso4.2.0indirekt
npmd3-array3.1.6indirekt
npmd3-axis3.0.0indirekt
npmd3-brush3.0.0indirekt
npmd3-chord3.0.1indirekt
npmd3-color3.1.0indirekt
npmd3-contour3.1.0indirekt
npmd3-delaunay6.0.2indirekt
npmd3-dispatch3.0.1indirekt
npmd3-drag3.0.0indirekt
npmd3-dsv3.0.1indirekt
npmd3-ease3.0.1indirekt
npmd3-fetch3.0.1indirekt
npmd3-force3.0.0indirekt
npmd3-format3.1.0indirekt
npmd3-geo3.0.1indirekt
npmd3-hierarchy3.1.2indirekt
npmd3-interpolate3.0.1indirekt
npmd3-path3.0.1indirekt
npmd3-polygon3.0.1indirekt
npmd3-quadtree3.0.1indirekt
npmd3-random3.0.1indirekt
npmd3-scale4.0.2indirekt
npmd3-scale-chromatic3.0.0indirekt
npmd3-selection3.0.0indirekt
npmd3-shape3.1.0indirekt
npmd3-time3.0.0indirekt
npmd3-time-format4.1.0indirekt
npmd3-timer3.0.1indirekt
npmd3-transition3.0.1indirekt
npmd3-zoom3.0.0indirekt
npmdelaunator5.0.0indirekt
npmdetect-libc1.0.3indirekt
npmdom-serializer1.4.1indirekt
npmdomelementtype2.3.0indirekt
npmdomhandler4.3.1indirekt
npmdomutils2.8.0indirekt
npmdotenv7.0.0indirekt
npmdotenv-expand5.1.0indirekt
npmelectron-to-chromium1.4.174indirekt
npmentities2.2.0indirekt
npmentities3.0.1indirekt
npmerror-ex1.3.2indirekt
npmescalade3.1.1indirekt
npmescape-string-regexp1.0.5indirekt
npmfill-range7.1.1indirekt
npmfsevents2.3.2indirekt
npmget-port4.2.0indirekt
npmglob-parent5.1.2indirekt
npmglobals13.15.0indirekt
npmhas-flag3.0.0indirekt
npmhas-flag4.0.0indirekt
npmhtmlnano2.0.2indirekt
npmhtmlparser27.2.0indirekt
npmiconv-lite0.6.3indirekt
npmimmutable4.3.9indirekt
npmimport-fresh3.3.0indirekt
npminternmap2.0.3indirekt
npmis-arrayish0.2.1indirekt
npmis-binary-path2.1.0indirekt
npmis-extglob2.1.1indirekt
npmis-glob4.0.3indirekt
npmis-json2.0.1indirekt
npmis-number7.0.0indirekt
npmjs-tokens4.0.0indirekt
npmjson-parse-even-better-errors2.3.1indirekt
npmjson52.2.3indirekt
npmlines-and-columns1.2.4indirekt
npmlmdb2.5.2indirekt
npmmdn-data2.0.14indirekt
npmmsgpackr1.10.1indirekt
npmmsgpackr-extract3.0.2indirekt
npmnode-addon-api3.2.1indirekt
npmnode-addon-api4.3.0indirekt
npmnode-gyp-build4.4.0indirekt
npmnode-gyp-build-optional-packages5.0.3indirekt
npmnode-gyp-build-optional-packages5.0.7indirekt
npmnode-releases2.0.5indirekt
npmnormalize-path3.0.0indirekt
npmnth-check2.1.1indirekt
npmnullthrows1.1.1indirekt
npmordered-binary1.3.0indirekt
npmparcel2.6.2indirekt
npmparent-module1.0.1indirekt
npmparse-json5.2.0indirekt
npmpath-type4.0.0indirekt
npmpicocolors1.0.0indirekt
npmpicomatch2.3.2indirekt
npmpostcss-value-parser4.2.0indirekt
npmposthtml0.16.6indirekt
npmposthtml-parser0.10.2indirekt
npmposthtml-parser0.11.0indirekt
npmposthtml-render3.0.0indirekt
npmprettier2.7.1indirekt
npmreact-error-overlay6.0.9indirekt
npmreact-refresh0.9.0indirekt
npmreaddirp3.6.0indirekt
npmregenerator-runtime0.13.9indirekt
npmresolve-from4.0.0indirekt
npmrobust-predicates3.0.1indirekt
npmrw1.3.3indirekt
npmsafe-buffer5.2.1indirekt
npmsafer-buffer2.1.2indirekt
npmsass1.53.0indirekt
npmsax1.5.0indirekt
npmsemver5.7.2indirekt
npmsource-map0.6.1indirekt
npmsource-map-js1.0.2indirekt
npmsource-map-support0.5.21indirekt
npmstable0.1.8indirekt
npmsupports-color5.5.0indirekt
npmsupports-color7.2.0indirekt
npmsvgo2.8.3indirekt
npmterm-size2.2.1indirekt
npmterser5.15.1indirekt
npmtimsort0.3.0indirekt
npmto-regex-range5.0.1indirekt
npmtslib2.4.0indirekt
npmtype-fest0.20.2indirekt
npmundici-types6.13.0indirekt
npmupdate-browserslist-db1.0.4indirekt
npmutility-types3.10.0indirekt
npmv8-compile-cache2.3.0indirekt
npmweak-lru-cache1.2.2indirekt
npmxxhash-wasm0.4.2indirekt
npmyaml1.10.2indirekt
PyPIaiormq6.9.4indirekt
PyPIalabaster1.0.0indirekt
PyPIamqp5.3.1indirekt
PyPIannotated-doc0.0.4indirekt
PyPIannotated-types0.7.0indirekt
PyPIansicolors1.1.8indirekt
PyPIanyio4.12.1indirekt
PyPIanyio4.13.0indirekt
PyPIanyio4.9.0indirekt
PyPIbabel2.18.0indirekt
PyPIbilliard4.2.4indirekt
PyPIboefjes0.0.1.dev1indirekt
PyPIbotocore1.42.89indirekt
PyPIbrotli1.2.0indirekt
PyPIbytes0.0.1.dev1indirekt
PyPIcensys2.1.8indirekt
PyPIcertifi2025.4.26indirekt
PyPIcertifi2025.6.15indirekt
PyPIcertifi2026.1.4indirekt
PyPIcertifi2026.2.25indirekt
PyPIcffi2.0.0indirekt
PyPIcharset-normalizer3.4.4indirekt
PyPIcharset-normalizer3.4.7indirekt
PyPIclick-didyoumean0.3.1indirekt
PyPIclick-plugins1.1.1.2indirekt
PyPIclick-repl0.3.0indirekt
PyPIcoverage7.13.5indirekt
PyPIcssbeautifier1.15.4indirekt
PyPIcssselect20.9.0indirekt
PyPIcveapi0.0.1.dev1indirekt
PyPIdecorator5.2.1indirekt
PyPIdjango-admin-auto-tests0.1.2indirekt
PyPIdjango-formtools2.5.1indirekt
PyPIdjango-ipware7.0.1indirekt
PyPIdjango-otp1.7.0indirekt
PyPIdjango-phonenumber-field8.4.0indirekt
PyPIdjlint1.36.4indirekt
PyPIdocutils0.21.2indirekt
PyPIeditorconfig0.17.1indirekt
PyPIexceptiongroup1.3.1indirekt
PyPIfactory-boy3.3.3indirekt
PyPIfaker40.13.0indirekt
PyPIfastapi0.135.3indirekt
PyPIfilelock3.25.2indirekt
PyPIfonttools4.62.1indirekt
PyPIgoogleapis-common-protos1.74.0indirekt
PyPIgreenlet3.4.0indirekt
PyPIgrpcio1.75.1indirekt
PyPIgrpcio1.80.0indirekt
PyPIgrpcio-tools1.75.1indirekt
PyPIh110.16.0indirekt
PyPIhttpcore1.0.9indirekt
PyPIimagesize1.4.1indirekt
PyPIimportlib-metadata8.7.1indirekt
PyPIinflection0.3.1indirekt
PyPIiniconfig2.3.0indirekt
PyPIjinja23.1.6indirekt
PyPIjmespath1.1.0indirekt
PyPIjsbeautifier1.15.4indirekt
PyPIjson50.14.0indirekt
PyPIjsonpatch1.33indirekt
PyPIjsonpointer3.1.1indirekt
PyPIjsonschema-specifications2025.4.1indirekt
PyPIjsonschema-specifications2025.9.1indirekt
PyPIlazy-object-proxy1.12.0indirekt
PyPIlegacy-cgi2.6.4indirekt
PyPIloguru0.7.3indirekt
PyPImarkdown-it-py3.0.0indirekt
PyPImarkupsafe3.0.3indirekt
PyPImdit-py-plugins0.5.0indirekt
PyPImdurl0.1.2indirekt
PyPImodel-mommy2.0.0indirekt
PyPImula0.0.1.dev1indirekt
PyPImultidict6.7.1indirekt
PyPInatsort8.4.0indirekt
PyPIoctopoes0.0.1.dev1indirekt
PyPIopenkat0.0.1.dev1indirekt
PyPIoverrides7.7.0indirekt
PyPIpackaging26.0indirekt
PyPIpamqp3.3.0indirekt
PyPIpathspec1.0.4indirekt
PyPIpluggy1.6.0indirekt
PyPIprompt-toolkit3.0.52indirekt
PyPIpropcache0.4.1indirekt
PyPIprotobuf6.32.1indirekt
PyPIprotobuf6.33.6indirekt
PyPIpsutil7.2.2indirekt
PyPIpsycopg22.9.11indirekt
PyPIpyasn1-modules0.4.2indirekt
PyPIpybinaryedge0.5indirekt
PyPIpycparser3.0indirekt
PyPIpydantic-core2.33.2indirekt
PyPIpydantic-core2.41.5indirekt
PyPIpydantic-core2.46.0indirekt
PyPIpydicom2.4.5indirekt
PyPIpydyf0.12.1indirekt
PyPIpynetdicom2.0.2indirekt
PyPIpyphen0.17.2indirekt
PyPIpytest7.4.4indirekt
PyPIpytest9.0.3indirekt
PyPIpytest-assert-utils0.3.1indirekt
PyPIpytest-common-subject1.1.2indirekt
PyPIpytest-cov7.1.0indirekt
PyPIpytest-django4.12.0indirekt
PyPIpytest-drf1.1.3indirekt
PyPIpytest-env1.6.0indirekt
PyPIpytest-fixture-order0.1.5indirekt
PyPIpytest-httpx0.30.0indirekt
PyPIpytest-httpx0.36.2indirekt
PyPIpytest-lambda1.3.0indirekt
PyPIpytest-mock3.15.1indirekt
PyPIpytest-timeout2.4.0indirekt
PyPIpython-ipware3.0.0indirekt
PyPIpytz2025.2indirekt
PyPIpywin32311indirekt
PyPIqrcode8.2indirekt
PyPIreferencing0.36.2indirekt
PyPIreferencing0.37.0indirekt
PyPIregex2026.4.4indirekt
PyPIrequests-file3.0.1indirekt
PyPIreturns0.26.0indirekt
PyPIreturns0.27.0indirekt
PyPIrobotframework7.4.2indirekt
PyPIrobotframework-assertion-engine3.5.0indirekt
PyPIrobotframework-browser19.10.1indirekt
PyPIrobotframework-debuglibrary2.5.0indirekt
PyPIrobotframework-httplibrary0.4.2indirekt
PyPIrobotframework-otp1.1.0indirekt
PyPIrobotframework-postgresqldb2.0.0indirekt
PyPIrobotframework-pythonlibcore4.5.0indirekt
PyPIrobotframework-requests0.9.7indirekt
PyPIrocky0.0.1.dev1indirekt
PyPIroman-numerals4.1.0indirekt
PyPIroman-numerals-py4.1.0indirekt
PyPIrpds-py0.26.0indirekt
PyPIrpds-py0.30.0indirekt
PyPIs3transfer0.16.0indirekt
PyPIsectxt0.9.0indirekt
PyPIseedir0.5.1indirekt
PyPIselectolax0.4.7indirekt
PyPIshodan1.25.0indirekt
PyPIsix1.17.0indirekt
PyPIsniffio1.3.1indirekt
PyPIsnowballstemmer3.0.1indirekt
PyPIsphinxcontrib-applehelp2.0.0indirekt
PyPIsphinxcontrib-devhelp2.0.0indirekt
PyPIsphinxcontrib-htmlhelp2.1.0indirekt
PyPIsphinxcontrib-jquery4.1indirekt
PyPIsphinxcontrib-jsmath1.0.1indirekt
PyPIsphinxcontrib-qthelp2.0.0indirekt
PyPIsphinxcontrib-serializinghtml2.0.0indirekt
PyPIsqlparse0.5.5indirekt
PyPItinycss21.5.1indirekt
PyPItinyhtml52.1.0indirekt
PyPItomli2.4.0indirekt
PyPItomli2.4.1indirekt
PyPItqdm4.67.3indirekt
PyPItyping-extensions4.13.2indirekt
PyPItyping-extensions4.14.0indirekt
PyPItyping-extensions4.15.0indirekt
PyPItyping-inspection0.4.1indirekt
PyPItyping-inspection0.4.2indirekt
PyPItzdata2026.1indirekt
PyPItzlocal5.3.1indirekt
PyPIvine5.1.0indirekt
PyPIwaitress3.0.2indirekt
PyPIwcwidth0.6.0indirekt
PyPIwebencodings0.5.1indirekt
PyPIwebtest3.0.7indirekt
PyPIwin32-setctime1.2.0indirekt
PyPIyarl1.23.0indirekt
PyPIzipp3.23.1indirekt
PyPIzopfli0.4.1indirekt
Abhängigkeits-Advisories 0

Die Installation von pypi:mula@1.6.1 zieht 12 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.

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 120340,
      "has_wiki": false,
      "homepage": "https://openkat.nl",
      "languages": {
        "HTML": 2567870,
        "Mako": 1514,
        "SCSS": 759135,
        "Shell": 38853,
        "Python": 3260741,
        "PLpgSQL": 2048,
        "Makefile": 44151,
        "Dockerfile": 18905,
        "JavaScript": 66480,
        "RobotFramework": 41438
      },
      "pushed_at": "2026-08-01T11:24:38Z",
      "created_at": "2022-06-27T12:52:13Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-31T09:40:49Z",
      "description": "OpenKAT scans networks, finds vulnerabilities and creates accessible reports. It integrates the most widely used network tools and scanning software into a modular framework, accesses external databases such as shodan, and combines the information from all these sources into clear reports. It also includes lots of cat hair.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "EUPL-1.2",
      "default_branch": "main",
      "license_spdx_raw": "EUPL-1.2",
      "primary_language": "Python",
      "significant_languages": [
        "Python",
        "HTML",
        "SCSS"
      ]
    },
    "owner": {
      "blog": "https://www.ssc-ict.nl/",
      "name": "SSC-ICT Innovatie",
      "type": "Organization",
      "login": "SSC-ICT-Innovatie",
      "company": null,
      "location": "The Hague",
      "followers": 11,
      "avatar_url": "https://avatars.githubusercontent.com/u/39026699?v=4",
      "created_at": "2018-05-06T12:27:49Z",
      "is_verified": null,
      "public_repos": 25,
      "account_age_days": 3010
    },
    "license": {
      "state": "standard",
      "spdx_id": "EUPL-1.2",
      "raw_spdx": "EUPL-1.2",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.22.1",
          "kind": "patch",
          "published_at": "2026-07-14T12:34:38Z"
        },
        {
          "tag": "v1.22.0",
          "kind": "minor",
          "published_at": "2026-04-30T07:40:42Z"
        },
        {
          "tag": "v1.22.0rc1",
          "kind": "other",
          "published_at": "2026-04-10T19:21:29Z"
        },
        {
          "tag": "v1.21.0",
          "kind": "minor",
          "published_at": "2026-03-05T14:26:13Z"
        },
        {
          "tag": "v1.21.0rc1",
          "kind": "other",
          "published_at": "2026-02-17T08:22:00Z"
        },
        {
          "tag": "v1.20.1",
          "kind": "patch",
          "published_at": "2025-08-27T09:40:47Z"
        },
        {
          "tag": "v1.20.0",
          "kind": "minor",
          "published_at": "2025-08-01T11:01:52Z"
        },
        {
          "tag": "v1.20.0rc2",
          "kind": "other",
          "published_at": "2025-07-21T14:41:53Z"
        },
        {
          "tag": "v1.20.0rc1",
          "kind": "other",
          "published_at": "2025-07-18T09:03:14Z"
        },
        {
          "tag": "v1.19.1",
          "kind": "patch",
          "published_at": "2025-06-27T10:29:49Z"
        },
        {
          "tag": "v1.19.0",
          "kind": "minor",
          "published_at": "2025-06-16T12:45:11Z"
        },
        {
          "tag": "v1.19.0rc1",
          "kind": "other",
          "published_at": "2025-05-20T15:12:27Z"
        },
        {
          "tag": "v1.18.2",
          "kind": "patch",
          "published_at": "2025-04-14T10:58:08Z"
        },
        {
          "tag": "v1.18.1",
          "kind": "patch",
          "published_at": "2025-04-04T14:41:34Z"
        },
        {
          "tag": "v1.18.0",
          "kind": "minor",
          "published_at": "2025-03-04T15:11:24Z"
        },
        {
          "tag": "v1.18.0rc1",
          "kind": "other",
          "published_at": "2025-02-10T13:13:47Z"
        },
        {
          "tag": "v1.17.0",
          "kind": "minor",
          "published_at": "2024-10-03T15:30:01Z"
        },
        {
          "tag": "v1.17.0rc1",
          "kind": "other",
          "published_at": "2024-09-06T10:08:29Z"
        },
        {
          "tag": "v1.16.0",
          "kind": "minor",
          "published_at": "2024-08-13T13:40:46Z"
        },
        {
          "tag": "v1.16.0rc2",
          "kind": "other",
          "published_at": "2024-07-15T19:01:05Z"
        },
        {
          "tag": "v1.16.0rc1",
          "kind": "other",
          "published_at": "2024-07-08T19:04:10Z"
        },
        {
          "tag": "v1.15.1",
          "kind": "patch",
          "published_at": "2024-05-27T15:29:42Z"
        },
        {
          "tag": "v1.15.0",
          "kind": "minor",
          "published_at": "2024-04-15T11:33:44Z"
        },
        {
          "tag": "v1.15.0rc1",
          "kind": "other",
          "published_at": "2024-03-07T16:10:24Z"
        },
        {
          "tag": "v1.14.2",
          "kind": "patch",
          "published_at": "2024-03-05T11:31:09Z"
        },
        {
          "tag": "v1.14.1",
          "kind": "patch",
          "published_at": "2024-02-09T11:37:57Z"
        },
        {
          "tag": "v1.14.0",
          "kind": "minor",
          "published_at": "2023-12-31T17:55:58Z"
        },
        {
          "tag": "v1.14.0rc1",
          "kind": "other",
          "published_at": "2023-12-19T14:09:21Z"
        },
        {
          "tag": "v1.13.0",
          "kind": "minor",
          "published_at": "2023-12-15T15:19:59Z"
        },
        {
          "tag": "v1.13.0rc2",
          "kind": "other",
          "published_at": "2023-10-23T12:12:06Z"
        },
        {
          "tag": "v1.12.1",
          "kind": "patch",
          "published_at": "2023-10-19T09:24:18Z"
        },
        {
          "tag": "v1.13.0rc1",
          "kind": "other",
          "published_at": "2023-10-19T09:31:28Z"
        },
        {
          "tag": "v1.12.0",
          "kind": "minor",
          "published_at": "2023-10-05T16:12:09Z"
        },
        {
          "tag": "v1.11.1",
          "kind": "patch",
          "published_at": "2023-09-21T15:26:23Z"
        },
        {
          "tag": "v1.12.0rc2",
          "kind": "other",
          "published_at": "2023-09-21T15:05:19Z"
        },
        {
          "tag": "v1.12.0rc1",
          "kind": "other",
          "published_at": "2023-09-19T13:53:07Z"
        },
        {
          "tag": "v1.11.0",
          "kind": "minor",
          "published_at": "2023-08-31T11:53:22Z"
        },
        {
          "tag": "v1.11.0rc1",
          "kind": "other",
          "published_at": "2023-08-22T12:58:26Z"
        },
        {
          "tag": "v1.10.2",
          "kind": "patch",
          "published_at": "2023-08-22T12:52:27Z"
        },
        {
          "tag": "v1.10.1",
          "kind": "patch",
          "published_at": "2023-08-07T15:12:26Z"
        },
        {
          "tag": "v1.10.0",
          "kind": "minor",
          "published_at": "2023-07-31T13:27:31Z"
        },
        {
          "tag": "v1.10.0rc2",
          "kind": "other",
          "published_at": "2023-07-19T13:59:43Z"
        },
        {
          "tag": "v1.10.0rc1",
          "kind": "other",
          "published_at": "2023-06-27T11:54:24Z"
        },
        {
          "tag": "v1.9.0",
          "kind": "minor",
          "published_at": "2023-06-12T13:54:50Z"
        },
        {
          "tag": "v1.9.0rc2",
          "kind": "other",
          "published_at": "2023-06-02T12:29:27Z"
        },
        {
          "tag": "v1.8.1",
          "kind": "patch",
          "published_at": "2023-06-02T12:24:57Z"
        },
        {
          "tag": "v1.9.0rc1",
          "kind": "other",
          "published_at": "2023-05-23T14:35:25Z"
        },
        {
          "tag": "v1.8.0",
          "kind": "minor",
          "published_at": "2023-05-15T09:21:31Z"
        },
        {
          "tag": "v1.8.0rc2",
          "kind": "other",
          "published_at": "2023-04-25T09:56:18Z"
        },
        {
          "tag": "v1.7.1",
          "kind": "patch",
          "published_at": "2023-04-24T15:22:56Z"
        },
        {
          "tag": "v1.8.0rc1",
          "kind": "other",
          "published_at": "2023-04-19T07:53:32Z"
        },
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2023-04-08T09:44:55Z"
        },
        {
          "tag": "v1.7.0rc4",
          "kind": "other",
          "published_at": "2023-04-05T17:24:21Z"
        },
        {
          "tag": "v1.7.0rc3",
          "kind": "other",
          "published_at": "2023-03-23T09:54:16Z"
        },
        {
          "tag": "v1.7.0rc2",
          "kind": "other",
          "published_at": "2023-03-22T09:27:30Z"
        },
        {
          "tag": "v1.7.0rc1",
          "kind": "other",
          "published_at": "2023-03-09T13:44:11Z"
        },
        {
          "tag": "v1.6.2",
          "kind": "patch",
          "published_at": "2023-03-03T11:09:05Z"
        },
        {
          "tag": "v1.6.1",
          "kind": "patch",
          "published_at": "2023-03-03T09:22:00Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2023-03-02T09:42:40Z"
        },
        {
          "tag": "v1.6.0rc3",
          "kind": "other",
          "published_at": "2023-02-15T16:34:15Z"
        },
        {
          "tag": "v1.6.0rc2",
          "kind": "other",
          "published_at": "2023-02-02T09:31:05Z"
        },
        {
          "tag": "v1.6.0rc1",
          "kind": "other",
          "published_at": "2023-02-01T16:12:54Z"
        },
        {
          "tag": "v1.5.2",
          "kind": "patch",
          "published_at": "2023-02-13T16:17:18Z"
        },
        {
          "tag": "v1.5.1",
          "kind": "patch",
          "published_at": "2023-02-02T09:29:10Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2023-02-01T14:29:26Z"
        },
        {
          "tag": "v1.5.0rc3",
          "kind": "other",
          "published_at": "2023-01-20T16:52:28Z"
        },
        {
          "tag": "v1.5.0rc2",
          "kind": "other",
          "published_at": "2023-01-19T13:40:29Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2023-01-02T15:13:05Z"
        },
        {
          "tag": "v1.4.0rc2",
          "kind": "other",
          "published_at": "2022-12-23T10:02:50Z"
        },
        {
          "tag": "v1.4.0rc1",
          "kind": "other",
          "published_at": "2022-12-20T10:00:34Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2022-11-15T10:04:38Z"
        },
        {
          "tag": "v1.2.4",
          "kind": "patch",
          "published_at": "2022-10-20T15:07:53Z"
        },
        {
          "tag": "v1.2.3",
          "kind": "patch",
          "published_at": "2022-10-06T13:02:32Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2022-09-26T10:36:06Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2022-08-17T07:54:16Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "247b4429a081ba93766f98d23c62e7ff0589da35",
          "body": "Co-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": false,
          "headline": "Add bytes API coverage for /normalizer_metas and auth edge cases (#5114)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-07-31T09:39:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5357da7f77f22e778cbe02bd1a52803a0043df51",
          "body": "…ve (#5113)\n\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": false,
          "headline": "Add normalizer unit tests for kat_shodan, kat_wpscan and kat_nuclei_c…",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-07-31T09:32:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0275446810a065abeb79f6e72d5b3cc318a0d094",
          "body": "Use indemnification_present (provided by OrganizationView context)\ninstead of the never-set organization_indemnification on the OOI detail\npage, switch the past-due/historic gating from the never-set\nooi_past_due to historic_view across the detail templates and partials,\nfix the undefined member. references to organization_member., and fix\nget_current_ooi to use get_single_ooi for historic views.",
          "is_bot": false,
          "headline": "Fix incorrect indemnification present check in template (#5226)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-07-30T14:55:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e278c8d3199d1ab96e6edb251dbce23d07e0ff7",
          "body": null,
          "is_bot": false,
          "headline": "Also show the raw file when showing an ooi observation (#5236)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-07-29T13:12:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e4d3e30d6799005d547a4f4c1e5710770f61fa3",
          "body": "Co-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update various deps due to upstream security fixes (#5235)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-07-29T13:00:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d517b3f164fd5c4ae6b0fc6f395b76be10484b65",
          "body": "… (#5254)\n\nRe-add the 'Show clearance level inheritance' link and explanation\ntable on the clearance level tab of the OOI detail page, align the\nedit-clearance-level button and modal visibility conditions, and\nremove an unused form wrapper.",
          "is_bot": false,
          "headline": "Re-introduce the clearance level explanation table, as it was missing…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-07-29T12:44:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3250ea0ae8c34645e4d0ab0950e1ba32434d9a2b",
          "body": "… a non usefull mimetype (#5256)\n\nRemove the try/except in kat_webpage_analysis so a RequestException\nbubbles up and triggers the regular error flow (error/boefje raw +\ntask status failed) instead of storing a raw with the unconsumed\nopenkat-http/error mimetype and reporting the task as completed.",
          "is_bot": false,
          "headline": "Make the boefje crash when it sees an exception, instead of returning…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-07-29T12:22:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0ede8cb254bb5b7be43230a8288eb551c0f1261",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump immutable from 4.3.8 to 4.3.9 in /rocky (#5251)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-23T07:49:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b4fdc1fce909ef847858088f8302a13d6ca549c",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump svgo from 2.8.2 to 2.8.3 in /rocky (#5250)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-23T07:19:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d10f946fe4a257f51d1ae6a9e5501f3ff0b3d87",
          "body": null,
          "is_bot": false,
          "headline": "Add integration tests for scheduler bounded/partial counts (#5225)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-07-08T17:21:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b5edd4056141940d2b8abdc815af08d616a27f3",
          "body": "…… (#5166)\n\nCo-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Allow for bounded/unpartial counts to be returned from the scheduler …",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-07-08T14:03:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d41f7f37ba0e3872123009cd1a0e84fd0f11093",
          "body": null,
          "is_bot": false,
          "headline": "Remove duplicate mime-type append in Bytes create_raw (#5224)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-07-08T07:39:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac2062da2e49d5358ba59c2daa19684a2b761366",
          "body": "… (#5149)\n\nSwap the Katalogus organization-list dependency for direct XTDB\n`list_nodes()` queries in the scanprofiles propagation daemon and the\nmula scheduler, removing one inter-service dependency.\n\n- scanprofiles daemon queries XTDB for the org list (empty-state safe)\n- new octopoes GET /health/o\n[…]\nnow targets it\n- XTDBHTTPClient owns the /_xtdb base-url suffix consistently\n- list_nodes() hardened to return [] on empty state\n- mula scan_level filter made optional; post_pop() signature simplified",
          "is_bot": false,
          "headline": "Use direct XTDB client for the organization list instead of Katalogus…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-07-02T19:22:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bcd1bc284d0c22e8f68bf2d6bf1fcd6508fe7a20",
          "body": "Pin starlette>=1.3.1 and pydantic-settings>=2.14.2 across boefjes and the\nroot docs/tooling environment to clear the associated security advisories.\n\n- boefjes: starlette 1.0.0 -> 1.3.1 (FormParser DoS-limit hardening),\n  pydantic-settings 2.13.1 -> 2.14.2, starlette promoted to a direct dep\n- root: pydantic-settings resolves 2.12.0 -> 2.14.2 (GHSA-4xgf-cpjx-pc3j,\n  symlink traversal in NestedSecretsSettingsSource)\n\nCloses #5200\nCloses #5204\nCloses #5216",
          "is_bot": false,
          "headline": "Pin starlette and pydantic-settings to safe versions (#5218)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-07-02T18:49:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1be6378970ab6e811daf729436cc83d85b83a296",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump actions/checkout from 6.0.2 to 7.0.0 (#5221)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-02T11:45:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b53da5f34d04f0ab37e4242edabe64e50cd5f48",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump softprops/action-gh-release from 3.0.0 to 3.0.1 (#5219)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-02T11:39:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55b4a587ce1b5fad01a0ceb1f6faccc05cc27872",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump actions/setup-python from 6.2.0 to 6.3.0 (#5220)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-02T10:52:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f6271851183b5a0bd79878f2213236e3d1857a7",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump actions/cache from 5.0.5 to 6.1.0 (#5222)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-02T10:36:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01e781995dbc353b4a48d7394aecaf339eea5197",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump docker/metadata-action from 6.0.0 to 6.1.0 (#5223)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-02T10:34:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13322ba289ff36585ebf8db6a23cd470e052d9f0",
          "body": "Add compound indexes on the mula tasks/schedules tables and the bytes boefje_meta table to eliminate sequential scans behind the task-list and stats queries on large/long-running installs.\n\n- mula migrations 0012 + 0013 create the new task/schedule indexes (org+type+created_at, queue polling, stats,\n[…]\n_per_hour switches to COUNT(*) for index-only scans\n\nFollow-up: backport migrations 0012, 0013 and 2380422e773e to the 1.22 branch; note the index-build window in the release notes for large installs.",
          "is_bot": false,
          "headline": "Add compound indexes for task list and stats queries (#5165)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-06-30T19:23:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "67522ed8ca131b4c7e47ed01b5365a16b82bc141",
          "body": "…n versions (#5179)\n\nCo-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add debian13 / Ubuntu 24.04 build targets with their respective pytho…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-06-28T19:35:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e4733d47a7da4691cb1793648017b5e5a9a0bd40",
          "body": "Co-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Refactor sed command to find and replace in services (#5211)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-06-28T19:17:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1424f47b0065cbcf16e45f25c5947c20c9d66da",
          "body": "Co-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": false,
          "headline": "Add unit tests for five high-impact octopoes bits (#5112)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-06-24T15:11:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83da99cd07788c7361443dfb4e2da6e6b00d33bd",
          "body": null,
          "is_bot": false,
          "headline": "Fix get_tree(search_types) dropping findings on descendant OOIs (#5213)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-06-24T10:58:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06e84295c5986ce6152b019da14f311cf1f78a1c",
          "body": "…iles (#5212)\n\nPin dependencies to safe versions across all 5 Python components and regenerate uv lock + requirements files.\n\n- cryptography 46.0.7 -> 49.0.0 (boefjes, bytes)\n- starlette 1.0.0 -> 1.3.1, promoted to direct dependency (bytes, mula, octopoes)\n- pydantic-settings -> 2.14.2 (all components)\n- python-multipart 0.0.28 -> 0.0.32, pyjwt 2.12.1 -> 2.13.0 (bytes)\n- webob added as direct dependency (octopoes)\n\nCloses outstanding dependabot PRs.",
          "is_bot": false,
          "headline": "various dependency locked to safe versions, and created requirement f…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-06-23T15:15:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b281f4cd99ed357f1fd7f60d24b3ccdb70e54c1c",
          "body": null,
          "is_bot": false,
          "headline": "Fix nuclei-cve detection and harden nuclei normalizers (#5209)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-06-23T07:23:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98168f602dadc62524c2dc2360b31921b3de1d60",
          "body": "Add Debian 13 (trixie) and Ubuntu 24.04 (noble) build images and extend the build-debian-docker-image workflow matrix so the new images are built and pushed. Required by #5179.\n\nCloses #5194",
          "is_bot": false,
          "headline": "Chore/add debian13 ubuntu24.04 build image (#5195)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-06-17T18:41:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9aa2fb4f93a8fb64175281caef699c0732be90fa",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump docker/setup-buildx-action from 4.0.0 to 4.1.0 (#5180)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-11T13:23:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf2aa301dc991f52579830d2f4ec2fec714f7360",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump docker/login-action from 4.0.0 to 4.2.0 (#5182)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-10T19:27:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9db5c8c12c6b77a7c95013438147a696b412bf12",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump docker/build-push-action from 7.1.0 to 7.2.0 (#5184)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-10T17:56:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c2c44848eda04c34f245f521598cbbd6016f754",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump softprops/action-gh-release from 2.6.1 to 3.0.0 (#5183)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-10T17:10:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0ded9c2a02511afbaded7282535f9e3d82a5e69",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump github/codeql-action from 4.35.1 to 4.36.0 (#5181)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-10T11:09:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "323e699b30ce8633428e1e40d240f99c71898bc0",
          "body": "…e delete) (#5191)\n\nSigned-off-by: SAY-5 <say.apm35@gmail.com>\nCo-authored-by: SAY-5 <say.apm35@gmail.com>",
          "is_bot": false,
          "headline": "crisis_room: fix 500 after organization deletion (view guard + cascad…",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-06-05T07:15:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "012d2d4f28a994a83a19a6c123e2ec133c2e09ae",
          "body": "X509Certificate.expired raised TypeError (\"can't compare offset-naive and offset-aware datetimes\") whenever valid_until was tz-aware (e.g. \"Z\"-suffixed or \"+00:00\" timestamps coming back from XTDB), breaking the expiring_certificate bit on every run.\n\nParse valid_until with explicit \"Z\" -> \"+00:00\" \n[…]\nmatches X.509 notAfter semantics, RFC 5280 §4.1.2.5), and compare both sides in UTC.\n\nAdds a regression test asserting cert.expired is True for the \"Z\"-suffix format that breaks on main.\n\nCloses #5177",
          "is_bot": false,
          "headline": "Fix certificate expiration check to use UTC (#5178)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-06-03T15:01:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e3e052866b74d02224015597d7ad922109a530a4",
          "body": null,
          "is_bot": false,
          "headline": "upgrade various deps due upstream security fixes (#5157)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-06-03T11:02:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "760407b8f871360d5f544bc45700c126e71db0cb",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump idna from 3.10 to 3.15 in /boefjes/images (#5168)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-20T11:49:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "97d50138da710622825a46fd3d4da6f109073ecc",
          "body": "…age_analysis (#5161)\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump urllib3 from 2.6.3 to 2.7.0 in /boefjes/boefjes/plugins/kat_webp…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-12T12:32:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb551c707b9e91434a20c125bae699ad14e40950",
          "body": "…rity_txt_downloader (#5158)\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump urllib3 from 2.6.3 to 2.7.0 in /boefjes/boefjes/plugins/kat_secu…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-12T12:21:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "deb7526928aa9505d617b664680d5b269f292efe",
          "body": null,
          "is_bot": false,
          "headline": "Add octopoes_api_scanprofiles to release-example compose (#5147)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-05-05T09:45:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3e4bffe075617f4345ffbb011701fd6a2944f58",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump SonarSource/sonarqube-scan-action from 7.0.0 to 8.0.0 (#5142)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-04T11:40:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b02cdd474977e9e897bdc83a0edbd5290014c17",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump docker/build-push-action from 7.0.0 to 7.1.0 (#5143)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-04T11:25:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73c72398d7781d3169cb18d917022c2de602363a",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/cache from 5.0.4 to 5.0.5 (#5141)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-04T10:12:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5bb10ce545f208f02b70122254e5cd5264c09907",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/upload-pages-artifact from 4.0.0 to 5.0.0 (#5144)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-04T09:43:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1414076c369f8169dc3220b7dbb4b69043139d31",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/upload-artifact from 7.0.0 to 7.0.1 (#5145)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-04T09:30:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48b358bfc7e4ebf0d28476897656386442fc098d",
          "body": "Co-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": false,
          "headline": "Make nikto boefje + normalizer work end-to-end on Nikto 2.6 (#5137)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-04-29T12:33:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5947a712fba34d34ecf0aff839024b0ee89528e",
          "body": null,
          "is_bot": false,
          "headline": "Fix BoefjeRanker priority decay using .total_seconds() (#5117)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-04-28T08:49:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3ebdbfbd3a5ab10eb70910f81739a8e24779023",
          "body": "Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix/bytes login (#5133)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-04-23T08:22:50Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ac32f029d8f81f52800412056e16e3bd37e304b0",
          "body": "Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Chore/upgrade dependencies (#5126)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-04-20T18:49:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "02e4533d660eaa2a5987b43c29aa863564aaa22c",
          "body": "The bundled freetsa.crt expired on 2026-03-11. Replace it with the\ncurrent cert (valid until 2040-02-02), which FreeTSA rotated from RSA\nto ECDSA P-384.\n\nAlso adds a 64-line monkey-patch around rfc3161ng.check_timestamp so\nthat TimeStampTokens signed with EC keys verify correctly. The upstream\nlibra\n[…]\nen a fix\nlands there, the monkey-patch can be dropped.\n\nVerified live against FreeTSA inside bytes:\n  Cert valid until: 2040-02-02 19:44:22+00:00\n  Public key type:  ECPublicKey\n  Store + verify:   OK",
          "is_bot": false,
          "headline": "Update FreeTSA certificate and add EC key support for RFC3161 (#5111)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-04-14T21:00:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6cd04299f4615c23bd08c31dffd106671220a943",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pytest from 9.0.2 to 9.0.3 in /boefjes (#5124)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-14T10:09:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6c99df1e7047b84f0eee759fbcd606dbf140353",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pytest from 9.0.2 to 9.0.3 in /bytes (#5125)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-14T09:30:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f15af67983168a62df8e6dadad4703b583ecb98a",
          "body": null,
          "is_bot": false,
          "headline": "Update various dependencies (wrapt, opentelemetry), pin attrs (#5110)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-04-10T19:18:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f7fff74499545dcf1e1cd8511270dbe32ea1175",
          "body": null,
          "is_bot": false,
          "headline": "Refactor SSH command execution to use subprocess (#5104)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-04-10T08:39:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff3641df63c22c1ea7aaedce537b3bb828a48d2b",
          "body": "Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>\nCo-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix/octopoes rtest (#5107)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-04-10T08:26:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "799fd023a93193ca42bbf9ed3713460baf778451",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump attrs from 25.4.0 to 26.1.0 (#5102)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-10T08:08:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b1140a0787e9492c20798c9154b4828843ba361",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump cryptography from 46.0.6 to 46.0.7 in /bytes (#5105)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-10T07:27:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a397d64496d59daa1ebc4724a602d8564517d5bb",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump cryptography from 46.0.6 to 46.0.7 in /boefjes (#5106)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-10T07:15:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "931a1efeddb06f3981c312659da816d192350c49",
          "body": "Optimize Octopoes queries to make OOI/finding list and detail pages noticeably faster:\n\n- Shortcut count queries when len(results) < limit\n- Make scan_level/scan_profile_type filters optional with None defaults\n- Replace unconditional ScanProfile INNER JOIN with or-join LEFT JOIN in load_bulk_as_lis\n[…]\ni_types() to guarantee set[type[OOI]] return type\n- Fix get_ooi_profile_types rename to get_ooi_scan_profile_types\n- Explicit bits/recalculate call in robot findings test for determinism\n\nCloses #3917",
          "is_bot": false,
          "headline": "Add optimizations to various Octopoes queries (#5088)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-04-08T11:46:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "57805ca7e03a8b08a970b4933301aa00c7f1a9fc",
          "body": "Add sync=true parameter to Set Scan Profile To Empty to prevent race condition where Recalculate Scan Profiles reads stale data from XTDB.",
          "is_bot": false,
          "headline": "Fix robot framework sync issue in scan profile propagation tests (#5101)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-04-03T12:18:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac7b25341ad6f40a4f3f357d6b939625aba799b2",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump github/codeql-action from 4.32.4 to 4.35.1 (#5095)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-01T15:58:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a566fc085133d75a8ca84af0276c2f7e4aba6c58",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump softprops/action-gh-release from 2.5.0 to 2.6.1 (#5094)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-01T15:55:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f15a1704f6301ba69d8aa6cbb87f024e1c9255dc",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>\nCo-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/deploy-pages from 4.0.5 to 5.0.0 (#5096)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-01T15:44:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb624e8db10430e68eac79b06ba212355c32cd4d",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump picomatch from 2.3.1 to 2.3.2 in /rocky (#5066)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-01T15:34:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5e2fa6261191e1e5c981bb888d4222751ab89b1",
          "body": "Co-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "update a few dependencies, and also bump pytest (#5092)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-04-01T15:11:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e1d861add96bafb4cd967647f24f0d5d974d424",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump dorny/paths-filter from 3.0.2 to 4.0.1 (#5097)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-01T14:45:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9693ad93376cfaeb836f87f6efcb5612be822aa8",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump actions/configure-pages from 5.0.0 to 6.0.0 (#5098)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-01T14:34:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd73160403e3fa38289ba5db6af194a8db43de1c",
          "body": "Co-authored-by: ammar92 <ammar.abdulamir@gmail.com>\nCo-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>\nCo-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>\nCo-authored-by: Edward <edward@hasecon.nl>",
          "is_bot": false,
          "headline": "Feat/raw files in tasklist (#4190)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-04-01T12:43:15Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f8f331ea6a3c5ad3216c536b4dfc2b81218f72d5",
          "body": "Co-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": false,
          "headline": "Fix nuclei boefjes crashing on HostnameHTTPURL inputs (#5052)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-04-01T08:48:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09abc5b993ea3e4aa88661b5791c8245abeae4db",
          "body": "Co-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Upgrade requests, pyjwt, cryptography, boto3, pygments (#5082)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-31T21:00:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9d739f8817b0a8f29cc5f2283ba0f52d16910fe",
          "body": "…sk lists (#5083)\n\nCo-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add proper task list filtering, and refactor the all organizations ta…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-31T20:17:27Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ab744c99e7b7699debb2de0373a05f808810664d",
          "body": null,
          "is_bot": false,
          "headline": "Fix LeakIX boefje to only return results for scanned asset (#4944)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-03-31T08:11:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea564deb4c1fb5c968bcdff03a4834c45d2b3a4c",
          "body": "Co-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": false,
          "headline": "Update django.pot after observed_at refactoring (#5077)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-03-30T07:27:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16172cc4b0a76561517b5a0117345894ad7087da",
          "body": null,
          "is_bot": false,
          "headline": "Fix check_requirements workflow for fork PRs (#5078)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-03-30T07:20:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "84bbbc4ef9c27527f21634ae4fd032a630699e65",
          "body": "Co-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Refactor observed_at handling / forms (#5057)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-28T14:21:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd92fd6166a257a23c12abbf41b5cae45ac636b4",
          "body": "Co-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": false,
          "headline": "Replace pika with aio-pika in Bytes service (#5061)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-03-28T13:52:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0346844c54a6b5db7cb878948b50b47b9bf6c303",
          "body": null,
          "is_bot": false,
          "headline": "Upgrade actions to node24 variants and version pin all actions (#5065)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-27T21:00:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "59a31ab3521f0ba6c070ab8623dc1ee3f8e45397",
          "body": "Co-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": false,
          "headline": "Fix invalid JSON Schema keywords in kat_rpki schema (#5064)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-03-25T13:54:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "00c03130e7276a5a115a3fd373993a472b3bf5a5",
          "body": null,
          "is_bot": false,
          "headline": "Update schema.json, fix max/maximum (#5063)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-25T13:42:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f41e5cb6b6d8b280c4a8ce2f58fbf49c7d3d2c0",
          "body": "…run again. (#5055)",
          "is_bot": false,
          "headline": "Use the new Deschedule mimetype to signal jobs that never need a new …",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-23T20:50:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71a7ae9ab737ba15a83dc66fa526892ba9b25aa3",
          "body": "…5056)",
          "is_bot": false,
          "headline": "Add a bit more clarification to the scan profile propagation table (#…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-23T08:19:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96cdab465eb34724fd3ff754a9feef4b26983a53",
          "body": "…m (#5058)\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pydicom from 2.4.4 to 2.4.5 in /boefjes/boefjes/plugins/kat_dico…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-23T08:06:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7719d8edf87bb99d30cc4e2027418982440281fb",
          "body": "…… (#5054)",
          "is_bot": false,
          "headline": "Use existing organization property on request.user, and dont filter i…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-20T08:32:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0d1766ab711278cd54aa2907fc0bd29f01f4050",
          "body": null,
          "is_bot": false,
          "headline": "Change cve-finding-types default to public API (#5053)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-03-19T08:02:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe6370a20958322015766f4c77563f7ed00ec82c",
          "body": "…nnects (#5051)",
          "is_bot": false,
          "headline": "Make error handling more robust, we saw some some crashes around reco…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-18T14:54:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5ebad76bb729ecf4b1f79d0229a402d6665e78a",
          "body": null,
          "is_bot": false,
          "headline": "optimize various parts of the scheduler (#5007)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-18T14:42:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d6215482c86796d86985b03f11093f872800a5e",
          "body": "…(#5040)",
          "is_bot": false,
          "headline": "make paginator smarter, avoid double lookups, cache results on page. …",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-18T14:23:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a713622d8fc330f01003ba67bfe6cf63244c392",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Jan Klopper <janklopper+underdark@gmail.com>",
          "is_bot": true,
          "headline": "Bump sphinxcontrib-mermaid from 1.2.3 to 2.0.0 (#5014)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-18T14:01:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "751d24138b541cdfc450d7a9c7329a3f3f9fac16",
          "body": "Signed-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Bump pyasn1 from 0.6.2 to 0.6.3 in /bytes (#5050)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-18T08:18:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a7ceb730382a003d1addd6deddb2531cf260ec75",
          "body": "…… (#5039)\n\nCo-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>\nCo-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Move scanprofile propagation from celery to daemon, and use xtdb's la…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-17T10:37:14Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d71663d6669bfbd54e8b07eddc86be23b440dbdf",
          "body": "Co-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Use the newly available sync param in rocky (#5049)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-17T10:13:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c0b4e2aa4ade1ccbfd9db293dc1fdbee11f73bd8",
          "body": null,
          "is_bot": false,
          "headline": "Fix nikto boefje: bug fixes and performance improvements (#4943)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-03-16T20:38:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b6a70898110dde10f0da736f7d792213e8e5830",
          "body": "Co-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Remove CSS/JS compressor. Its not compatible with JS modules (#5032)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-16T09:24:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b03072974aee9cbb5dd6eaef2813bc60b07a2d96",
          "body": "…5046)\n\nCo-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add Optional sync flags to octopoes service, router and xtdbclient (#…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-16T08:46:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "004b8c16780eb2f48e7125b24310d46a74dd2bda",
          "body": null,
          "is_bot": false,
          "headline": "Skip Docker registry login for fork PRs (#5047)",
          "author_name": "hasecon",
          "author_login": "hasecon",
          "committed_at": "2026-03-13T16:00:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21b68aa93d81551686d12e29b25f7a351c1fc941",
          "body": null,
          "is_bot": false,
          "headline": "Include User-Agent header in HTTP requests (#5044)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-13T15:16:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7abb7fc83e220487d5bf8c78a48394d32bdcad33",
          "body": null,
          "is_bot": false,
          "headline": "Feat/bytes normalizer metas endpoint (#4994)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-10T09:56:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6056e41312567e568172ec98b484567d493132dd",
          "body": "… (#5019)",
          "is_bot": false,
          "headline": "add ignore stanza for boefje.json.tmp files existing after a test run…",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-08T18:10:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d692d18a88ee9f3479d0d789b878be973173adf",
          "body": "Co-authored-by: hasecon <123255331+hasecon@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Adds some new endpoints to the xtdb cli and client (#4975)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-06T14:11:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb8bcf9f87c13c76d7f27db6276a53f06fdffd24",
          "body": null,
          "is_bot": false,
          "headline": "Order organizations by name in models.py (#4983)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-06T13:46:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6db793d4172c98ae314102b0aecd1c7141b82777",
          "body": "Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Optimize use of TypeAdapters in the octopoes client.  (#5020)",
          "author_name": "Jan Klopper",
          "author_login": "underdarknl",
          "committed_at": "2026-03-06T13:34:28Z",
          "body_truncated": false,
          "is_coding_agent": true
        }
      ],
      "releases_count": 75,
      "commits_last_year": 213,
      "latest_release_at": "2026-07-14T12:34:38Z",
      "latest_release_tag": "v1.22.1",
      "releases_from_tags": false,
      "days_since_last_push": 1,
      "active_weeks_last_year": 40,
      "days_since_latest_release": 19,
      "mean_days_between_releases": 42.5
    },
    "artifacts": {
      "collected": true,
      "structure": [
        "tree.compose",
        "tree.dockerfile",
        "tree.migrations"
      ],
      "declarations": [
        {
          "name": "cveapi",
          "path": "cveapi/pyproject.toml",
          "tokens": [
            "pypi.console_scripts"
          ],
          "ecosystem": "pypi"
        }
      ]
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "readme_badges": {
        "hosts": [],
        "total": 0,
        "header": 0,
        "collected": true,
        "has_inspect_badge": false
      },
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "mula",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "pypi",
          "categories": [],
          "matches_repo": null,
          "registry_url": "https://pypi.org/project/mula/",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "1.6.1",
          "repository_url": null,
          "versions_count": 26,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2024-03-14T13:00:02.493700Z",
          "latest_published_at": "2025-05-24T17:29:17.607820Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 435
        },
        {
          "name": "bytes",
          "exists": true,
          "license": "GNU General Public License, version 2",
          "keywords": [
            "Serialization",
            "deserialization",
            "formats",
            "marshaling"
          ],
          "ecosystem": "pypi",
          "categories": [],
          "matches_repo": false,
          "registry_url": "https://pypi.org/project/bytes/",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "0.0.1.dev4",
          "repository_url": "https://github.com/code-museum/bytes",
          "versions_count": 5,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 1658,
          "first_published_at": "2015-04-03T08:29:10.501727Z",
          "latest_published_at": "2015-04-08T21:21:56.560131Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 4134
        },
        {
          "name": "rocky",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "Development Status :: 5 - Production/Stable",
            "Environment :: Console",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: Apache Software License",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.10",
            "Programming Language :: Python :: 3.4",
            "Programming Language :: Python :: 3.5",
            "Programming Language :: Python :: 3.6",
            "Programming Language :: Python :: 3.7",
            "Programming Language :: Python :: 3.8",
            "Programming Language :: Python :: 3.9",
            "Topic :: Software Development :: Libraries :: Python Modules"
          ],
          "ecosystem": "pypi",
          "categories": [],
          "matches_repo": false,
          "registry_url": "https://pypi.org/project/rocky/",
          "declared_type": null,
          "is_deprecated": false,
          "latest_version": "1.0.2",
          "repository_url": "https://github.com/andersroos/rocky",
          "versions_count": 4,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 149,
          "first_published_at": "2016-12-13T18:17:45.927585Z",
          "latest_published_at": "2022-04-07T19:54:58.654612Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 1578
        }
      ]
    },
    "popularity": {
      "forks": 69,
      "stars": 153,
      "watchers": 16,
      "fork_history": {
        "days": [
          {
            "date": "2022-07-01",
            "count": 1
          },
          {
            "date": "2022-07-03",
            "count": 1
          },
          {
            "date": "2022-07-17",
            "count": 1
          },
          {
            "date": "2022-07-22",
            "count": 1
          },
          {
            "date": "2022-07-26",
            "count": 1
          },
          {
            "date": "2022-07-27",
            "count": 1
          },
          {
            "date": "2022-08-10",
            "count": 1
          },
          {
            "date": "2022-08-29",
            "count": 1
          },
          {
            "date": "2022-09-17",
            "count": 1
          },
          {
            "date": "2022-10-12",
            "count": 1
          },
          {
            "date": "2022-10-31",
            "count": 1
          },
          {
            "date": "2022-11-15",
            "count": 1
          },
          {
            "date": "2022-12-17",
            "count": 1
          },
          {
            "date": "2023-02-14",
            "count": 1
          },
          {
            "date": "2023-02-15",
            "count": 1
          },
          {
            "date": "2023-02-16",
            "count": 3
          },
          {
            "date": "2023-02-26",
            "count": 1
          },
          {
            "date": "2023-03-05",
            "count": 1
          },
          {
            "date": "2023-03-06",
            "count": 1
          },
          {
            "date": "2023-03-14",
            "count": 1
          },
          {
            "date": "2023-03-17",
            "count": 2
          },
          {
            "date": "2023-03-21",
            "count": 1
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-04-26",
            "count": 1
          },
          {
            "date": "2023-04-27",
            "count": 1
          },
          {
            "date": "2023-05-08",
            "count": 1
          },
          {
            "date": "2023-05-12",
            "count": 1
          },
          {
            "date": "2023-05-25",
            "count": 1
          },
          {
            "date": "2023-06-12",
            "count": 1
          },
          {
            "date": "2023-06-18",
            "count": 1
          },
          {
            "date": "2023-07-03",
            "count": 1
          },
          {
            "date": "2023-07-06",
            "count": 1
          },
          {
            "date": "2023-07-28",
            "count": 1
          },
          {
            "date": "2023-08-11",
            "count": 1
          },
          {
            "date": "2023-09-04",
            "count": 1
          },
          {
            "date": "2023-09-15",
            "count": 1
          },
          {
            "date": "2023-09-16",
            "count": 1
          },
          {
            "date": "2023-10-08",
            "count": 1
          },
          {
            "date": "2023-10-20",
            "count": 1
          },
          {
            "date": "2023-10-26",
            "count": 1
          },
          {
            "date": "2023-11-13",
            "count": 1
          },
          {
            "date": "2023-11-25",
            "count": 1
          },
          {
            "date": "2024-03-04",
            "count": 1
          },
          {
            "date": "2024-03-25",
            "count": 1
          },
          {
            "date": "2024-04-18",
            "count": 1
          },
          {
            "date": "2024-04-30",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-10-02",
            "count": 1
          },
          {
            "date": "2024-10-18",
            "count": 1
          },
          {
            "date": "2024-11-01",
            "count": 1
          },
          {
            "date": "2025-01-15",
            "count": 1
          },
          {
            "date": "2025-04-17",
            "count": 1
          },
          {
            "date": "2025-05-09",
            "count": 1
          },
          {
            "date": "2025-06-01",
            "count": 1
          },
          {
            "date": "2025-06-10",
            "count": 1
          },
          {
            "date": "2025-06-26",
            "count": 1
          },
          {
            "date": "2025-07-23",
            "count": 1
          },
          {
            "date": "2025-09-04",
            "count": 1
          },
          {
            "date": "2026-01-05",
            "count": 1
          },
          {
            "date": "2026-01-12",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 1
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-05-02",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 1
          },
          {
            "date": "2026-07-15",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 68,
        "total_forks": 69
      },
      "star_history": null,
      "open_issues_and_prs": 1023
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile",
        "boefjes/Makefile",
        "boefjes/packaging/deb/Makefile",
        "bytes/Makefile",
        "bytes/packaging/deb/Makefile",
        "cveapi/Makefile",
        "mula/Makefile",
        "mula/packaging/deb/Makefile",
        "octopoes/Makefile",
        "octopoes/packaging/deb/Makefile",
        "rocky/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 95585,
      "source_files_sampled": 1193,
      "oversized_source_files": 2,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "boefjes/pyproject.toml",
        "boefjes/requirements-dev.txt",
        "boefjes/requirements.txt",
        "boefjes/setup.py",
        "bytes/pyproject.toml",
        "bytes/requirements-dev.txt",
        "bytes/requirements.txt",
        "bytes/setup.py",
        "cveapi/pyproject.toml",
        "cveapi/requirements.txt",
        "mula/pyproject.toml",
        "mula/requirements-dev.txt",
        "mula/requirements.txt",
        "mula/setup.py",
        "octopoes/pyproject.toml",
        "octopoes/requirements-dev.txt",
        "octopoes/requirements.txt",
        "octopoes/setup.py",
        "pyproject.toml",
        "requirements.txt",
        "rocky/package.json",
        "rocky/pyproject.toml",
        "rocky/requirements-dev.txt",
        "rocky/requirements.txt",
        "rocky/setup.py"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 12,
        "malicious_count": 0,
        "assessed_package": "pypi:mula@1.6.1",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "alembic",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "~=1.8"
        },
        {
          "name": "click",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=8.1.3,<9"
        },
        {
          "name": "jsonschema",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.17.0,<5"
        },
        {
          "name": "pydantic",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.7.1,<3"
        },
        {
          "name": "docker",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=7.1.0,<8"
        },
        {
          "name": "uvicorn",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.29.0,<0.30"
        },
        {
          "name": "psycopg2-binary",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.9.10"
        },
        {
          "name": "pynacl",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.5.0,<2"
        },
        {
          "name": "sqlalchemy",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.4.48"
        },
        {
          "name": "python-dateutil",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.8.2,<3"
        },
        {
          "name": "pydantic-settings",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.14.2,<3"
        },
        {
          "name": "opentelemetry-sdk",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-exporter-otlp-proto-grpc",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-fastapi",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-psycopg2",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-requests",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "requests",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.33.0,<3"
        },
        {
          "name": "beautifulsoup4",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==4.11.1"
        },
        {
          "name": "dnspython",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.6.1,<3"
        },
        {
          "name": "tldextract",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">5"
        },
        {
          "name": "validators",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==0.20.0"
        },
        {
          "name": "python-libnmap",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==0.7.3"
        },
        {
          "name": "cryptography",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=48.0.1"
        },
        {
          "name": "forcediphttpsadapter",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==1.1.0"
        },
        {
          "name": "urllib3",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.1.0,<3"
        },
        {
          "name": "wpscan-out-parse",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==1.9.3"
        },
        {
          "name": "netaddr",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.0,<2"
        },
        {
          "name": "defusedxml",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.7.1,<0.8"
        },
        {
          "name": "pillow",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=12.3.0"
        },
        {
          "name": "httpx",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.28.1,<0.29"
        },
        {
          "name": "opentelemetry-api",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-exporter-otlp-proto-common",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-asgi",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-dbapi",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-proto",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-semantic-conventions",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-util-http",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "fastapi-slim",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.115.2"
        },
        {
          "name": "structlog",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=25.2.0,<26"
        },
        {
          "name": "maxminddb",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.6.2,<3"
        },
        {
          "name": "tanimachi",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.0.6,<0.0.7"
        },
        {
          "name": "cpe",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.1,<2"
        },
        {
          "name": "croniter",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=6.0.0,<7"
        },
        {
          "name": "setuptools",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=80.9.0"
        },
        {
          "name": "pygments",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.20.0"
        },
        {
          "name": "wrapt",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.1.2"
        },
        {
          "name": "attrs",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=26.1.0"
        },
        {
          "name": "mako",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.12"
        },
        {
          "name": "urllib3",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.7.0"
        },
        {
          "name": "idna",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.15"
        },
        {
          "name": "starlette",
          "manifest": "boefjes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.1"
        },
        {
          "name": "alembic",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.8.1,<2"
        },
        {
          "name": "cachetools",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">6"
        },
        {
          "name": "passlib",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.7.4,<2"
        },
        {
          "name": "aio-pika",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=9.5,<10"
        },
        {
          "name": "prometheus-client",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.16.0,<0.17"
        },
        {
          "name": "psycopg2-binary",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.9.10"
        },
        {
          "name": "pydantic",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.7.1,<3"
        },
        {
          "name": "pynacl",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.5.0,<2"
        },
        {
          "name": "rfc3161ng",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.1.3,<3"
        },
        {
          "name": "sqlalchemy",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.4.48,<2"
        },
        {
          "name": "uvicorn",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.29.0,<0.30"
        },
        {
          "name": "opentelemetry-sdk",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-exporter-otlp-proto-grpc",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-fastapi",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-psycopg2",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-httpx",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-dbapi",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "pydantic-settings",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.14.2,<3"
        },
        {
          "name": "python-multipart",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.0.31"
        },
        {
          "name": "httpx",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.28.1,<0.29"
        },
        {
          "name": "opentelemetry-api",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-exporter-otlp-proto-common",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-asgi",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-proto",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-semantic-conventions",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-util-http",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "pyjwt",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.13.0"
        },
        {
          "name": "fastapi-slim",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.115.2"
        },
        {
          "name": "structlog",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=25.2.0,<26"
        },
        {
          "name": "cryptography",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=48.0.1"
        },
        {
          "name": "boto3",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.42.70,<3"
        },
        {
          "name": "bcrypt",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "<5"
        },
        {
          "name": "requests",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.33.0,<3"
        },
        {
          "name": "pygments",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.20.0"
        },
        {
          "name": "pyasn1",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.6.4"
        },
        {
          "name": "wrapt",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.1.2"
        },
        {
          "name": "mako",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.12"
        },
        {
          "name": "urllib3",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.7.0"
        },
        {
          "name": "idna",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.15"
        },
        {
          "name": "starlette",
          "manifest": "bytes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.1"
        },
        {
          "name": "httpx",
          "manifest": "cveapi/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.28.1"
        },
        {
          "name": "idna",
          "manifest": "cveapi/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.15"
        },
        {
          "name": "alembic",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.12.1,<2"
        },
        {
          "name": "croniter",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=6.0.0,<7"
        },
        {
          "name": "mmh3",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=5.1.0,<6"
        },
        {
          "name": "pika",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.2,<2"
        },
        {
          "name": "prometheus-client",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.19.0,<0.20"
        },
        {
          "name": "psycopg2-binary",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.9.10"
        },
        {
          "name": "pydantic",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.11.3,<3"
        },
        {
          "name": "pydantic-settings",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.14.2,<3"
        },
        {
          "name": "python-dotenv",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.0.0,<2"
        },
        {
          "name": "retry2",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.9.5,<0.10"
        },
        {
          "name": "sqlalchemy",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.0.23,<3"
        },
        {
          "name": "structlog",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=25.2.0,<26"
        },
        {
          "name": "uvicorn",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.29.0,<0.30"
        },
        {
          "name": "httpx",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.28.1,<0.29"
        },
        {
          "name": "fastapi-slim",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.115.12"
        },
        {
          "name": "opentelemetry-sdk",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-api",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-proto",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-exporter-otlp-proto-grpc",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-exporter-otlp-proto-common",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-util-http",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-httpx",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-asgi",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-dbapi",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-fastapi",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-psycopg2",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-semantic-conventions",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "pygments",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.20.0"
        },
        {
          "name": "wrapt",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.1.2"
        },
        {
          "name": "mako",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.12"
        },
        {
          "name": "idna",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.15"
        },
        {
          "name": "starlette",
          "manifest": "mula/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.1"
        },
        {
          "name": "pydantic",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.7.1,<3"
        },
        {
          "name": "uvicorn",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.29.0,<0.30"
        },
        {
          "name": "pika",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.1,<2"
        },
        {
          "name": "PyYAML",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "~=6.0"
        },
        {
          "name": "dnspython",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.6.1,<3"
        },
        {
          "name": "kombu",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=5.2.4,<6"
        },
        {
          "name": "celery",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=5.2.7,<6"
        },
        {
          "name": "pyparsing",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.0.9,<4"
        },
        {
          "name": "tldextract",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">5"
        },
        {
          "name": "opentelemetry-sdk",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-exporter-otlp-proto-grpc",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-fastapi",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-psycopg2",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-httpx",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "sqlalchemy",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==1.4.48"
        },
        {
          "name": "jsonschema",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.18.0,<5"
        },
        {
          "name": "pydantic-settings",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.14.2,<3"
        },
        {
          "name": "httpx",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.28.1,<0.29"
        },
        {
          "name": "link-shorteners",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.11.0,<2"
        },
        {
          "name": "opentelemetry-api",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-exporter-otlp-proto-common",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-asgi",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-dbapi",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-proto",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-semantic-conventions",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-util-http",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "fastapi-slim",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.115.2"
        },
        {
          "name": "structlog",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=25.2.0,<26"
        },
        {
          "name": "asgiref",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.8.1,<4"
        },
        {
          "name": "setuptools",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">80,<82"
        },
        {
          "name": "requests",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.33.0,<3"
        },
        {
          "name": "pygments",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.20.0"
        },
        {
          "name": "wrapt",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.1.2"
        },
        {
          "name": "attrs",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=26.1.0"
        },
        {
          "name": "urllib3",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.7.0"
        },
        {
          "name": "idna",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.15"
        },
        {
          "name": "webob",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.8.10"
        },
        {
          "name": "starlette",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.3.1"
        },
        {
          "name": "soupsieve",
          "manifest": "octopoes/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.8.4"
        },
        {
          "name": "sphinx",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=8.1.3,<9"
        },
        {
          "name": "sphinx_rtd_theme",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.0.2,<4"
        },
        {
          "name": "sphinxcontrib-mermaid",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.0.0,<3"
        },
        {
          "name": "myst-parser",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.0.1,<5"
        },
        {
          "name": "settings-doc",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.3.2,<5"
        },
        {
          "name": "colorama",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "==0.4.6"
        },
        {
          "name": "autodoc-pydantic",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.2.0,<3"
        },
        {
          "name": "croniter",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=6.0.0,<7"
        },
        {
          "name": "jsonschema",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.17.0,<5"
        },
        {
          "name": "pygments",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.20.0"
        },
        {
          "name": "requests",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.33.0,<3"
        },
        {
          "name": "attrs",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=26.1.0"
        },
        {
          "name": "python-dotenv",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.2.2"
        },
        {
          "name": "urllib3",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.7.0"
        },
        {
          "name": "idna",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.15"
        },
        {
          "name": "pydantic-settings",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.14.2"
        },
        {
          "name": "@minvws/manon",
          "manifest": "rocky/package.json",
          "ecosystem": "npm",
          "version_constraint": "16.1.0"
        },
        {
          "name": "d3",
          "manifest": "rocky/package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.4.3"
        },
        {
          "name": "beautifulsoup4",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.11.2,<5"
        },
        {
          "name": "django",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=5.1.14,<5.2"
        },
        {
          "name": "django-two-factor-auth",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.17.0,<2"
        },
        {
          "name": "django-environ",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.12.0,<0.13"
        },
        {
          "name": "jsonschema",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=4.17.0,<5"
        },
        {
          "name": "phonenumbers",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=9.0.4,<10"
        },
        {
          "name": "psycopg2-binary",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.9.10"
        },
        {
          "name": "pydantic",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.7.1,<3"
        },
        {
          "name": "python-dotenv",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.0.0,<2"
        },
        {
          "name": "django-password-validators",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.7.1,<2"
        },
        {
          "name": "django-csp",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": "~=4.0"
        },
        {
          "name": "djangorestframework",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.16.0,<4"
        },
        {
          "name": "django-tagulous",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.1.0,<3"
        },
        {
          "name": "drf-standardized-errors",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.14.1,<0.15"
        },
        {
          "name": "django-weasyprint",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.4.0,<3"
        },
        {
          "name": "strenum",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.4.15,<0.5"
        },
        {
          "name": "django-rest-knox",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=5.0.2,<6"
        },
        {
          "name": "opentelemetry-sdk",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-exporter-otlp-proto-grpc",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-django",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-psycopg2",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "whitenoise",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=6.5.0,<7"
        },
        {
          "name": "opentelemetry-instrumentation",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-fastapi",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "granian",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.7.4"
        },
        {
          "name": "django-components",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.88,<0.89"
        },
        {
          "name": "pyparsing",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.1.1,<4"
        },
        {
          "name": "pydantic-settings",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.14.2,<3"
        },
        {
          "name": "opentelemetry-instrumentation-httpx",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "httpx",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.27.0,<0.28"
        },
        {
          "name": "opentelemetry-api",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-exporter-otlp-proto-common",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-asgi",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-dbapi",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-instrumentation-wsgi",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-proto",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-semantic-conventions",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "opentelemetry-util-http",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "structlog",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=25.3.0,<26"
        },
        {
          "name": "django-structlog",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=9.1.1,<10"
        },
        {
          "name": "cron-descriptor",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2"
        },
        {
          "name": "structlog",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=25.3.0,<26"
        },
        {
          "name": "django-structlog",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=9.1.1,<10"
        },
        {
          "name": "weasyprint",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=66"
        },
        {
          "name": "requests",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.33.0,<3"
        },
        {
          "name": "attrs",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=26.1.0"
        },
        {
          "name": "pillow",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=12.3.0"
        },
        {
          "name": "brotlicffi",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=1.2.0.1"
        },
        {
          "name": "urllib3",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.7.0"
        },
        {
          "name": "idna",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=3.15"
        },
        {
          "name": "soupsieve",
          "manifest": "rocky/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.8.4"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@minvws/manon",
            "direct": true,
            "version": "16.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3",
            "direct": true,
            "version": "7.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "aio-pika",
            "direct": true,
            "version": "9.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "alembic",
            "direct": true,
            "version": "1.18.4",
            "ecosystem": "pypi"
          },
          {
            "name": "asgiref",
            "direct": true,
            "version": "3.11.1",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": true,
            "version": "25.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": true,
            "version": "26.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "autodoc-pydantic",
            "direct": true,
            "version": "2.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "bcrypt",
            "direct": true,
            "version": "4.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "beautifulsoup4",
            "direct": true,
            "version": "4.11.1",
            "ecosystem": "pypi"
          },
          {
            "name": "beautifulsoup4",
            "direct": true,
            "version": "4.14.3",
            "ecosystem": "pypi"
          },
          {
            "name": "boto3",
            "direct": true,
            "version": "1.42.89",
            "ecosystem": "pypi"
          },
          {
            "name": "brotlicffi",
            "direct": true,
            "version": "1.2.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cachetools",
            "direct": true,
            "version": "7.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "celery",
            "direct": true,
            "version": "5.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": true,
            "version": "8.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": true,
            "version": "8.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": true,
            "version": "8.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "colorama",
            "direct": true,
            "version": "0.4.6",
            "ecosystem": "pypi"
          },
          {
            "name": "cpe",
            "direct": true,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cron-descriptor",
            "direct": true,
            "version": "2.0.8",
            "ecosystem": "pypi"
          },
          {
            "name": "croniter",
            "direct": true,
            "version": "6.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "croniter",
            "direct": true,
            "version": "6.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": true,
            "version": "49.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "defusedxml",
            "direct": true,
            "version": "0.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "django",
            "direct": true,
            "version": "5.1.15",
            "ecosystem": "pypi"
          },
          {
            "name": "django-components",
            "direct": true,
            "version": "0.88",
            "ecosystem": "pypi"
          },
          {
            "name": "django-csp",
            "direct": true,
            "version": "4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "django-environ",
            "direct": true,
            "version": "0.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "django-password-validators",
            "direct": true,
            "version": "1.7.3",
            "ecosystem": "pypi"
          },
          {
            "name": "django-rest-knox",
            "direct": true,
            "version": "5.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "django-structlog",
            "direct": true,
            "version": "9.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "django-tagulous",
            "direct": true,
            "version": "2.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "django-two-factor-auth",
            "direct": true,
            "version": "1.18.1",
            "ecosystem": "pypi"
          },
          {
            "name": "django-weasyprint",
            "direct": true,
            "version": "2.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "djangorestframework",
            "direct": true,
            "version": "3.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "dnspython",
            "direct": true,
            "version": "2.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "dnspython",
            "direct": true,
            "version": "2.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "docker",
            "direct": true,
            "version": "7.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "drf-standardized-errors",
            "direct": true,
            "version": "0.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi-slim",
            "direct": true,
            "version": "0.129.1",
            "ecosystem": "pypi"
          },
          {
            "name": "forcediphttpsadapter",
            "direct": true,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "granian",
            "direct": true,
            "version": "2.7.4",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": true,
            "version": "0.27.2",
            "ecosystem": "pypi"
          },
          {
            "name": "httpx",
            "direct": true,
            "version": "0.28.1",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": true,
            "version": "3.10",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": true,
            "version": "3.15",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": true,
            "version": "4.24.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": true,
            "version": "4.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "kombu",
            "direct": true,
            "version": "5.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "link-shorteners",
            "direct": true,
            "version": "1.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mako",
            "direct": true,
            "version": "1.3.12",
            "ecosystem": "pypi"
          },
          {
            "name": "maxminddb",
            "direct": true,
            "version": "2.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "maxminddb",
            "direct": true,
            "version": "2.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mmh3",
            "direct": true,
            "version": "5.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "myst-parser",
            "direct": true,
            "version": "4.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "netaddr",
            "direct": true,
            "version": "0.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "netaddr",
            "direct": true,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-api",
            "direct": true,
            "version": "1.41.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-exporter-otlp-proto-common",
            "direct": true,
            "version": "1.41.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-exporter-otlp-proto-grpc",
            "direct": true,
            "version": "1.41.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-instrumentation",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-instrumentation-asgi",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-instrumentation-dbapi",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-instrumentation-django",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-instrumentation-fastapi",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-instrumentation-httpx",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-instrumentation-psycopg2",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-instrumentation-requests",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-instrumentation-wsgi",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-proto",
            "direct": true,
            "version": "1.41.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-sdk",
            "direct": true,
            "version": "1.41.0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-semantic-conventions",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "opentelemetry-util-http",
            "direct": true,
            "version": "0.62b0",
            "ecosystem": "pypi"
          },
          {
            "name": "passlib",
            "direct": true,
            "version": "1.7.4",
            "ecosystem": "pypi"
          },
          {
            "name": "phonenumbers",
            "direct": true,
            "version": "9.0.28",
            "ecosystem": "pypi"
          },
          {
            "name": "pika",
            "direct": true,
            "version": "1.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": true,
            "version": "12.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prometheus-client",
            "direct": true,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prometheus-client",
            "direct": true,
            "version": "0.19.0",
            "ecosystem": "pypi"
          },
          {
            "name": "psycopg2-binary",
            "direct": true,
            "version": "2.9.11",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1",
            "direct": true,
            "version": "0.6.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": true,
            "version": "2.11.7",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": true,
            "version": "2.12.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": true,
            "version": "2.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-settings",
            "direct": true,
            "version": "2.14.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": true,
            "version": "2.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyjwt",
            "direct": true,
            "version": "2.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pynacl",
            "direct": true,
            "version": "1.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyparsing",
            "direct": true,
            "version": "3.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dateutil",
            "direct": true,
            "version": "2.9.0.post0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": true,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-libnmap",
            "direct": true,
            "version": "0.7.3",
            "ecosystem": "pypi"
          },
          {
            "name": "python-multipart",
            "direct": true,
            "version": "0.0.32",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": true,
            "version": "6.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": true,
            "version": "2.33.0",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": true,
            "version": "2.33.1",
            "ecosystem": "pypi"
          },
          {
            "name": "retry2",
            "direct": true,
            "version": "0.9.5",
            "ecosystem": "pypi"
          },
          {
            "name": "rfc3161ng",
            "direct": true,
            "version": "2.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "settings-doc",
            "direct": true,
            "version": "4.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": true,
            "version": "81.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": true,
            "version": "82.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "soupsieve",
            "direct": true,
            "version": "2.8.4",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx",
            "direct": true,
            "version": "8.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx",
            "direct": true,
            "version": "8.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-rtd-theme",
            "direct": true,
            "version": "3.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-mermaid",
            "direct": true,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": true,
            "version": "1.4.48",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": true,
            "version": "1.4.54",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlalchemy",
            "direct": true,
            "version": "2.0.49",
            "ecosystem": "pypi"
          },
          {
            "name": "starlette",
            "direct": true,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "strenum",
            "direct": true,
            "version": "0.4.15",
            "ecosystem": "pypi"
          },
          {
            "name": "structlog",
            "direct": true,
            "version": "25.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "structlog",
            "direct": true,
            "version": "25.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tanimachi",
            "direct": true,
            "version": "0.0.6",
            "ecosystem": "pypi"
          },
          {
            "name": "tldextract",
            "direct": true,
            "version": "5.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": true,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "uvicorn",
            "direct": true,
            "version": "0.29.0",
            "ecosystem": "pypi"
          },
          {
            "name": "validators",
            "direct": true,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "weasyprint",
            "direct": true,
            "version": "68.1",
            "ecosystem": "pypi"
          },
          {
            "name": "webob",
            "direct": true,
            "version": "1.8.10",
            "ecosystem": "pypi"
          },
          {
            "name": "whitenoise",
            "direct": true,
            "version": "6.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "wpscan-out-parse",
            "direct": true,
            "version": "1.9.3",
            "ecosystem": "pypi"
          },
          {
            "name": "wrapt",
            "direct": true,
            "version": "1.17.3",
            "ecosystem": "pypi"
          },
          {
            "name": "wrapt",
            "direct": true,
            "version": "2.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/highlight",
            "direct": false,
            "version": "7.18.6",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/set-array",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/source-map",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.4.14",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.14",
            "ecosystem": "npm"
          },
          {
            "name": "@lezer/common",
            "direct": false,
            "version": "0.15.12",
            "ecosystem": "npm"
          },
          {
            "name": "@lezer/lr",
            "direct": false,
            "version": "0.15.8",
            "ecosystem": "npm"
          },
          {
            "name": "@lmdb/lmdb-darwin-arm64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lmdb/lmdb-darwin-x64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lmdb/lmdb-linux-arm",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lmdb/lmdb-linux-arm64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lmdb/lmdb-linux-x64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lmdb/lmdb-win32-x64",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@mischnic/json-sourcemap",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-darwin-arm64",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-darwin-x64",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-linux-arm",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-linux-arm64",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-linux-x64",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@msgpackr-extract/msgpackr-extract-win32-x64",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/bundler-default",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/cache",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/codeframe",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/compressor-raw",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/config-default",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/core",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/css",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/css-darwin-arm64",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/css-darwin-x64",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/css-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/css-linux-arm64-gnu",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/css-linux-arm64-musl",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/css-linux-x64-gnu",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/css-linux-x64-musl",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/css-win32-x64-msvc",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/diagnostic",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/events",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/fs",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/fs-search",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/graph",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/hash",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/logger",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/markdown-ansi",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/namer-default",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/node-resolver-core",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/optimizer-css",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/optimizer-htmlnano",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/optimizer-image",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/optimizer-svgo",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/optimizer-terser",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/package-manager",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/packager-css",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/packager-html",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/packager-js",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/packager-raw",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/packager-svg",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/plugin",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/reporter-cli",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/reporter-dev-server",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/resolver-default",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/runtime-browser-hmr",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/runtime-js",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/runtime-react-refresh",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/runtime-service-worker",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/source-map",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-babel",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-css",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-html",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-image",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-js",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-json",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-postcss",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-posthtml",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-raw",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-react-refresh-wrap",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-sass",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/transformer-svg",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/types",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/utils",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/watcher",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@parcel/workers",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/helpers",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/parse-json",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "abortcontroller-polyfill",
            "direct": false,
            "version": "1.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "base-x",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "boolbase",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.21.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001361",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "chrome-trace-event",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "clone",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "css-select",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "css-tree",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "css-what",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "csso",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "d3-axis",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-brush",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-chord",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-color",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-contour",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-delaunay",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dispatch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-drag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dsv",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-ease",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-fetch",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-force",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-format",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-geo",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-hierarchy",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-interpolate",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-polygon",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-quadtree",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-random",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale-chromatic",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-selection",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time-format",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-timer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-transition",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-zoom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "delaunator",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "dom-serializer",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "domelementtype",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "domhandler",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "domutils",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "dotenv",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dotenv-expand",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.4.174",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-port",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "13.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "htmlnano",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "htmlparser2",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "immutable",
            "direct": false,
            "version": "4.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "internmap",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-json",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "lmdb",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.0.14",
            "ecosystem": "npm"
          },
          {
            "name": "msgpackr",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "msgpackr-extract",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp-build",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp-build-optional-packages",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp-build-optional-packages",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "nth-check",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "nullthrows",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ordered-binary",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "parcel",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-value-parser",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "posthtml",
            "direct": false,
            "version": "0.16.6",
            "ecosystem": "npm"
          },
          {
            "name": "posthtml-parser",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "posthtml-parser",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "posthtml-render",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-error-overlay",
            "direct": false,
            "version": "6.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "react-refresh",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "regenerator-runtime",
            "direct": false,
            "version": "0.13.9",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "robust-predicates",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "rw",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "sass",
            "direct": false,
            "version": "1.53.0",
            "ecosystem": "npm"
          },
          {
            "name": "sax",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.21",
            "ecosystem": "npm"
          },
          {
            "name": "stable",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "svgo",
            "direct": false,
            "version": "2.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "term-size",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "terser",
            "direct": false,
            "version": "5.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "timsort",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "utility-types",
            "direct": false,
            "version": "3.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "v8-compile-cache",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "weak-lru-cache",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "xxhash-wasm",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "1.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "aiormq",
            "direct": false,
            "version": "6.9.4",
            "ecosystem": "pypi"
          },
          {
            "name": "alabaster",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "amqp",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-doc",
            "direct": false,
            "version": "0.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-types",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ansicolors",
            "direct": false,
            "version": "1.1.8",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "babel",
            "direct": false,
            "version": "2.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "billiard",
            "direct": false,
            "version": "4.2.4",
            "ecosystem": "pypi"
          },
          {
            "name": "boefjes",
            "direct": false,
            "version": "0.0.1.dev1",
            "ecosystem": "pypi"
          },
          {
            "name": "botocore",
            "direct": false,
            "version": "1.42.89",
            "ecosystem": "pypi"
          },
          {
            "name": "brotli",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "bytes",
            "direct": false,
            "version": "0.0.1.dev1",
            "ecosystem": "pypi"
          },
          {
            "name": "censys",
            "direct": false,
            "version": "2.1.8",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2025.4.26",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2025.6.15",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2026.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2026.2.25",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.7",
            "ecosystem": "pypi"
          },
          {
            "name": "click-didyoumean",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "click-plugins",
            "direct": false,
            "version": "1.1.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "click-repl",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "coverage",
            "direct": false,
            "version": "7.13.5",
            "ecosystem": "pypi"
          },
          {
            "name": "cssbeautifier",
            "direct": false,
            "version": "1.15.4",
            "ecosystem": "pypi"
          },
          {
            "name": "cssselect2",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cveapi",
            "direct": false,
            "version": "0.0.1.dev1",
            "ecosystem": "pypi"
          },
          {
            "name": "decorator",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "django-admin-auto-tests",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "django-formtools",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "django-ipware",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "django-otp",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "django-phonenumber-field",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "djlint",
            "direct": false,
            "version": "1.36.4",
            "ecosystem": "pypi"
          },
          {
            "name": "docutils",
            "direct": false,
            "version": "0.21.2",
            "ecosystem": "pypi"
          },
          {
            "name": "editorconfig",
            "direct": false,
            "version": "0.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "exceptiongroup",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "factory-boy",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "faker",
            "direct": false,
            "version": "40.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fastapi",
            "direct": false,
            "version": "0.135.3",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.25.2",
            "ecosystem": "pypi"
          },
          {
            "name": "fonttools",
            "direct": false,
            "version": "4.62.1",
            "ecosystem": "pypi"
          },
          {
            "name": "googleapis-common-protos",
            "direct": false,
            "version": "1.74.0",
            "ecosystem": "pypi"
          },
          {
            "name": "greenlet",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": false,
            "version": "1.75.1",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio",
            "direct": false,
            "version": "1.80.0",
            "ecosystem": "pypi"
          },
          {
            "name": "grpcio-tools",
            "direct": false,
            "version": "1.75.1",
            "ecosystem": "pypi"
          },
          {
            "name": "h11",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "httpcore",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "imagesize",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": false,
            "version": "8.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "inflection",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "iniconfig",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "jmespath",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsbeautifier",
            "direct": false,
            "version": "1.15.4",
            "ecosystem": "pypi"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpatch",
            "direct": false,
            "version": "1.33",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpointer",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-specifications",
            "direct": false,
            "version": "2025.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-specifications",
            "direct": false,
            "version": "2025.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "lazy-object-proxy",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "legacy-cgi",
            "direct": false,
            "version": "2.6.4",
            "ecosystem": "pypi"
          },
          {
            "name": "loguru",
            "direct": false,
            "version": "0.7.3",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-it-py",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "mdit-py-plugins",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "model-mommy",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mula",
            "direct": false,
            "version": "0.0.1.dev1",
            "ecosystem": "pypi"
          },
          {
            "name": "multidict",
            "direct": false,
            "version": "6.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "natsort",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "octopoes",
            "direct": false,
            "version": "0.0.1.dev1",
            "ecosystem": "pypi"
          },
          {
            "name": "openkat",
            "direct": false,
            "version": "0.0.1.dev1",
            "ecosystem": "pypi"
          },
          {
            "name": "overrides",
            "direct": false,
            "version": "7.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pamqp",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pathspec",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pluggy",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prompt-toolkit",
            "direct": false,
            "version": "3.0.52",
            "ecosystem": "pypi"
          },
          {
            "name": "propcache",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": false,
            "version": "6.32.1",
            "ecosystem": "pypi"
          },
          {
            "name": "protobuf",
            "direct": false,
            "version": "6.33.6",
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "psycopg2",
            "direct": false,
            "version": "2.9.11",
            "ecosystem": "pypi"
          },
          {
            "name": "pyasn1-modules",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pybinaryedge",
            "direct": false,
            "version": "0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.33.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.41.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.46.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydicom",
            "direct": false,
            "version": "2.4.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pydyf",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pynetdicom",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyphen",
            "direct": false,
            "version": "0.17.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "7.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "9.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-assert-utils",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-common-subject",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-cov",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-django",
            "direct": false,
            "version": "4.12.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-drf",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-env",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-fixture-order",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-httpx",
            "direct": false,
            "version": "0.30.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-httpx",
            "direct": false,
            "version": "0.36.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-lambda",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-mock",
            "direct": false,
            "version": "3.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-timeout",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-ipware",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytz",
            "direct": false,
            "version": "2025.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pywin32",
            "direct": false,
            "version": "311",
            "ecosystem": "pypi"
          },
          {
            "name": "qrcode",
            "direct": false,
            "version": "8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "referencing",
            "direct": false,
            "version": "0.36.2",
            "ecosystem": "pypi"
          },
          {
            "name": "referencing",
            "direct": false,
            "version": "0.37.0",
            "ecosystem": "pypi"
          },
          {
            "name": "regex",
            "direct": false,
            "version": "2026.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "requests-file",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "returns",
            "direct": false,
            "version": "0.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "returns",
            "direct": false,
            "version": "0.27.0",
            "ecosystem": "pypi"
          },
          {
            "name": "robotframework",
            "direct": false,
            "version": "7.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "robotframework-assertion-engine",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "robotframework-browser",
            "direct": false,
            "version": "19.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "robotframework-debuglibrary",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "robotframework-httplibrary",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "robotframework-otp",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "robotframework-postgresqldb",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "robotframework-pythonlibcore",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "robotframework-requests",
            "direct": false,
            "version": "0.9.7",
            "ecosystem": "pypi"
          },
          {
            "name": "rocky",
            "direct": false,
            "version": "0.0.1.dev1",
            "ecosystem": "pypi"
          },
          {
            "name": "roman-numerals",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "roman-numerals-py",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "0.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "0.30.0",
            "ecosystem": "pypi"
          },
          {
            "name": "s3transfer",
            "direct": false,
            "version": "0.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sectxt",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "seedir",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "selectolax",
            "direct": false,
            "version": "0.4.7",
            "ecosystem": "pypi"
          },
          {
            "name": "shodan",
            "direct": false,
            "version": "1.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "six",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sniffio",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "snowballstemmer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-applehelp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-devhelp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-htmlhelp",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-jquery",
            "direct": false,
            "version": "4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-jsmath",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-qthelp",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinxcontrib-serializinghtml",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sqlparse",
            "direct": false,
            "version": "0.5.5",
            "ecosystem": "pypi"
          },
          {
            "name": "tinycss2",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tinyhtml5",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tomli",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tomli",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tqdm",
            "direct": false,
            "version": "4.67.3",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": "4.13.2",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": "4.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": "4.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-inspection",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-inspection",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tzdata",
            "direct": false,
            "version": "2026.1",
            "ecosystem": "pypi"
          },
          {
            "name": "tzlocal",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "vine",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "waitress",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "wcwidth",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "webencodings",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "webtest",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "pypi"
          },
          {
            "name": "win32-setctime",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "yarl",
            "direct": false,
            "version": "1.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "3.23.1",
            "ecosystem": "pypi"
          },
          {
            "name": "zopfli",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 540,
        "direct_count": 125,
        "indirect_count": 415
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 75,
        "merged_prs": 2205,
        "open_issues": 948,
        "closed_ratio": 0.593,
        "closed_issues": 1382,
        "closed_unmerged_prs": 612
      },
      "bus_factor": 5,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "dekkers",
          "commits": 365,
          "avatar_url": "https://avatars.githubusercontent.com/u/656182?v=4"
        },
        {
          "type": "User",
          "login": "underdarknl",
          "commits": 324,
          "avatar_url": "https://avatars.githubusercontent.com/u/1902670?v=4"
        },
        {
          "type": "User",
          "login": "Donnype",
          "commits": 247,
          "avatar_url": "https://avatars.githubusercontent.com/u/46660228?v=4"
        },
        {
          "type": "User",
          "login": "noamblitz",
          "commits": 209,
          "avatar_url": "https://avatars.githubusercontent.com/u/43830693?v=4"
        },
        {
          "type": "User",
          "login": "ammar92",
          "commits": 181,
          "avatar_url": "https://avatars.githubusercontent.com/u/3471807?v=4"
        },
        {
          "type": "User",
          "login": "jpbruinsslot",
          "commits": 167,
          "avatar_url": "https://avatars.githubusercontent.com/u/1571710?v=4"
        },
        {
          "type": "User",
          "login": "madelondohmen",
          "commits": 116,
          "avatar_url": "https://avatars.githubusercontent.com/u/99282220?v=4"
        },
        {
          "type": "User",
          "login": "Rieven",
          "commits": 113,
          "avatar_url": "https://avatars.githubusercontent.com/u/30832687?v=4"
        },
        {
          "type": "User",
          "login": "Darwinkel",
          "commits": 81,
          "avatar_url": "https://avatars.githubusercontent.com/u/9536436?v=4"
        },
        {
          "type": "User",
          "login": "zcrt",
          "commits": 63,
          "avatar_url": "https://avatars.githubusercontent.com/u/115991818?v=4"
        }
      ],
      "contributors_sampled": 49,
      "top_contributor_share": 0.155
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "boefjes-tests.yml",
        "boefjes_container_image.yml",
        "boefjes_tests.yml",
        "build-debian-docker-image.yml",
        "build-rdo-package.yml",
        "build_docs_on_pr.yml",
        "bytes-tests.yml",
        "bytes_container_image.yml",
        "bytes_tests.yml",
        "check_requirements.yml",
        "codeql.yml",
        "containerized_boefjes.yml",
        "debian_package.yml",
        "deploy_docs.yml",
        "mula-tests.yml",
        "mula_container_image.yml",
        "mula_tests.yml",
        "octopoes-tests.yml",
        "octopoes_container_image.yml",
        "octopoes_rtest.yml",
        "octopoes_tests.yml",
        "pre_commit_checks.yml",
        "rocky-tests.yml",
        "rocky_container_image.yml",
        "rocky_makelang.yml",
        "rocky_tests.yml",
        "sonar-cloud.yml",
        "test_debian_packages_on_ubuntu.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json",
        "poetry.lock",
        "uv.lock",
        "yarn.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 8,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 2,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 28 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 3,
            "reason": "dependency not pinned by hash detected -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 1,
            "reason": "9 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "247b4429a081ba93766f98d23c62e7ff0589da35",
        "ran_at": "2026-08-03T04:15:26Z",
        "aggregate_score": 6.2,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "recent_prs": {
        "merged_7d": 7,
        "decided_7d": 7,
        "merged_30d": 16,
        "authors_30d": 3,
        "decided_30d": 19,
        "sample_size": 60,
        "window_days": 30,
        "sample_exhausted": false,
        "authors_probed_30d": 3,
        "newcomer_merged_30d": 0,
        "bot_prs_excluded_30d": 6,
        "newcomer_authors_30d": 0,
        "newcomer_decided_30d": 0
      },
      "ci_last_run_at": "2026-08-02T04:49:30Z",
      "oldest_open_prs": [
        {
          "number": 1888,
          "created_at": "2023-10-09T20:47:05Z",
          "last_comment_at": "2025-09-12T14:39:46Z",
          "last_comment_author": "CLAassistant"
        },
        {
          "number": 2545,
          "created_at": "2024-02-21T17:08:35Z",
          "last_comment_at": "2025-04-22T13:26:29Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 2556,
          "created_at": "2024-02-26T08:39:02Z",
          "last_comment_at": "2025-02-13T12:13:46Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 3299,
          "created_at": "2024-07-25T12:45:22Z",
          "last_comment_at": "2026-05-05T14:22:36Z",
          "last_comment_author": "hasecon"
        },
        {
          "number": 3347,
          "created_at": "2024-08-12T12:52:17Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 3349,
          "created_at": "2024-08-12T15:21:31Z",
          "last_comment_at": "2024-08-22T08:40:20Z",
          "last_comment_author": "dekkers"
        },
        {
          "number": 3594,
          "created_at": "2024-09-27T14:46:42Z",
          "last_comment_at": "2025-09-12T14:39:36Z",
          "last_comment_author": "CLAassistant"
        },
        {
          "number": 3652,
          "created_at": "2024-10-08T15:43:22Z",
          "last_comment_at": "2025-04-08T10:21:52Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 3774,
          "created_at": "2024-10-31T10:50:11Z",
          "last_comment_at": "2025-03-21T05:51:40Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 3808,
          "created_at": "2024-11-06T18:30:28Z",
          "last_comment_at": "2025-06-25T11:58:10Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 3822,
          "created_at": "2024-11-11T12:54:57Z",
          "last_comment_at": "2025-03-19T15:33:15Z",
          "last_comment_author": "RomijnHumanoids"
        },
        {
          "number": 4056,
          "created_at": "2025-01-30T13:10:24Z",
          "last_comment_at": "2025-03-20T08:30:59Z",
          "last_comment_author": "Rieven"
        },
        {
          "number": 4069,
          "created_at": "2025-02-06T12:14:42Z",
          "last_comment_at": "2025-07-17T07:09:34Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 4091,
          "created_at": "2025-02-12T16:46:52Z",
          "last_comment_at": "2025-02-12T16:53:34Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 4126,
          "created_at": "2025-02-26T08:46:10Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 4187,
          "created_at": "2025-03-18T16:17:17Z",
          "last_comment_at": "2025-04-29T11:46:27Z",
          "last_comment_author": "madelondohmen"
        },
        {
          "number": 4204,
          "created_at": "2025-03-24T14:14:05Z",
          "last_comment_at": "2025-06-11T15:48:59Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 4211,
          "created_at": "2025-03-25T11:53:16Z",
          "last_comment_at": "2025-03-26T10:18:11Z",
          "last_comment_author": "sonarqubecloud"
        },
        {
          "number": 4227,
          "created_at": "2025-03-27T10:27:17Z",
          "last_comment_at": "2025-06-11T07:31:40Z",
          "last_comment_author": "ammar92"
        },
        {
          "number": 4259,
          "created_at": "2025-04-01T13:24:16Z",
          "last_comment_at": "2025-04-03T12:01:54Z",
          "last_comment_author": "sonarqubecloud"
        }
      ],
      "last_merged_pr_at": "2026-07-31T09:39:20Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 192,
          "created_at": "2022-11-21T12:15:40Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 390,
          "created_at": "2022-11-30T09:26:08Z",
          "last_comment_at": "2025-12-01T15:56:07Z",
          "last_comment_author": "RomijnHumanoids"
        },
        {
          "number": 389,
          "created_at": "2022-11-30T09:35:15Z",
          "last_comment_at": "2023-04-19T08:06:52Z",
          "last_comment_author": "underdarknl"
        },
        {
          "number": 388,
          "created_at": "2022-11-30T09:43:42Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 386,
          "created_at": "2022-11-30T16:55:50Z",
          "last_comment_at": "2023-12-15T08:00:46Z",
          "last_comment_author": "underdarknl"
        },
        {
          "number": 385,
          "created_at": "2022-11-30T16:58:40Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 384,
          "created_at": "2022-12-01T10:40:35Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 383,
          "created_at": "2022-12-01T10:42:18Z",
          "last_comment_at": "2023-03-24T07:47:13Z",
          "last_comment_author": "underdarknl"
        },
        {
          "number": 382,
          "created_at": "2022-12-01T10:44:02Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 381,
          "created_at": "2022-12-01T10:49:27Z",
          "last_comment_at": "2023-03-24T07:41:05Z",
          "last_comment_author": "underdarknl"
        },
        {
          "number": 378,
          "created_at": "2022-12-01T15:12:11Z",
          "last_comment_at": "2022-12-01T15:14:14Z",
          "last_comment_author": "TwistMeister"
        },
        {
          "number": 374,
          "created_at": "2022-12-01T15:20:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 372,
          "created_at": "2022-12-01T15:50:28Z",
          "last_comment_at": "2023-05-25T12:00:30Z",
          "last_comment_author": "TwistMeister"
        },
        {
          "number": 79,
          "created_at": "2022-12-01T16:31:33Z",
          "last_comment_at": "2022-12-16T07:04:47Z",
          "last_comment_author": "ITNerdbox"
        },
        {
          "number": 367,
          "created_at": "2022-12-01T16:38:00Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 80,
          "created_at": "2022-12-02T12:12:25Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 366,
          "created_at": "2022-12-05T10:36:59Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 363,
          "created_at": "2022-12-05T10:42:05Z",
          "last_comment_at": "2023-01-03T10:46:57Z",
          "last_comment_author": "NoemiOverdijk"
        },
        {
          "number": 362,
          "created_at": "2022-12-05T10:43:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 358,
          "created_at": "2022-12-06T08:10:33Z",
          "last_comment_at": "2022-12-28T14:52:41Z",
          "last_comment_author": "underdarknl"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/SSC-ICT-Innovatie/nl-kat-coordination",
    "host": "github.com",
    "name": "nl-kat-coordination",
    "owner": "SSC-ICT-Innovatie"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "exceptional",
      "name": "Overall health",
      "note": "The weighted overall 79 is calibrated to 93 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 79,
            "calibrated": 93,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 93,
      "inputs": {
        "security": 70,
        "vitality": 91,
        "community": 66,
        "governance": 75,
        "calibration": "2026-08-02",
        "engineering": 92,
        "ai_readiness": 59,
        "weighted_overall_raw": 79
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 91,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "commits_last_year": 213,
              "human_commit_share": 0.66,
              "days_since_last_push": 1,
              "active_weeks_last_year": 40
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "40/52 weeks with commits",
                "points": 27.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 40
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "213 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 213
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 75,
              "latest_release_tag": "v1.22.1",
              "releases_from_tags": false,
              "days_since_latest_release": 19,
              "mean_days_between_releases": 42.5
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "75 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 75
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 19 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 19
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~42.5 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 42.5
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "exceptional",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 4,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 4 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 66,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 57,
            "inputs": {
              "forks": 69,
              "stars": 153,
              "watchers": 16,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "153 stars",
                "points": 35.4,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 153
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "69 forks",
                "points": 15.3,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 69
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "16 watchers",
                "points": 6.5,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": 0,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "readme_badge_services": [],
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (EUPL-1.2)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "EUPL-1.2"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 75,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 88,
            "inputs": {
              "bus_factor": 5,
              "contributors_sampled": 49,
              "top_contributor_share": 0.155
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "5 contributor(s) cover half of all commits",
                "points": 45.9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 16% of commits",
                "points": 19,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 16
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "49 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 49
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 28 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 73,
            "inputs": {
              "merged_prs": 2205,
              "open_issues": 948,
              "closed_issues": 1382,
              "prs_merged_7d": 7,
              "prs_decided_7d": 7,
              "prs_merged_30d": 16,
              "prs_decided_30d": 19,
              "issue_closed_ratio": 0.593,
              "closed_unmerged_prs": 612,
              "first_time_authors_30d": 0,
              "first_time_prs_merged_30d": 0,
              "first_time_prs_decided_30d": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "59% of issues closed",
                "points": 24.9,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 59
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "2205/2817 decided PRs merged",
                "points": 23.5,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 2205,
                      "decided": 2817
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "no first-time contributor's PR decided in 30d",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_newcomer_prs",
                    "params": {
                      "days": 30
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "followers": 11,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "SSC-ICT-Innovatie",
              "public_repos": 25,
              "account_age_days": 3010
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "11 followers of SSC-ICT-Innovatie",
                "points": 7.8,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 11,
                      "login": "SSC-ICT-Innovatie"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "25 public repos, account ~8 yr old",
                "points": 22.3,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 25
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 8
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "good",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "packages": [
                "mula"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 435
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 435 days ago",
                "points": 14,
                "status": "partial",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 435
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "26 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 26
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 92,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "exceptional",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "28 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 28
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 16,
                "status": "met",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 9.6,
                "status": "met",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": "https://openkat.nl",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://openkat.nl",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 70,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 18,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 0,
              "scorecard_aggregate": 6.2
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 28 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "9 existing vulnerabilities detected",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "exceptional",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:mula@1.6.1 runtime dependency closure — what installing the published package pulls in — 12 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "pypi:mula@1.6.1",
                  "assessed": 12
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 12,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "exceptional",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 12,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "exceptional",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 12
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 59,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "weak",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.879,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "58 of 66 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 58,
                      "sampled": 66
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json",
                "poetry.lock",
                "uv.lock",
                "yarn.lock"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "Makefile",
                "boefjes/Makefile",
                "boefjes/packaging/deb/Makefile",
                "bytes/Makefile",
                "bytes/packaging/deb/Makefile",
                "cveapi/Makefile",
                "mula/Makefile",
                "mula/packaging/deb/Makefile",
                "octopoes/Makefile",
                "octopoes/packaging/deb/Makefile",
                "rocky/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0.07,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.34
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile, boefjes/Makefile, boefjes/packaging/deb/Makefile, bytes/Makefile, bytes/packaging/deb/Makefile, cveapi/Makefile, mula/Makefile, mula/packaging/deb/Makefile, octopoes/Makefile, octopoes/packaging/deb/Makefile, rocky/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile, boefjes/Makefile, boefjes/packaging/deb/Makefile, bytes/Makefile, bytes/packaging/deb/Makefile, cveapi/Makefile, mula/Makefile, mula/packaging/deb/Makefile, octopoes/Makefile, octopoes/packaging/deb/Makefile, rocky/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 11,
                "status": "met",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "7 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 7,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "34 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 34,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 95585,
              "source_files_sampled": 1193,
              "oversized_source_files": 2
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "2/1193 source files over 60KB",
                "points": 54.9,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1193,
                      "oversized": 2
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "weak",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "top": [
        "library",
        "application"
      ],
      "labels": [
        "network-service",
        "cli",
        "library"
      ],
      "scores": {
        "cli": 10,
        "library": 8,
        "network-service": 11
      },
      "primary": "network-service",
      "evidence": [
        {
          "tier": "declared",
          "label": "cli",
          "source": "pypi.console_scripts",
          "weight": 6
        },
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:pypi",
          "weight": 6
        },
        {
          "tier": "dependencies",
          "label": "cli",
          "source": "dep:click",
          "weight": 4
        },
        {
          "tier": "dependencies",
          "label": "network-service",
          "source": "dep:django",
          "weight": 4
        },
        {
          "tier": "dependencies",
          "label": "network-service",
          "source": "dep:starlette",
          "weight": 4
        },
        {
          "tier": "structure",
          "label": "network-service",
          "source": "tree.compose",
          "weight": 3
        },
        {
          "tier": "description",
          "label": "library",
          "source": "description:library",
          "weight": 2
        }
      ],
      "artifacts": [
        {
          "path": "cveapi/pyproject.toml",
          "labels": [
            "cli"
          ],
          "ecosystem": "pypi"
        }
      ],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": true,
      "consumed_by_code": true
    },
    "metrics_version": "2.5.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "Could not fetch pypi package 'openkat' from its registry",
    "pypi package 'bytes' points at a different repository (https://github.com/code-museum/bytes); excluded from ecosystem scoring",
    "pypi package 'rocky' points at a different repository (https://github.com/andersroos/rocky); excluded from ecosystem scoring",
    "Could not fetch pypi package 'boefjes' from its registry",
    "Could not fetch pypi package 'octopoes' from its registry",
    "Could not fetch pypi package 'cveapi' from its registry"
  ],
  "report_type": "repository",
  "generated_at": "2026-08-03T04:16:00.477139Z",
  "schema_version": "0.30.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/SSC-ICT-Innovatie/nl-kat-coordination.svg",
  "full_name": "SSC-ICT-Innovatie/nl-kat-coordination",
  "license_state": "standard",
  "license_spdx": "EUPL-1.2"
}

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.30.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte StatistikenPyPI.