Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.30.0 · метрики 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 зірки⑂ 69 форківз черв. 2022 р.Переглянути на GitHub ↗
ТипМережевий сервісІнструмент командного рядкаБібліотекаяк це визначено

SSC-ICT-Innovatie/nl-kat-coordination має індекс здоров’я 93 зі 100, що відповідає смузі «Винятковий». Найвищий показник — Engineering Quality (92/100), найнижчий — AI Readiness (59/100). Останнє оновлення було 1 день тому. Більшість нещодавньої роботи виконують 5 учасників.

93
загалом / 100
Винятковий

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє зважене середнє, відкаліброване за розподілом публічного реєстру, тож діапазони мають перцентильний зміст; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 34 («У зоні ризику»).

93
Винятковий93-100Верхній щабель реєстру (≈ топ-5%); відповідає практично всім перевіреним критеріям
Відмінний80-92Сильний за всіма напрямами; незначні прогалини
Добрий65-79Здоровий; прогалини обмежені та керовані
Помірний50-64Прийнятний, але з помітними прогалинами; рекомендовано перевірку
Слабкий35-49Суттєві недоліки в кількох сферах
У зоні ризику20-34Суттєві слабкі місця; впровадження потребує обережності
Критичний1-19Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Зважений загальний бал 79 калібровано до 93 за шкалою опублікованого індексу (калібрування реєстру 2026-08-02).

Власність

SSC-ICT InnovatieОрганізація
11 підписників25 публічних репозиторіївз трав. 2018 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
PyPImula1.6.1-26435 днів тому
PyPIbytesвказує на інший репозиторій — не оцінюється0.0.1.dev41 65854134 дні томуserializationdeserializationformatsmarshaling
PyPIrockyвказує на інший репозиторій — не оцінюється1.0.214941578 днів тому

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

91Відмінний · 21% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 1 дн. тому
27.7/36Ритм комітів — 40/52 тижнів із комітами
18/18Обсяг комітів — 213 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year213
human_commit_share0,66
days_since_last_push1
active_weeks_last_year40
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 75 релізів
36/36Свіжість релізів — останній реліз 19 дн. тому
27/27Ритм релізів — реліз кожні ~42,5 дн.
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Використані вхідні дані
releases_count75
latest_release_tagv1.22.1
releases_from_tagsні
days_since_latest_release19
mean_days_between_releases42,5

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

66Добрий · 17% загального індексу
Як обчислюється оцінка
35.4/60Зірки — 153 зірок
15.3/25Форки — 69 форків
6.5/15Спостерігачі — 16 спостерігачів
Використані вхідні дані
forks69
stars153
watchers16
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (EUPL-1.2)
18/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
6.3/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
readme_badges0
has_contributingтак
has_issue_templateні
has_code_of_conductні
readme_badge_services
has_pull_request_templateтак

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

75Добрий · 23% загального індексу
Як обчислюється оцінка
45.9/54Бас-фактор — на 5 контриб’ютор(ів) припадає половина всіх комітів
19/22.5Розподіл комітів — головний контриб’ютор — автор 16% комітів
13.5/13.5Широта контриб’юторів — 49 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 28 contributing companies or organizations
Використані вхідні дані
bus_factor5
contributors_sampled49
top_contributor_share0,155
Як обчислюється оцінка
24.9/42Вирішення issue — закрито 59% issue
23.5/30Прийняття PR — злито 2 205/2 817 вирішених PR
0/13Newcomer PR acceptance — за 30 дн. не вирішено жодного PR від новачка
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Використані вхідні дані
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
Виключено з оцінювання (немає даних або не застосовно): newcomer_pr_acceptance. Залишкові ваги перенормовано.
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
7.8/25Охоплення власника — 11 підписників у SSC-ICT-Innovatie
22.3/25Послужний список — 25 публічних репозиторіїв, вік облікового запису ~8 р.
Використані вхідні дані
followers11
owner_typeOrganization
is_verified
owner_loginSSC-ICT-Innovatie
public_repos25
account_age_days3 010
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у pypi
14/35Свіжість публікацій — остання публікація 435 дн. тому
20/20Історія версій — 26 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesmula
ecosystemspypi
any_deprecatedні
min_days_since_publish435

Інженерна якість

Чи наявні базові інженерні практики та документація?

92Відмінний · 19% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 28 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера
9.6/9.6Pre-commit-хуки
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
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigтак
has_linter_configтак
has_precommit_configтак

Документація

80Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://openkat.nl
10/10Опис репозиторію
0/10Теми
0/10Wiki
Використані вхідні дані
topics
has_wikiні
homepagehttps://openkat.nl
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

70Добрий · 16% загального індексу

Стан безпеки

62Помірний
Як обчислюється оцінка
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.5Ліцензія — 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
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate6,2
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
25/25Непрямі залежності без відомих сповіщень — жодна непряма залежність не має відомих сповіщень
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories0
affected_packages0
assessed_packages12
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено з runtime-замиканням залежностей pypi:mula@1.6.1 — тим, що тягне за собою встановлення опублікованого пакета, — 12 пакетів. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Має свідомо малу вагу (4%): агентний інструментарій — реальний сигнал супроводу, але репозиторій без нього все одно може отримати 100/100.

59Помірний · 4% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 58 з 66 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,879
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
18/18Розгортання однією командою — 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/22Автоматизовані тести
11/11Конфігурація лінтера / форматера
0/11Статична перевірка типів
10/10Відтворюване середовище — Dockerfile, lockfile
10/10Підтверджена практика роботи з агентами — 7 з останніх 100 комітів створено агентом або з його зазначенням
8/8Автоматизоване супроводження — 34 з останніх 100 комітів — автоматичні оновлення залежностей
3/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json, poetry.lock, uv.lock, yarn.lock
has_dockerfileтак
typed_languageні
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_devcontainerні
has_linter_configтак
typecheck_configs
agent_commit_share0,07
toolchain_manifests
dependency_bot_commit_share0,34
Як обчислюється оцінка
0/45Типізований код — Python без конфігурації перевірки типів
54.9/55Керовані розміри файлів — 2/1 193 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languagePython
largest_source_bytes95 585
source_files_sampled1 193
oversized_source_files2
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
0/20Сервер MCP
40/40Придатні до запуску приклади — examples
Використані вхідні дані
example_dirsexamples
has_mcp_signalні
api_schema_files

Ключові факти

153зірок GitHub
49контриб'юторів
213комітів за останні 12 місяців
1днів від останнього пушу
75релізів
5бас-фактор
948відкритих issue
npm, PyPIпакетних екосистем

Попередження щодо збору даних

  • 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

Докладніше

Історія зірок і форків 0 ★ / 69 ⇿
0Зірки
69Форки
74Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

01325385063756852022-072024-072026-07
Мажорні 0Мінорні 22Патчі 19

Кожна точка охоплює 4 днів.

OpenSSF Scorecard 6.2 / 10
6.2сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).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
Прямі залежності 237
РеєстрПакетОбмеження версіїМаніфест
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
Усі залежності 540

Повний розв'язаний набір залежностей із графа залежностей GitHub: 125 прямих і 415 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

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

Встановлення pypi:mula@1.6.1 тягне 12 пакетів, прямих і транзитивних: 0 мають відомі сповіщення, з них 0 — прямі залежності.

Жодне відоме сповіщення не стосується оцінених залежностей.

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "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"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v2.5.0, схема v0.30.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаPyPI.