Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 2.3.1 · 2026-08-02 13:41 UTC

materialsproject / crystaltoolkit

Crystal Toolkit is a framework for building web apps for materials science and is currently powering the new Materials Project website.

PythonLicencia propia★ 200 estrellas⑂ 69 forksdesde jul 2017Ver en GitHub ↗
TipoBibliotecacómo se determina

materialsproject/crystaltoolkit tiene un índice de salud de 88 sobre 100, lo que lo sitúa en la banda Excelente. Su puntuación más alta es Vitality (91/100) y la más baja, AI Readiness (50/100). Se actualizó por última vez hace 12 días. Una sola persona concentra la mayor parte del trabajo reciente.

88
global / 100
Excelente

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala estandarizada de 1 a 100. El resultado global parte de su media ponderada, calibrada contra la distribución del registro público para que las bandas tengan significado percentil; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe un límite «En riesgo» de 34.

88
Excepcional93-100El nivel más alto del registro (≈ el 5% superior); cumple prácticamente todos los criterios evaluados
Excelente80-92Sólido en todos los frentes; carencias menores
Bueno65-79Saludable; carencias limitadas y manejables
Moderado50-64Aceptable con carencias notables; se recomienda revisión
Débil35-49Debilidades sustanciales en varias áreas
En riesgo20-34Debilidades significativas; su adopción exige cautela
Crítico1-19Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

El resultado global ponderado 74 se calibra a 88 en la escala publicada del índice (calibración del registro 2026-08-02).

Titularidad

Materials ProjectOrganización
915 seguidores56 repositorios públicosdesde jun 2011

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
PyPIcrystal_toolkit2026.7.20-91hace 12 días
PyPIcrystaltoolkit-extension0.6.09944hace 1647 díasjupyterjupyterlabjupyterlab3
npmcrystaltoolkit-extension0.3.0183hace 2146 díasjupyterjupyterlabjupyterlab-extension

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

91Excelente · 21% del índice global
Cómo se puntúa
28.8/36Recencia de push — último push hace 12 días
28.4/36Cadencia de commits — 41/52 semanas con commits
18/18Volumen de commits — 225 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year225
human_commit_share0,96
days_since_last_push12
active_weeks_last_year41
Cómo se puntúa
27/27Publica versiones — 55 versiones publicadas
36/36Recencia de las versiones — última versión hace 12 días
27/27Cadencia de publicación — una versión cada ~8,4 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count55
latest_release_tagv2026.7.20rc1
releases_from_tagsno
days_since_latest_release12
mean_days_between_releases8,4
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

58Moderado · 17% del índice global
Cómo se puntúa
37.3/60Estrellas — 200 estrellas
15.3/25Forks — 69 forks
4.3/15Observadores — 7 observadores
Datos de entrada utilizados
forks69
stars200
watchers7
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
16.9/22.5Licencia — archivo de licencia presente, no es una licencia reconocida
0/18Guía CONTRIBUTING
13.5/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
readme_badges
has_contributingno
has_issue_templateno
has_code_of_conduct
readme_badge_services
has_pull_request_template
Cómo se puntúa
40.1/80Descargas mensuales — 1012 descargas/mes en npm, pypi
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packagescrystal_toolkit, crystaltoolkit-extension, crystaltoolkit-extension
dependents
ecosystemsnpm, pypi
total_downloads
monthly_downloads1012
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

64Moderado · 23% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
7.3/22.5Distribución de commits — el principal contribuyente firma el 68% de los commits
13.5/13.5Amplitud de contribuyentes — 29 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 19 contributing companies or organizations
Datos de entrada utilizados
bus_factor1
contributors_sampled29
top_contributor_share0,675
Cómo se puntúa
24.5/42Resolución de issues — 58% de issues cerradas
16.9/30Aceptación de PR — 216/384 PR decididos fusionados
0/13Newcomer PR acceptance — ningún PR de un contribuyente primerizo decidido en 30 d
6/15OpenSSF Scorecard: Code-Review — Found 2/5 approved changesets -- score normalized to 4
Datos de entrada utilizados
merged_prs216
open_issues58
closed_issues81
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio0,583
closed_unmerged_prs168
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Excluidos de la puntuación (sin datos o no aplicable): newcomer_pr_acceptance. Los pesos restantes se han renormalizado.
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
21.3/25Alcance del propietario — 915 seguidores de materialsproject
24.8/25Trayectoria — 56 repos públicos, cuenta de ~15 años
Datos de entrada utilizados
followers915
owner_typeOrganization
is_verified
owner_loginmaterialsproject
public_repos56
account_age_days5519
Cómo se puntúa
25/25Publicado y resoluble — 3 paquete(s) en npm, pypi
35/35Recencia de publicación — última publicación hace 12 días
20/20Historial de versiones — 91 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagescrystal_toolkit, crystaltoolkit-extension, crystaltoolkit-extension
ecosystemsnpm, pypi
any_deprecatedno
min_days_since_publish12

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

88Excelente · 19% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 7 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — .eslintrc.js
9.6/9.6Hooks de pre-commit
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 5 out of 5 merged PRs checked by a CI test -- score normalized to 10
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_config
has_precommit_config

Documentación

80Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://docs.crystaltoolkit.org
10/10Descripción del repositorio
0/10Topics
0/10Wiki
Datos de entrada utilizados
topics
has_wikino
homepagehttps://docs.crystaltoolkit.org
has_readme
has_docs_dir
has_description

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

71Bueno · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — sin datos
2.5/2.5CI-Tests — 5 out of 5 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
3/7.5Code-Review — Found 2/5 approved changesets -- score normalized to 4
2.5/2.5Contributors — project has 19 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.2/2.5Licencia — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
5/5SAST — SAST tool is run on all commits
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 106 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate6,4
Excluidos de la puntuación (sin datos o no aplicable): branch_protection, signed_releases. Los pesos restantes se han renormalizado.
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
25/25Dependencias indirectas libres de avisos conocidos — ninguna dependencia indirecta tiene un aviso conocido
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories0
affected_packages0
assessed_packages104
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejó el cierre de dependencias en tiempo de ejecución de pypi:crystal_toolkit@2026.7.20 —lo que arrastra la instalación del paquete publicado—: 104 paquetes. No se analiza la alcanzabilidad.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Tiene un peso deliberadamente pequeño (4%): las herramientas para agentes son una señal real de mantenimiento, pero un repositorio sin ninguna puede alcanzar igualmente 100/100.

50Moderado · 4% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
12.2/40Historial de commits legible — 22 de 96 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,229
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
18/18Arranque con un solo comando — docs_rst/Makefile, tests/asy_test/multi/Makefile, tests/asy_test/single/Makefile
22/22Pruebas automatizadas
11/11Configuración de lint / formato — .eslintrc.js
11/11Verificación estática de tipos — jupyterlab-extension/tsconfig.json
10/10Entorno reproducible — devcontainer, Dockerfile, lockfile
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json
has_dockerfile
typed_languageno
bootstrap_filesdocs_rst/Makefile, tests/asy_test/multi/Makefile, tests/asy_test/single/Makefile
has_devcontainer
has_linter_config
typecheck_configsjupyterlab-extension/tsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Cómo se puntúa
27/45Código verificable por tipos — Python con configuración de verificación de tipos (jupyterlab-extension/tsconfig.json)
53.3/55Tamaños de archivo manejables — 4/133 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePython
largest_source_bytes288.580
source_files_sampled133
oversized_source_files4
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — examples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signalno
api_schema_files

Datos clave

200estrellas de GitHub
29contribuidores
225commits en los últimos 12 meses
12días desde el último push
55versiones publicadas
1factor bus
58issues abiertas
npm, PyPIecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

Más detalle

Historial de estrellas y forks 0 ★ / 69 ⇿
0Estrellas
69Forks
43Versiones

Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.

01325385063756722018-042022-042026-04
Mayor 0Menor 0Parche 10

Cada punto abarca 8 días.

OpenSSF Scorecard 6.4 / 10
6.4agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-08-02 13:40 UTC

10Binary-Artifactsno binaries found in the repo
n/dBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
10CI-Tests5 out of 5 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
4Code-ReviewFound 2/5 approved changesets -- score normalized to 4
10Contributorsproject has 19 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
9Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
10SASTSAST tool is run on all commits
10Security-Policysecurity policy file detected
n/dSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities106 existing vulnerabilities detected
Dependencias directas 15
RegistroPaqueteRestricción de versiónManifiesto
npm@jupyterlab/rendermime-interfaces^3.0.0jupyterlab-extension/package.json
npm@lumino/widgets^1.16.1jupyterlab-extension/package.json
npm@materialsproject/mp-react-components^0.1.9jupyterlab-extension/package.json
PyPIdash-mp-components>=0.5.2pyproject.toml
PyPIdash>=2.11.0,<4.0.0pyproject.toml
PyPIflask-cachingpyproject.toml
PyPIfrozendictpyproject.toml
PyPImp-apipyproject.toml
PyPIpydantic-settingspyproject.toml
PyPIpymatgen>=2024.10.22pyproject.toml
PyPIscikit-imagepyproject.toml
PyPIscikit-learnpyproject.toml
PyPIshapelypyproject.toml
PyPIwebcolorspyproject.toml
PyPIipythonpyproject.toml
Todas las dependencias 1097

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 27 paquetes directos y 1070 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

RegistroPaqueteVersiónRelación
npm@jupyterlab/rendermime-interfaces3.0.0directa
npm@lumino/widgets1.37.2directa
npm@materialsproject/mp-react-components0.1.12directa
PyPIdashdirecta
PyPIdash3.4.0directa
PyPIdash-mp-componentsdirecta
PyPIdash-mp-components0.5.2rc1directa
PyPIflask-cachingdirecta
PyPIflask-caching2.4.0directa
PyPIfrozendictdirecta
PyPIfrozendict2.4.7directa
PyPIipythondirecta
PyPIipython9.13.0directa
PyPImp-apidirecta
PyPImp-api0.46.1directa
PyPIpydantic-settingsdirecta
PyPIpydantic-settings2.14.1directa
PyPIpymatgendirecta
PyPIpymatgen2026.5.4directa
PyPIscikit-imagedirecta
PyPIscikit-image0.26.0directa
PyPIscikit-learndirecta
PyPIscikit-learn1.4.2directa
PyPIshapelydirecta
PyPIshapely2.1.2directa
PyPIwebcolorsdirecta
PyPIwebcolors25.10.0directa
npm@ampproject/remapping2.3.0indirecta
npm@babel/code-frame7.27.1indirecta
npm@babel/compat-data7.25.4indirecta
npm@babel/core7.25.2indirecta
npm@babel/generator7.25.6indirecta
npm@babel/helper-annotate-as-pure7.24.7indirecta
npm@babel/helper-compilation-targets7.25.2indirecta
npm@babel/helper-create-class-features-plugin7.25.4indirecta
npm@babel/helper-member-expression-to-functions7.24.8indirecta
npm@babel/helper-module-imports7.24.7indirecta
npm@babel/helper-module-transforms7.25.2indirecta
npm@babel/helper-optimise-call-expression7.24.7indirecta
npm@babel/helper-plugin-utils7.24.8indirecta
npm@babel/helper-replace-supers7.25.0indirecta
npm@babel/helper-simple-access7.24.7indirecta
npm@babel/helper-skip-transparent-expression-wrappers7.24.7indirecta
npm@babel/helper-string-parser7.27.1indirecta
npm@babel/helper-validator-identifier7.27.1indirecta
npm@babel/helper-validator-option7.24.8indirecta
npm@babel/helpers7.28.4indirecta
npm@babel/parser7.28.4indirecta
npm@babel/plugin-syntax-jsx7.24.7indirecta
npm@babel/plugin-syntax-typescript7.25.4indirecta
npm@babel/plugin-transform-modules-commonjs7.24.8indirecta
npm@babel/plugin-transform-typescript7.25.2indirecta
npm@babel/preset-typescript7.24.7indirecta
npm@babel/runtime7.28.4indirecta
npm@babel/template7.27.2indirecta
npm@babel/traverse7.25.6indirecta
npm@babel/types7.28.4indirecta
npm@discoveryjs/json-ext0.5.2indirecta
npm@egjs/hammerjs2.0.17indirecta
npm@emotion/babel-plugin11.12.0indirecta
npm@emotion/cache11.13.1indirecta
npm@emotion/hash0.9.2indirecta
npm@emotion/is-prop-valid1.3.0indirecta
npm@emotion/memoize0.9.0indirecta
npm@emotion/react11.13.3indirecta
npm@emotion/serialize1.3.1indirecta
npm@emotion/sheet1.4.0indirecta
npm@emotion/stylis0.8.5indirecta
npm@emotion/unitless0.10.0indirecta
npm@emotion/unitless0.7.5indirecta
npm@emotion/use-insertion-effect-with-fallbacks1.1.0indirecta
npm@emotion/utils1.4.0indirecta
npm@emotion/weak-memoize0.4.0indirecta
npm@eslint/eslintrc0.2.2indirecta
npm@floating-ui/core1.6.8indirecta
npm@floating-ui/dom1.6.11indirecta
npm@floating-ui/utils0.2.8indirecta
npm@jridgewell/gen-mapping0.3.5indirecta
npm@jridgewell/resolve-uri3.1.2indirecta
npm@jridgewell/set-array1.2.1indirecta
npm@jridgewell/source-map0.3.6indirecta
npm@jridgewell/sourcemap-codec1.5.0indirecta
npm@jridgewell/trace-mapping0.3.25indirecta
npm@juggle/resize-observer3.4.0indirecta
npm@jupyterlab/builder3.6.8indirecta
npm@jupyterlab/coreutils5.0.0indirecta
npm@jupyterlab/nbformat3.0.0indirecta
npm@jupyterlab/observables4.0.0indirecta
npm@jupyterlab/services6.0.0indirecta
npm@jupyterlab/settingregistry3.0.0indirecta
npm@jupyterlab/statedb3.0.0indirecta
npm@jupyterlab/translation3.0.0indirecta
npm@lumino/algorithm1.9.2indirecta
npm@lumino/application1.31.4indirecta
npm@lumino/collections1.9.3indirecta
npm@lumino/commands1.21.1indirecta
npm@lumino/coreutils1.12.1indirecta
npm@lumino/disposable1.10.4indirecta
npm@lumino/domutils1.8.2indirecta
npm@lumino/dragdrop1.14.5indirecta
npm@lumino/keyboard1.8.2indirecta
npm@lumino/messaging1.10.3indirecta
npm@lumino/polling1.3.3indirecta
npm@lumino/properties1.8.2indirecta
npm@lumino/signaling1.11.1indirecta
npm@lumino/virtualdom1.14.3indirecta
npm@npmcli/move-file1.0.1indirecta
npm@open-draft/until1.0.3indirecta
npm@types/classnames2.2.11indirecta
npm@types/cookie0.4.0indirecta
npm@types/debug4.1.12indirecta
npm@types/eslint-visitor-keys1.0.0indirecta
npm@types/estree1.0.6indirecta
npm@types/hammerjs2.0.45indirecta
npm@types/hast2.3.4indirecta
npm@types/json-schema7.0.15indirecta
npm@types/katex0.11.1indirecta
npm@types/mdast3.0.15indirecta
npm@types/ms0.7.34indirecta
npm@types/node14.14.20indirecta
npm@types/parse-json4.0.2indirecta
npm@types/parse55.0.3indirecta
npm@types/prop-types15.7.3indirecta
npm@types/react17.0.2indirecta
npm@types/react-transition-group4.4.11indirecta
npm@types/source-list-map0.1.6indirecta
npm@types/unist2.0.6indirecta
npm@types/webpack-sources0.1.12indirecta
npm@typescript-eslint/eslint-plugin2.34.0indirecta
npm@typescript-eslint/experimental-utils2.34.0indirecta
npm@typescript-eslint/parser2.34.0indirecta
npm@typescript-eslint/typescript-estree2.34.0indirecta
npm@webassemblyjs/ast1.12.1indirecta
npm@webassemblyjs/floating-point-hex-parser1.11.6indirecta
npm@webassemblyjs/helper-api-error1.11.6indirecta
npm@webassemblyjs/helper-buffer1.12.1indirecta
npm@webassemblyjs/helper-numbers1.11.6indirecta
npm@webassemblyjs/helper-wasm-bytecode1.11.6indirecta
npm@webassemblyjs/helper-wasm-section1.12.1indirecta
npm@webassemblyjs/ieee7541.11.6indirecta
npm@webassemblyjs/leb1281.11.6indirecta
npm@webassemblyjs/utf81.11.6indirecta
npm@webassemblyjs/wasm-edit1.12.1indirecta
npm@webassemblyjs/wasm-gen1.12.1indirecta
npm@webassemblyjs/wasm-opt1.12.1indirecta
npm@webassemblyjs/wasm-parser1.12.1indirecta
npm@webassemblyjs/wast-printer1.12.1indirecta
npm@webpack-cli/info1.2.1indirecta
npm@webpack-cli/serve1.2.1indirecta
npm@xtuc/ieee7541.2.0indirecta
npm@xtuc/long4.2.2indirecta
npmabab2.0.6indirecta
npmacorn7.4.1indirecta
npmacorn8.12.1indirecta
npmacorn-import-attributes1.9.5indirecta
npmacorn-jsx5.3.1indirecta
npmaggregate-error3.1.0indirecta
npmajv6.12.6indirecta
npmajv7.0.3indirecta
npmajv-keywords3.5.2indirecta
npmansi-colors4.1.1indirecta
npmansi-regex5.0.0indirecta
npmansi-styles3.2.1indirecta
npmansi-styles4.3.0indirecta
npmanymatch3.1.1indirecta
npmargparse1.0.10indirecta
npmasap2.0.6indirecta
npmastral-regex2.0.0indirecta
npmat-least-node1.0.0indirecta
npmaxios0.21.4indirecta
npmbabel-plugin-macros3.1.0indirecta
npmbabel-plugin-styled-components1.12.0indirecta
npmbabel-plugin-syntax-jsx6.18.0indirecta
npmbail1.0.5indirecta
npmbail2.0.2indirecta
npmbalanced-match1.0.0indirecta
npmbase161.0.0indirecta
npmbase64-js1.5.1indirecta
npmbig.js5.2.2indirecta
npmbinary-extensions2.2.0indirecta
npmbrace-expansion1.1.11indirecta
npmbraces3.0.3indirecta
npmbrowserslist4.23.3indirecta
npmbuffer-from1.1.2indirecta
npmbulma0.9.2indirecta
npmbulma-tooltip3.0.2indirecta
npmcacache15.0.5indirecta
npmcall-bind1.0.0indirecta
npmcallsites3.1.0indirecta
npmcamelcase6.2.0indirecta
npmcamelize1.0.0indirecta
npmcaniuse-lite1.0.30001662indirecta
npmccount1.1.0indirecta
npmchalk2.4.2indirecta
npmchalk4.1.0indirecta
npmcharacter-entities1.2.4indirecta
npmcharacter-entities2.0.2indirecta
npmcharacter-entities-legacy1.1.4indirecta
npmcharacter-reference-invalid1.1.4indirecta
npmchokidar3.5.1indirecta
npmchownr2.0.0indirecta
npmchrome-trace-event1.0.2indirecta
npmclassnames2.5.1indirecta
npmclean-stack2.2.0indirecta
npmcliui7.0.4indirecta
npmclone-deep4.0.1indirecta
npmclsx1.2.1indirecta
npmcolor-convert1.9.3indirecta
npmcolor-convert2.0.1indirecta
npmcolor-name1.1.3indirecta
npmcolor-name1.1.4indirecta
npmcolorette1.2.1indirecta
npmcomma-separated-tokens1.0.8indirecta
npmcomma-separated-tokens2.0.3indirecta
npmcommander2.20.3indirecta
npmcommander6.0.0indirecta
npmcommander6.2.1indirecta
npmcommander8.3.0indirecta
npmcommondir1.0.1indirecta
npmcomponent-emitter1.3.1indirecta
npmcompute-scroll-into-view1.0.17indirecta
npmconcat-map0.0.1indirecta
npmconvert-source-map1.9.0indirecta
npmconvert-source-map2.0.0indirecta
npmcookie0.4.1indirecta
npmcosmiconfig7.1.0indirecta
npmcross-fetch3.0.6indirecta
npmcross-spawn6.0.5indirecta
npmcross-spawn7.0.3indirecta
npmcrypto1.0.1indirecta
npmcss-color-keywords1.0.0indirecta
npmcss-loader5.0.1indirecta
npmcss-loader6.5.1indirecta
npmcss-mediaquery0.1.2indirecta
npmcss-to-react-native3.0.0indirecta
npmcssesc3.0.0indirecta
npmcsstype3.0.6indirecta
npmd35.16.0indirecta
npmd3-array1.2.4indirecta
npmd3-axis1.0.12indirecta
npmd3-brush1.1.6indirecta
npmd3-chord1.0.6indirecta
npmd3-collection1.0.7indirecta
npmd3-color1.4.1indirecta
npmd3-contour1.3.2indirecta
npmd3-dispatch1.0.6indirecta
npmd3-drag1.2.5indirecta
npmd3-dsv1.2.0indirecta
npmd3-ease1.0.7indirecta
npmd3-fetch1.2.0indirecta
npmd3-force1.2.1indirecta
npmd3-format1.4.5indirecta
npmd3-geo1.12.1indirecta
npmd3-hierarchy1.1.9indirecta
npmd3-interpolate1.4.0indirecta
npmd3-path1.0.9indirecta
npmd3-polygon1.0.6indirecta
npmd3-quadtree1.0.7indirecta
npmd3-random1.1.2indirecta
npmd3-scale2.2.2indirecta
npmd3-scale-chromatic1.5.0indirecta
npmd3-selection1.4.2indirecta
npmd3-shape1.3.7indirecta
npmd3-time1.1.0indirecta
npmd3-time-format2.3.0indirecta
npmd3-timer1.0.10indirecta
npmd3-transition1.3.2indirecta
npmd3-voronoi1.1.4indirecta
npmd3-zoom1.8.3indirecta
npmdata-urls2.0.0indirecta
npmdebug4.3.1indirecta
npmdecode-named-character-reference1.0.2indirecta
npmdecode-uri-component0.2.2indirecta
npmdeep-is0.1.3indirecta
npmdeepmerge4.2.2indirecta
npmdefine-properties1.1.3indirecta
npmdequal2.0.2indirecta
npmdiff5.2.0indirecta
npmdoctrine3.0.0indirecta
npmdom-helpers5.2.1indirecta
npmduplicate-package-checker-webpack-plugin3.0.0indirecta
npmelectron-to-chromium1.5.25indirecta
npmemoji-regex8.0.0indirecta
npmemojis-list3.0.0indirecta
npmenhanced-resolve5.17.1indirecta
npmenquirer2.3.6indirecta
npmenvinfo7.7.3indirecta
npmerror-ex1.3.2indirecta
npmes-abstract1.18.0-next.1indirecta
npmes-module-lexer1.5.4indirecta
npmes-to-primitive1.2.1indirecta
npmescalade3.2.0indirecta
npmescape-string-regexp1.0.5indirecta
npmescape-string-regexp4.0.0indirecta
npmeslint7.17.0indirecta
npmeslint-config-prettier6.15.0indirecta
npmeslint-plugin-prettier3.3.1indirecta
npmeslint-scope5.1.1indirecta
npmeslint-utils2.1.0indirecta
npmeslint-visitor-keys1.3.0indirecta
npmeslint-visitor-keys2.0.0indirecta
npmespree7.3.1indirecta
npmesprima4.0.1indirecta
npmesquery1.3.1indirecta
npmesrecurse4.3.0indirecta
npmestraverse4.3.0indirecta
npmestraverse5.2.0indirecta
npmesutils2.0.3indirecta
npmevents3.2.0indirecta
npmexeca5.0.0indirecta
npmextend3.0.2indirecta
npmfast-deep-equal3.1.3indirecta
npmfast-diff1.2.0indirecta
npmfast-json-stable-stringify2.1.0indirecta
npmfast-levenshtein2.0.6indirecta
npmfastest-levenshtein1.0.12indirecta
npmfault1.0.4indirecta
npmfbemitter3.0.0indirecta
npmfbjs3.0.0indirecta
npmfbjs-css-vars1.0.2indirecta
npmfile-entry-cache6.0.0indirecta
npmfile-loader6.0.0indirecta
npmfill-range7.1.1indirecta
npmfilter-obj1.1.0indirecta
npmfind-cache-dir3.3.1indirecta
npmfind-root1.1.0indirecta
npmfind-up4.1.0indirecta
npmflat-cache3.0.4indirecta
npmflatted3.1.0indirecta
npmflux4.0.1indirecta
npmfocus-group0.3.1indirecta
npmfollow-redirects1.15.9indirecta
npmformat0.2.2indirecta
npmfs-extra9.1.0indirecta
npmfs-minipass2.1.0indirecta
npmfs.realpath1.0.0indirecta
npmfsevents2.3.2indirecta
npmfunction-bind1.1.1indirecta
npmfunctional-red-black-tree1.0.1indirecta
npmgensync1.0.0-beta.2indirecta
npmget-caller-file2.0.5indirecta
npmget-intrinsic1.0.2indirecta
npmget-stdin6.0.0indirecta
npmget-stream6.0.0indirecta
npmgithub-slugger2.0.0indirecta
npmglob7.1.6indirecta
npmglob-parent5.1.2indirecta
npmglob-to-regexp0.4.1indirecta
npmglobals11.12.0indirecta
npmglobals12.4.0indirecta
npmgraceful-fs4.2.11indirecta
npmgraphql15.5.0indirecta
npmhas1.0.3indirecta
npmhas-flag3.0.0indirecta
npmhas-flag4.0.0indirecta
npmhas-symbols1.0.1indirecta
npmhast-util-from-parse56.0.1indirecta
npmhast-util-has-property2.0.1indirecta
npmhast-util-heading-rank2.1.1indirecta
npmhast-util-is-element1.1.0indirecta
npmhast-util-parse-selector2.2.5indirecta
npmhast-util-to-string2.0.0indirecta
npmhast-util-to-text2.0.1indirecta
npmhast-util-whitespace2.0.1indirecta
npmhastscript6.0.0indirecta
npmheaders-utils1.2.0indirecta
npmhighlight.js10.7.3indirecta
npmhighlight.js11.4.0indirecta
npmhistory4.10.1indirecta
npmhoist-non-react-statics3.3.2indirecta
npmhosted-git-info2.8.8indirecta
npmhuman-signals2.1.0indirecta
npmhyphenate-style-name1.0.4indirecta
npmiconv-lite0.4.24indirecta
npmiconv-lite0.6.3indirecta
npmicss-utils5.1.0indirecta
npmignore4.0.6indirecta
npmimport-fresh3.3.0indirecta
npmimport-local3.0.2indirecta
npmimurmurhash0.1.4indirecta
npmindent-string4.0.0indirecta
npmindexes-of1.0.1indirecta
npminfer-owner1.0.4indirecta
npminflight1.0.6indirecta
npminherits2.0.4indirecta
npminline-style-parser0.1.1indirecta
npminterpret2.2.0indirecta
npmis-alphabetical1.0.4indirecta
npmis-alphanumerical1.0.4indirecta
npmis-arrayish0.2.1indirecta
npmis-binary-path2.1.0indirecta
npmis-buffer2.0.5indirecta
npmis-callable1.2.2indirecta
npmis-core-module2.2.0indirecta
npmis-date-object1.0.2indirecta
npmis-decimal1.0.4indirecta
npmis-extglob2.1.1indirecta
npmis-fullwidth-code-point3.0.0indirecta
npmis-glob4.0.1indirecta
npmis-hexadecimal1.0.4indirecta
npmis-negative-zero2.0.1indirecta
npmis-number7.0.0indirecta
npmis-plain-obj2.1.0indirecta
npmis-plain-obj4.1.0indirecta
npmis-plain-object2.0.4indirecta
npmis-regex1.1.1indirecta
npmis-stream2.0.0indirecta
npmis-symbol1.0.3indirecta
npmisarray0.0.1indirecta
npmisexe2.0.0indirecta
npmisobject3.0.1indirecta
npmjest-worker26.6.2indirecta
npmjest-worker27.5.1indirecta
npmjs-tokens4.0.0indirecta
npmjs-yaml3.14.1indirecta
npmjsesc2.5.2indirecta
npmjson-parse-better-errors1.0.2indirecta
npmjson-parse-even-better-errors2.3.1indirecta
npmjson-schema-traverse0.4.1indirecta
npmjson-schema-traverse1.0.0indirecta
npmjson-stable-stringify-without-jsonify1.0.1indirecta
npmjson51.0.1indirecta
npmjson52.2.3indirecta
npmjsonfile6.2.0indirecta
npmkatex0.12.0indirecta
npmkatex0.13.24indirecta
npmkatex0.15.6indirecta
npmkeycharm0.4.0indirecta
npmkind-of6.0.3indirecta
npmkleur4.1.5indirecta
npmlevn0.4.1indirecta
npmlicense-webpack-plugin2.3.21indirecta
npmlines-and-columns1.2.4indirecta
npmload-json-file4.0.0indirecta
npmloader-runner4.3.0indirecta
npmloader-utils1.4.0indirecta
npmloader-utils2.0.0indirecta
npmloader-utils2.0.4indirecta
npmlocate-path5.0.0indirecta
npmlodash4.17.20indirecta
npmlodash.curry4.1.1indirecta
npmlodash.flow3.5.0indirecta
npmlodash.orderby4.6.0indirecta
npmlongest-streak2.0.4indirecta
npmloose-envify1.4.0indirecta
npmlowlight1.20.0indirecta
npmlru-cache5.1.1indirecta
npmlru-cache6.0.0indirecta
npmmake-dir3.1.0indirecta
npmmarkdown-table2.0.0indirecta
npmmatchmediaquery0.3.1indirecta
npmmdast-util-definitions5.1.2indirecta
npmmdast-util-find-and-replace1.1.1indirecta
npmmdast-util-from-markdown1.3.1indirecta
npmmdast-util-gfm0.1.2indirecta
npmmdast-util-gfm-autolink-literal0.1.3indirecta
npmmdast-util-gfm-strikethrough0.2.3indirecta
npmmdast-util-gfm-table0.1.6indirecta
npmmdast-util-gfm-task-list-item0.1.6indirecta
npmmdast-util-math0.1.2indirecta
npmmdast-util-to-hast12.3.0indirecta
npmmdast-util-to-markdown0.6.5indirecta
npmmdast-util-to-string2.0.0indirecta
npmmdast-util-to-string3.2.0indirecta
npmmemoize-one6.0.0indirecta
npmmemorystream0.3.1indirecta
npmmerge-stream2.0.0indirecta
npmmicromark2.11.4indirecta
npmmicromark3.2.0indirecta
npmmicromark-core-commonmark1.1.0indirecta
npmmicromark-extension-gfm0.3.3indirecta
npmmicromark-extension-gfm-autolink-literal0.5.7indirecta
npmmicromark-extension-gfm-strikethrough0.6.5indirecta
npmmicromark-extension-gfm-table0.4.3indirecta
npmmicromark-extension-gfm-tagfilter0.3.0indirecta
npmmicromark-extension-gfm-task-list-item0.3.3indirecta
npmmicromark-extension-math0.1.2indirecta
npmmicromark-factory-destination1.1.0indirecta
npmmicromark-factory-label1.1.0indirecta
npmmicromark-factory-space1.1.0indirecta
npmmicromark-factory-title1.1.0indirecta
npmmicromark-factory-whitespace1.1.0indirecta
npmmicromark-util-character1.2.0indirecta
npmmicromark-util-chunked1.1.0indirecta
npmmicromark-util-classify-character1.1.0indirecta
npmmicromark-util-combine-extensions1.1.0indirecta
npmmicromark-util-decode-numeric-character-reference1.1.0indirecta
npmmicromark-util-decode-string1.1.0indirecta
npmmicromark-util-encode1.1.0indirecta
npmmicromark-util-html-tag-name1.2.0indirecta
npmmicromark-util-normalize-identifier1.1.0indirecta
npmmicromark-util-resolve-all1.1.0indirecta
npmmicromark-util-sanitize-uri1.2.0indirecta
npmmicromark-util-subtokenize1.1.0indirecta
npmmicromark-util-symbol1.1.0indirecta
npmmicromark-util-types1.1.0indirecta
npmmime-db1.45.0indirecta
npmmime-types2.1.28indirecta
npmmimic-fn2.1.0indirecta
npmmini-create-react-context0.4.1indirecta
npmmini-css-extract-plugin1.3.3indirecta
npmminimatch3.0.4indirecta
npmminimist1.2.8indirecta
npmminipass3.1.3indirecta
npmminipass-collect1.0.2indirecta
npmminipass-flush1.0.5indirecta
npmminipass-pipeline1.2.4indirecta
npmminizlib2.1.2indirecta
npmmkdirp1.0.4indirecta
npmmoment2.29.1indirecta
npmmri1.2.0indirecta
npmms2.1.2indirecta
npmmsw0.25.0indirecta
npmnanoid2.1.11indirecta
npmnanoid3.3.7indirecta
npmnatural-compare1.4.0indirecta
npmneo-async2.6.2indirecta
npmnice-try1.0.5indirecta
npmnode-fetch2.6.1indirecta
npmnode-match-path0.6.1indirecta
npmnode-releases2.0.18indirecta
npmnode-request-interceptor0.6.3indirecta
npmnormalize-package-data2.5.0indirecta
npmnormalize-path3.0.0indirecta
npmnpm-run-all4.1.5indirecta
npmnpm-run-path4.0.1indirecta
npmobject-assign4.1.1indirecta
npmobject-inspect1.9.0indirecta
npmobject-keys1.1.1indirecta
npmobject.assign4.1.2indirecta
npmonce1.4.0indirecta
npmonetime5.1.2indirecta
npmoptionator0.9.1indirecta
npmp-limit2.3.0indirecta
npmp-limit3.1.0indirecta
npmp-locate4.1.0indirecta
npmp-map4.0.0indirecta
npmp-try2.2.0indirecta
npmparent-module1.0.1indirecta
npmparse-entities2.0.0indirecta
npmparse-json4.0.0indirecta
npmparse-json5.2.0indirecta
npmparse56.0.1indirecta
npmpath-browserify1.0.1indirecta
npmpath-exists4.0.0indirecta
npmpath-is-absolute1.0.1indirecta
npmpath-key2.0.1indirecta
npmpath-key3.1.1indirecta
npmpath-parse1.0.6indirecta
npmpath-to-regexp1.9.0indirecta
npmpath-type3.0.0indirecta
npmpath-type4.0.0indirecta
npmpicocolors1.1.1indirecta
npmpicomatch2.2.2indirecta
npmpidtree0.3.1indirecta
npmpify3.0.0indirecta
npmpkg-dir4.2.0indirecta
npmpostcss8.4.47indirecta
npmpostcss-modules-extract-imports3.0.0indirecta
npmpostcss-modules-local-by-default4.0.0indirecta
npmpostcss-modules-scope3.0.0indirecta
npmpostcss-modules-values4.0.0indirecta
npmpostcss-selector-parser6.0.4indirecta
npmpostcss-value-parser4.1.0indirecta
npmprelude-ls1.2.1indirecta
npmprettier1.19.1indirecta
npmprettier-linter-helpers1.0.0indirecta
npmprocess0.11.10indirecta
npmprogress2.0.3indirecta
npmpromise7.3.1indirecta
npmpromise-inflight1.0.1indirecta
npmprop-types15.7.2indirecta
npmproperty-information5.6.0indirecta
npmproperty-information6.5.0indirecta
npmpunycode2.1.1indirecta
npmpure-color1.3.0indirecta
npmqs6.10.3indirecta
npmquery-string7.1.3indirecta
npmquerystringify2.2.0indirecta
npmrandombytes2.1.0indirecta
npmraw-loader4.0.2indirecta
npmreact16.14.0indirecta
npmreact-aria-menubutton7.0.1indirecta
npmreact-base16-styling0.6.0indirecta
npmreact-collapsible2.8.4indirecta
npmreact-data-table-component6.11.6indirecta
npmreact-dom16.14.0indirecta
npmreact-dom17.0.2indirecta
npmreact-graph-vis1.0.7indirecta
npmreact-icons4.3.1indirecta
npmreact-is16.13.1indirecta
npmreact-is18.3.1indirecta
npmreact-json-view1.21.1indirecta
npmreact-lifecycles-compat3.0.4indirecta
npmreact-markdown8.0.7indirecta
npmreact-number-format4.4.4indirecta
npmreact-range1.8.7indirecta
npmreact-responsive8.2.0indirecta
npmreact-router5.2.0indirecta
npmreact-router-dom5.2.0indirecta
npmreact-select5.8.1indirecta
npmreact-tabs3.2.3indirecta
npmreact-textarea-autosize6.1.0indirecta
npmreact-tooltip4.2.21indirecta
npmreact-transition-group4.4.5indirecta
npmread-pkg3.0.0indirecta
npmreaddirp3.5.0indirecta
npmrechoir0.7.0indirecta
npmregexpp3.1.0indirecta
npmrehype-katex5.0.0indirecta
npmrehype-parse7.0.1indirecta
npmrehype-slug5.1.0indirecta
npmremark-gfm1.0.0indirecta
npmremark-highlight.js6.0.0indirecta
npmremark-math4.0.0indirecta
npmremark-parse10.0.2indirecta
npmremark-rehype10.1.0indirecta
npmrepeat-string1.6.1indirecta
npmrequire-directory2.1.1indirecta
npmrequire-from-string2.0.2indirecta
npmrequires-port1.0.0indirecta
npmresolve1.19.0indirecta
npmresolve-cwd3.0.0indirecta
npmresolve-from4.0.0indirecta
npmresolve-from5.0.0indirecta
npmresolve-pathname3.0.0indirecta
npmrimraf3.0.2indirecta
npmrw1.3.3indirecta
npmrxjs6.6.3indirecta
npmsade1.8.1indirecta
npmsafe-buffer5.1.2indirecta
npmsafer-buffer2.1.2indirecta
npmscheduler0.19.1indirecta
npmscheduler0.20.2indirecta
npmschema-utils2.7.1indirecta
npmschema-utils3.0.0indirecta
npmschema-utils3.3.0indirecta
npmscroll-into-view-if-needed2.2.28indirecta
npmsemver5.7.1indirecta
npmsemver6.3.1indirecta
npmsemver7.3.4indirecta
npmsemver7.3.5indirecta
npmserialize-javascript5.0.1indirecta
npmserialize-javascript6.0.2indirecta
npmserialize-query-params1.3.6indirecta
npmsetimmediate1.0.5indirecta
npmshallow-clone3.0.1indirecta
npmshallow-equal1.2.1indirecta
npmshallowequal1.1.0indirecta
npmshebang-command1.2.0indirecta
npmshebang-command2.0.0indirecta
npmshebang-regex1.0.0indirecta
npmshebang-regex3.0.0indirecta
npmshell-quote1.8.3indirecta
npmshortid2.2.16indirecta
npmside-channel1.0.4indirecta
npmsignal-exit3.0.3indirecta
npmslice-ansi4.0.0indirecta
npmsource-list-map2.0.1indirecta
npmsource-map0.5.7indirecta
npmsource-map0.6.1indirecta
npmsource-map-js1.2.1indirecta
npmsource-map-loader1.0.2indirecta
npmsource-map-support0.5.21indirecta
npmspace-separated-tokens1.1.5indirecta
npmspace-separated-tokens2.0.2indirecta
npmspdx-correct3.1.1indirecta
npmspdx-exceptions2.3.0indirecta
npmspdx-expression-parse3.0.1indirecta
npmspdx-license-ids3.0.7indirecta
npmsplit-on-first1.1.0indirecta
npmsprintf-js1.0.3indirecta
npmssri8.0.0indirecta
npmstatuses2.0.1indirecta
npmstrict-event-emitter0.1.0indirecta
npmstrict-uri-encode2.0.0indirecta
npmstring-width4.2.0indirecta
npmstring.prototype.padend3.1.1indirecta
npmstring.prototype.trimend1.0.3indirecta
npmstring.prototype.trimstart1.0.3indirecta
npmstrip-ansi6.0.0indirecta
npmstrip-bom3.0.0indirecta
npmstrip-final-newline2.0.0indirecta
npmstrip-json-comments3.1.1indirecta
npmstyle-loader2.0.0indirecta
npmstyle-loader3.3.1indirecta
npmstyle-to-object0.4.4indirecta
npmstyled-components5.3.11indirecta
npmstylis4.2.0indirecta
npmsupports-color5.5.0indirecta
npmsupports-color7.2.0indirecta
npmsupports-color8.1.1indirecta
npmsvg-url-loader6.0.0indirecta
npmsvgtodatauri0.0.0indirecta
npmtable6.0.7indirecta
npmtapable2.2.1indirecta
npmtar6.0.5indirecta
npmteeny-tap0.2.0indirecta
npmterser5.33.0indirecta
npmterser-webpack-plugin4.2.3indirecta
npmterser-webpack-plugin5.3.10indirecta
npmtext-table0.2.0indirecta
npmthree0.139.2indirecta
npmtimsort0.3.0indirecta
npmtiny-invariant1.1.0indirecta
npmtiny-warning1.0.3indirecta
npmto-regex-range5.0.1indirecta
npmto-string-loader1.1.6indirecta
npmtr462.1.0indirecta
npmtrim-lines3.0.1indirecta
npmtrough1.0.5indirecta
npmtrough2.2.0indirecta
npmtslib1.14.1indirecta
npmtsutils3.18.0indirecta
npmtype-check0.4.0indirecta
npmtype-fest0.8.1indirecta
npmtypescript4.1.3indirecta
npmua-parser-js0.7.39indirecta
npmunified10.1.2indirecta
npmunified9.2.2indirecta
npmuniq1.0.1indirecta
npmunique-filename1.1.1indirecta
npmunique-slug2.0.2indirecta
npmunist-util-find-after3.0.0indirecta
npmunist-util-generated2.0.1indirecta
npmunist-util-is4.1.0indirecta
npmunist-util-is5.2.1indirecta
npmunist-util-position4.0.4indirecta
npmunist-util-stringify-position2.0.3indirecta
npmunist-util-stringify-position3.0.3indirecta
npmunist-util-visit2.0.3indirecta
npmunist-util-visit4.1.2indirecta
npmunist-util-visit-parents3.1.1indirecta
npmunist-util-visit-parents5.1.3indirecta
npmuniversalify2.0.1indirecta
npmupdate-browserslist-db1.1.0indirecta
npmuri-js4.4.0indirecta
npmurl-loader4.1.1indirecta
npmurl-parse1.4.7indirecta
npmuse-deep-compare-effect1.6.1indirecta
npmuse-isomorphic-layout-effect1.1.2indirecta
npmuse-query-params1.2.3indirecta
npmuse-resize-observer8.0.0indirecta
npmutil-deprecate1.0.2indirecta
npmuuid2.0.3indirecta
npmuuid7.0.3indirecta
npmuuid8.3.2indirecta
npmuvu0.5.6indirecta
npmv8-compile-cache2.2.0indirecta
npmvalidate-npm-package-license3.0.4indirecta
npmvalue-equal1.0.1indirecta
npmvfile4.2.1indirecta
npmvfile5.3.7indirecta
npmvfile-location3.2.0indirecta
npmvfile-message2.0.4indirecta
npmvfile-message3.1.4indirecta
npmvis-data7.1.2indirecta
npmvis-network9.0.2indirecta
npmvis-util5.0.7indirecta
npmwatchpack2.4.2indirecta
npmweb-namespaces1.1.4indirecta
npmwebidl-conversions6.1.0indirecta
npmwebpack5.94.0indirecta
npmwebpack-cli4.3.1indirecta
npmwebpack-merge4.2.2indirecta
npmwebpack-merge5.7.3indirecta
npmwebpack-sources1.4.3indirecta
npmwebpack-sources3.2.3indirecta
npmwhatwg-mimetype2.3.0indirecta
npmwhatwg-url8.7.0indirecta
npmwhich1.3.1indirecta
npmwhich2.0.2indirecta
npmwildcard2.0.0indirecta
npmword-wrap1.2.5indirecta
npmworker-loader3.0.7indirecta
npmwrap-ansi7.0.0indirecta
npmwrappy1.0.2indirecta
npmws7.5.10indirecta
npmxtend4.0.2indirecta
npmy18n5.0.5indirecta
npmyallist3.1.1indirecta
npmyallist4.0.0indirecta
npmyaml1.10.2indirecta
npmyargs16.2.0indirecta
npmyargs-parser20.2.6indirecta
npmyocto-queue0.1.0indirecta
npmzwitch1.0.5indirecta
PyPIaiofiles22.1.0indirecta
PyPIaiohappyeyeballs2.6.1indirecta
PyPIaiohttp3.13.5indirecta
PyPIaiosignal1.4.0indirecta
PyPIaiosqlite0.22.1indirecta
PyPIalabaster1.0.0indirecta
PyPIannotated-types0.7.0indirecta
PyPIanyio4.13.0indirecta
PyPIargon2-cffi25.1.0indirecta
PyPIargon2-cffi-bindings25.1.0indirecta
PyPIarro3-core0.8.0indirecta
PyPIarrow1.4.0indirecta
PyPIase3.28.0indirecta
PyPIasttokens3.0.1indirecta
PyPIattrs26.1.0indirecta
PyPIbabel2.18.0indirecta
PyPIbeautifulsoup44.14.3indirecta
PyPIbibtexparser1.4.4indirecta
PyPIblack26.5.1indirecta
PyPIblake31.0.8indirecta
PyPIbleach6.3.0indirecta
PyPIblinker1.9.0indirecta
PyPIboltztrap225.3.1indirecta
PyPIboto31.43.9indirecta
PyPIbotocore1.43.9indirecta
PyPIcachelib0.14.0indirecta
PyPIcerberus1.3.8indirecta
PyPIcertifi2026.4.22indirecta
PyPIcffi2.0.0indirecta
PyPIcfgv3.5.0indirecta
PyPIcftime1.6.5indirecta
PyPIcharset-normalizer3.4.7indirecta
PyPIchoreographer1.3.0indirecta
PyPIchromedriver-binaryindirecta
PyPIclick8.4.0indirecta
PyPIcloudpickle3.1.2indirecta
PyPIcolorspacious1.1.2indirecta
PyPIcomm0.2.3indirecta
PyPIcommonmark0.9.1indirecta
PyPIcontourpy1.3.3indirecta
PyPIcoverage7.14.0indirecta
PyPIcryptography48.0.0indirecta
PyPIcrystaltoolkit-extension0.6.0indirecta
PyPIcycler0.12.1indirecta
PyPIcython3.2.4indirecta
PyPIdash-core-componentsindirecta
PyPIdash-extensions2.0.5indirecta
PyPIdash-html-componentsindirecta
PyPIdash-rendererindirecta
PyPIdash-testing-stub0.0.2indirecta
PyPIdash-vtk0.0.9indirecta
PyPIdask2026.3.0indirecta
PyPIdataclass-wizard0.39.1indirecta
PyPIdebugpy1.8.20indirecta
PyPIdecorator5.3.1indirecta
PyPIdefusedxml0.7.1indirecta
PyPIdeltalake1.6.0indirecta
PyPIdephell0.8.3indirecta
PyPIdephell-archive0.1.7indirecta
PyPIdephell-argparse0.1.3indirecta
PyPIdephell-changelogs0.0.1indirecta
PyPIdephell-discover0.2.10indirecta
PyPIdephell-licenses0.1.7indirecta
PyPIdephell-links0.1.5indirecta
PyPIdephell-markers1.0.3indirecta
PyPIdephell-pythons0.1.15indirecta
PyPIdephell-setuptools0.2.5indirecta
PyPIdephell-shells0.1.5indirecta
PyPIdephell-specifier0.3.0indirecta
PyPIdephell-venvs0.1.18indirecta
PyPIdephell-versioning0.1.2indirecta
PyPIdeprecated1.3.1indirecta
PyPIdill0.4.1indirecta
PyPIdistlib0.4.0indirecta
PyPIdistributed2026.3.0indirecta
PyPIdnspython2.8.0indirecta
PyPIdocutils0.22.4indirecta
PyPIdscribe2.1.2indirecta
PyPIeditorconfig0.17.1indirecta
PyPIemdfile0.0.16indirecta
PyPIemmet-core0.86.4indirecta
PyPIentrypoints0.4indirecta
PyPIexecuting2.2.1indirecta
PyPIfastjsonschema2.21.2indirecta
PyPIfilelock3.29.0indirecta
PyPIflake8indirecta
PyPIflask3.1.3indirecta
PyPIfonttools4.63.0indirecta
PyPIfqdn1.5.1indirecta
PyPIfrozenlist1.8.0indirecta
PyPIfsspec2026.4.0indirecta
PyPIgdown6.0.0indirecta
PyPIgevent26.4.0indirecta
PyPIgreenlet3.5.0indirecta
PyPIgunicorn26.0.0indirecta
PyPIh5py3.16.0indirecta
PyPIhabanero1.2.6indirecta
PyPIhdf5plugin6.0.0indirecta
PyPIhiphive1.5indirecta
PyPIidentify2.6.19indirecta
PyPIidna3.15indirecta
PyPIifermi0.3.7indirecta
PyPIimageio2.37.3indirecta
PyPIimagesize2.0.0indirecta
PyPIimportlib-metadata9.0.0indirecta
PyPIinflect7.5.0indirecta
PyPIiniconfig2.3.0indirecta
PyPIipdbindirecta
PyPIipykernel6.29.5indirecta
PyPIipython-genutils0.2.0indirecta
PyPIipython-pygments-lexers1.1.1indirecta
PyPIisoduration20.11.0indirecta
PyPIitsdangerous2.2.0indirecta
PyPIjedi0.20.0indirecta
PyPIjinja23.1.6indirecta
PyPIjmespath1.1.0indirecta
PyPIjoblib1.5.3indirecta
PyPIjsbeautifier1.15.4indirecta
PyPIjson50.14.0indirecta
PyPIjsonpointer3.1.1indirecta
PyPIjsonschema4.26.0indirecta
PyPIjsonschema-specifications2025.9.1indirecta
PyPIjupyter-client7.4.9indirecta
PyPIjupyter-core5.9.1indirecta
PyPIjupyter-events0.12.1indirecta
PyPIjupyter-server2.18.2indirecta
PyPIjupyter-server-fileid0.9.3indirecta
PyPIjupyter-server-terminals0.5.4indirecta
PyPIjupyter-server-ydoc0.8.0indirecta
PyPIjupyter-ydoc0.2.5indirecta
PyPIjupyterlabindirecta
PyPIjupyterlab3.6.8indirecta
PyPIjupyterlab-pygments0.3.0indirecta
PyPIjupyterlab-server2.28.0indirecta
PyPIkaleido1.3.0indirecta
PyPIkiwisolver1.5.0indirecta
PyPIlark1.3.1indirecta
PyPIlatexcodec3.0.1indirecta
PyPIlazy-loader0.5indirecta
PyPIllvmlite0.47.0indirecta
PyPIlocket1.0.0indirecta
PyPIlogistro2.0.1indirecta
PyPIlxml6.1.0indirecta
PyPIm2r0.2.1indirecta
PyPImarkupsafe3.0.3indirecta
PyPImatminer0.10.1indirecta
PyPImatplotlib3.10.9indirecta
PyPImatplotlib-inline0.2.2indirecta
PyPImeshcut0.3.0indirecta
PyPImistune3.2.1indirecta
PyPImonty2026.5.18indirecta
PyPImore-itertools11.0.2indirecta
PyPImpire2.10.2indirecta
PyPImpmath1.3.0indirecta
PyPImsgpack1.1.2indirecta
PyPImultidict6.7.1indirecta
PyPImultiprocess0.70.19indirecta
PyPImypy-extensions1.1.0indirecta
PyPInarwhals2.21.2indirecta
PyPInbclassic1.3.3indirecta
PyPInbclient0.10.4indirecta
PyPInbconvert7.17.1indirecta
PyPInbformat5.10.4indirecta
PyPIncempy1.11.1indirecta
PyPInest-asyncio1.6.0indirecta
PyPInetcdf41.7.4indirecta
PyPInetworkx3.6.1indirecta
PyPInodeenv1.10.0indirecta
PyPInotebook6.5.7indirecta
PyPInotebook-shim0.2.4indirecta
PyPInumba0.65.1indirecta
PyPInumpy1.26.4indirecta
PyPInumpy-stl3.2.0indirecta
PyPIorjson3.11.9indirecta
PyPIoverrides7.7.0indirecta
PyPIpackaging26.2indirecta
PyPIpalettable3.3.3indirecta
PyPIpandas2.3.3indirecta
PyPIpandocfilters1.5.1indirecta
PyPIparso0.8.7indirecta
PyPIpartd1.4.2indirecta
PyPIpathspec1.1.1indirecta
PyPIpercyindirecta
PyPIpercy2.0.2indirecta
PyPIpexpect4.9.0indirecta
PyPIphonopy4.0.1indirecta
PyPIphonors0.1.1indirecta
PyPIpillow12.2.0indirecta
PyPIplatformdirs4.9.6indirecta
PyPIplaywright1.60.0indirecta
PyPIplotly6.7.0indirecta
PyPIpluggy1.6.0indirecta
PyPIpre-commit4.6.0indirecta
PyPIprometheus-client0.25.0indirecta
PyPIprompt-toolkit3.0.52indirecta
PyPIpropcache0.5.2indirecta
PyPIpsutil7.2.2indirecta
PyPIptyprocess0.7.0indirecta
PyPIpubchempy1.0.5indirecta
PyPIpure-eval0.2.3indirecta
PyPIpy4dstem0.14.18indirecta
PyPIpyaml26.2.1indirecta
PyPIpyarrow24.0.0indirecta
PyPIpybtex0.26.1indirecta
PyPIpycparser3.0indirecta
PyPIpydantic2.13.4indirecta
PyPIpydantic-core2.46.4indirecta
PyPIpyee13.0.1indirecta
PyPIpyfftw0.15.1indirecta
PyPIpygments2.20.0indirecta
PyPIpylintindirecta
PyPIpylops2.7.0indirecta
PyPIpymatgen-core2026.5.17indirecta
PyPIpymatgen-io-validation0.1.2indirecta
PyPIpymongo4.17.0indirecta
PyPIpyparsing3.3.2indirecta
PyPIpysocks1.7.1indirecta
PyPIpytest9.0.3indirecta
PyPIpytest-base-url2.1.0indirecta
PyPIpytest-cov7.1.0indirecta
PyPIpytest-playwright0.8.0indirecta
PyPIpython-dateutil2.9.0.post0indirecta
PyPIpython-discovery1.3.1indirecta
PyPIpython-dotenv1.2.2indirecta
PyPIpython-json-logger4.1.0indirecta
PyPIpython-slugify8.0.4indirecta
PyPIpython-utils3.9.1indirecta
PyPIpytokens0.4.1indirecta
PyPIpytz2026.2indirecta
PyPIpyyaml6.0.3indirecta
PyPIpyzmq27.1.0indirecta
PyPIrecommonmark0.7.1indirecta
PyPIredis7.4.0indirecta
PyPIreferencing0.37.0indirecta
PyPIrequests2.34.2indirecta
PyPIretrying1.4.2indirecta
PyPIrfc3339-validator0.1.4indirecta
PyPIrfc3986-validator0.1.1indirecta
PyPIrfc3987-syntax1.1.0indirecta
PyPIrobocrys0.2.13indirecta
PyPIroman-numerals4.1.0indirecta
PyPIrpds-py0.30.0indirecta
PyPIruamel-yaml0.19.1indirecta
PyPIs3transfer0.17.0indirecta
PyPIscikit-optimize0.10.2indirecta
PyPIscipy1.17.1indirecta
PyPIselenium3.141.0indirecta
PyPIsend2trash2.1.0indirecta
PyPIsetuptoolsindirecta
PyPIsetuptools-scmindirecta
PyPIshellingham1.5.4indirecta
PyPIsimplejson4.1.1indirecta
PyPIsix1.17.0indirecta
PyPIsnowballstemmer3.0.1indirecta
PyPIsortedcontainers2.4.0indirecta
PyPIsoupsieve2.8.3indirecta
PyPIsparse0.18.0indirecta
PyPIspglib2.7.0indirecta
PyPIsphinx9.0.4indirecta
PyPIsphinx9.1.0indirecta
PyPIsphinx-rtd-theme3.1.0indirecta
PyPIsphinxcontrib-applehelp2.0.0indirecta
PyPIsphinxcontrib-devhelp2.0.0indirecta
PyPIsphinxcontrib-htmlhelp2.1.0indirecta
PyPIsphinxcontrib-jquery4.1indirecta
PyPIsphinxcontrib-jsmath1.0.1indirecta
PyPIsphinxcontrib-qthelp2.0.0indirecta
PyPIsphinxcontrib-serializinghtml2.0.0indirecta
PyPIstack-data0.6.3indirecta
PyPIsymfc1.7.0indirecta
PyPIsympy1.14.0indirecta
PyPItabulate0.10.0indirecta
PyPItblib3.2.2indirecta
PyPItermcolor3.3.0indirecta
PyPIterminado0.18.1indirecta
PyPItext-unidecode1.3indirecta
PyPIthreadpoolctl3.6.0indirecta
PyPItifffile2026.3.3indirecta
PyPItifffile2026.5.15indirecta
PyPItinycss21.4.0indirecta
PyPItomlkit0.15.0indirecta
PyPItoolz1.1.0indirecta
PyPItornado6.5.5indirecta
PyPItqdm4.67.3indirecta
PyPItrainstation1.2indirecta
PyPItraitlets5.15.0indirecta
PyPItrimesh4.12.2indirecta
PyPItypeguard4.5.2indirecta
PyPItyping-extensions4.15.0indirecta
PyPItyping-inspection0.4.2indirecta
PyPItzdata2026.2indirecta
PyPIuncertainties3.2.3indirecta
PyPIuri-template1.3.0indirecta
PyPIurllib31.26.20indirecta
PyPIvirtualenv21.3.3indirecta
PyPIvtk9.6.1indirecta
PyPIwaitress3.0.2indirecta
PyPIwcwidth0.7.0indirecta
PyPIwebencodings0.5.1indirecta
PyPIwebsocket-client1.9.0indirecta
PyPIwerkzeug3.1.8indirecta
PyPIwrapt2.1.2indirecta
PyPIy-py0.6.2indirecta
PyPIyarl1.23.0indirecta
PyPIyaspin3.4.0indirecta
PyPIypy-websocket0.8.4indirecta
PyPIzict3.0.0indirecta
PyPIzipp3.23.1indirecta
PyPIzope-event6.2indirecta
PyPIzope-interface8.4indirecta
Avisos de dependencias 0

Instalar pypi:crystal_toolkit@2026.7.20 arrastra 104 paquetes, directos y transitivos: 0 tienen avisos conocidos, de los cuales 0 son dependencias directas.

Ningún aviso conocido afecta a las dependencias evaluadas.

Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 38775,
      "has_wiki": false,
      "homepage": "https://docs.crystaltoolkit.org",
      "languages": {
        "CSS": 81,
        "Python": 709313,
        "Makefile": 937,
        "Asymptote": 17980,
        "Dockerfile": 1244,
        "JavaScript": 3325,
        "TypeScript": 2590
      },
      "pushed_at": "2026-07-21T00:39:37Z",
      "created_at": "2017-07-25T21:06:36Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-17T22:40:49Z",
      "description": "Crystal Toolkit is a framework for building web apps for materials science and is currently powering the new Materials Project website.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": "NOASSERTION",
      "primary_language": "Python",
      "significant_languages": [
        "Python"
      ]
    },
    "owner": {
      "blog": "https://www.materialsproject.org",
      "name": "Materials Project",
      "type": "Organization",
      "login": "materialsproject",
      "company": null,
      "location": "1 Cyclotron Rd, Berkeley CA 94720",
      "followers": 915,
      "avatar_url": "https://avatars.githubusercontent.com/u/867057?v=4",
      "created_at": "2011-06-22T14:43:02Z",
      "is_verified": null,
      "public_repos": 56,
      "account_age_days": 5519
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2026.7.20rc1",
          "kind": "other",
          "published_at": "2026-07-21T00:40:09Z"
        },
        {
          "tag": "v2026.7.20",
          "kind": "patch",
          "published_at": "2026-07-21T00:19:50Z"
        },
        {
          "tag": "v2026.7.9rc1",
          "kind": "other",
          "published_at": "2026-07-09T17:43:04Z"
        },
        {
          "tag": "v2026.6.9",
          "kind": "patch",
          "published_at": "2026-06-09T16:44:57Z"
        },
        {
          "tag": "v2026.6.4rc7",
          "kind": "other",
          "published_at": "2026-06-05T00:28:23Z"
        },
        {
          "tag": "v2026.5.21rc6",
          "kind": "other",
          "published_at": "2026-05-21T20:21:35Z"
        },
        {
          "tag": "v2026.5.20rc5",
          "kind": "other",
          "published_at": "2026-05-21T00:00:20Z"
        },
        {
          "tag": "v2026.5.18rc4",
          "kind": "other",
          "published_at": "2026-05-18T18:06:19Z"
        },
        {
          "tag": "v2026.5.12rc3",
          "kind": "other",
          "published_at": "2026-05-12T18:30:40Z"
        },
        {
          "tag": "v2026.5.5rc2",
          "kind": "other",
          "published_at": "2026-05-05T23:45:28Z"
        },
        {
          "tag": "v2026.4.30rc1",
          "kind": "other",
          "published_at": "2026-04-30T22:58:36Z"
        },
        {
          "tag": "v2026.4.30",
          "kind": "patch",
          "published_at": "2026-04-30T17:31:57Z"
        },
        {
          "tag": "v2026.4.17rc1",
          "kind": "other",
          "published_at": "2026-04-18T00:56:16Z"
        },
        {
          "tag": "v2026.3.3rc0",
          "kind": "other",
          "published_at": "2026-03-05T01:36:48Z"
        },
        {
          "tag": "v2026.2.13rc0",
          "kind": "other",
          "published_at": "2026-02-13T22:46:28Z"
        },
        {
          "tag": "v2026.2.6rc0",
          "kind": "other",
          "published_at": "2026-02-07T00:46:48Z"
        },
        {
          "tag": "v2026.2.5rc0",
          "kind": "other",
          "published_at": "2026-02-05T20:05:27Z"
        },
        {
          "tag": "v2026.1.22.post",
          "kind": "other",
          "published_at": "2026-01-23T17:54:20Z"
        },
        {
          "tag": "v2026.1.22",
          "kind": "patch",
          "published_at": "2026-01-22T23:57:39Z"
        },
        {
          "tag": "v2025.12.16",
          "kind": "patch",
          "published_at": "2025-12-17T00:11:53Z"
        },
        {
          "tag": "v2025.12.9",
          "kind": "patch",
          "published_at": "2025-12-12T20:57:47Z"
        },
        {
          "tag": "v2025.12.1rc1",
          "kind": "other",
          "published_at": "2025-12-01T20:04:38Z"
        },
        {
          "tag": "v2025.12.1rc0",
          "kind": "other",
          "published_at": "2025-12-01T20:02:45Z"
        },
        {
          "tag": "v2025.11.4rc0",
          "kind": "other",
          "published_at": "2025-11-04T22:19:19Z"
        },
        {
          "tag": "v2025.10.28rc0",
          "kind": "other",
          "published_at": "2025-10-28T23:27:44Z"
        },
        {
          "tag": "v2025.10.24rc0",
          "kind": "other",
          "published_at": "2025-10-24T19:24:20Z"
        },
        {
          "tag": "v2025.10.08",
          "kind": "patch",
          "published_at": "2025-10-09T00:26:11Z"
        },
        {
          "tag": "v2025.10.08rc1",
          "kind": "other",
          "published_at": "2025-10-08T20:59:06Z"
        },
        {
          "tag": "v2025.10.08rc0",
          "kind": "other",
          "published_at": "2025-10-08T19:42:49Z"
        },
        {
          "tag": "v2025.7.31",
          "kind": "patch",
          "published_at": "2025-07-31T21:37:59Z"
        },
        {
          "tag": "v2025.6.11rc0",
          "kind": "other",
          "published_at": "2025-06-11T23:39:33Z"
        },
        {
          "tag": "v2025.6.6rc1",
          "kind": "other",
          "published_at": "2025-06-07T00:48:24Z"
        },
        {
          "tag": "v2025.6.6rc0",
          "kind": "other",
          "published_at": "2025-06-07T00:29:18Z"
        },
        {
          "tag": "v2025.1.24rc1",
          "kind": "other",
          "published_at": "2025-06-06T23:56:35Z"
        },
        {
          "tag": "v2025.1.24rc0",
          "kind": "other",
          "published_at": "2025-01-25T00:19:38Z"
        },
        {
          "tag": "v2024.10.22",
          "kind": "patch",
          "published_at": "2024-10-22T23:22:01Z"
        },
        {
          "tag": "v2024.9.4rc0",
          "kind": "other",
          "published_at": "2024-09-04T19:26:59Z"
        },
        {
          "tag": "v2024.9.3rc1",
          "kind": "other",
          "published_at": "2024-09-04T03:00:03Z"
        },
        {
          "tag": "v2024.9.3rc0",
          "kind": "other",
          "published_at": "2024-09-04T02:29:13Z"
        },
        {
          "tag": "v2024.5.23rc2",
          "kind": "other",
          "published_at": "2024-05-24T00:03:03Z"
        },
        {
          "tag": "v2024.5.23rc1",
          "kind": "other",
          "published_at": "2024-05-23T23:36:16Z"
        },
        {
          "tag": "v2024.5.23rc0",
          "kind": "other",
          "published_at": "2024-05-23T23:25:16Z"
        },
        {
          "tag": "v2024.5.16c",
          "kind": "other",
          "published_at": "2024-05-17T00:21:04Z"
        },
        {
          "tag": "v2024.5.16b",
          "kind": "other",
          "published_at": "2024-05-17T00:03:35Z"
        },
        {
          "tag": "v2024.5.16a",
          "kind": "other",
          "published_at": "2024-05-16T23:38:13Z"
        },
        {
          "tag": "v2024.5.16",
          "kind": "patch",
          "published_at": "2024-05-16T20:11:09Z"
        },
        {
          "tag": "v2020.08.14",
          "kind": "patch",
          "published_at": "2020-08-14T23:10:22Z"
        },
        {
          "tag": "v2020.06.02.02",
          "kind": "other",
          "published_at": "2020-06-03T04:36:46Z"
        },
        {
          "tag": "v2020.06.02.01",
          "kind": "other",
          "published_at": "2020-06-03T01:48:49Z"
        },
        {
          "tag": "v2020.05.22.02",
          "kind": "other",
          "published_at": "2020-05-22T16:31:52Z"
        },
        {
          "tag": "v2020.05.22",
          "kind": "patch",
          "published_at": "2020-05-22T16:18:44Z"
        },
        {
          "tag": "v2020.05.21.04",
          "kind": "other",
          "published_at": "2020-05-21T22:28:31Z"
        },
        {
          "tag": "v2020.02.05",
          "kind": "patch",
          "published_at": "2020-02-05T23:06:09Z"
        },
        {
          "tag": "v-2020.01.31",
          "kind": "other",
          "published_at": "2020-01-31T20:50:01Z"
        },
        {
          "tag": "v-2020.01.28",
          "kind": "other",
          "published_at": "2020-01-19T03:17:50Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "bb0493a44c98c79a2b03baea0c94de125818ce4c",
          "body": "Reverse pourbaix component",
          "is_bot": false,
          "headline": "Merge pull request #530 from zccalka/reverse_pourbaix",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-07-08T00:52:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6c382926c4f80681382c7e904798bcc3553c4d5",
          "body": "…which is a list",
          "is_bot": false,
          "headline": "_resolve_cutoff handles the output of MPComponent's get_slider_input …",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-07-07T16:43:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f0832591061accf64a80cc83499adc88e9584120",
          "body": null,
          "is_bot": false,
          "headline": "extract stability_cutoff from get_slider_input output list",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-07-07T16:39:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad0467519f3bde064a5b1c10f289ef4addca0e76",
          "body": null,
          "is_bot": false,
          "headline": "removed list as type form resolve cutoff",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-07-02T12:32:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6bee46aaf54e736a07ed97ea19eb233ba38a363",
          "body": "…ws in web",
          "is_bot": false,
          "headline": "removed dead code, get_stable_mp_ids was replaced by _build_active_ro…",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-07-02T09:43:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "665e36b5eb7607e6f9226c7fe5d9f80c2885bcd8",
          "body": null,
          "is_bot": false,
          "headline": "ran pre-commit",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-06-22T22:19:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9dd91988d6231d883500cad1cea07f128b4798e5",
          "body": "…ts raw data",
          "is_bot": false,
          "headline": "moved path and some preprocessing out of component so component accep…",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-06-22T20:48:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d6eb3ab3155d16e0524360f36677744b7b56f505",
          "body": null,
          "is_bot": false,
          "headline": "changes to handle S3 instead of local files",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-06-18T19:07:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5d9ff828a63ea3bc60ff3ef58d4ed967acbd60d",
          "body": "… for heatmap data",
          "is_bot": false,
          "headline": "added preprocessing so component can handle .parquet instead of .json…",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-06-17T22:28:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "46148dbf485735ea2dbe86ebbc566c6f0080c157",
          "body": "for more information, see https://pre-commit.ci",
          "is_bot": true,
          "headline": "[pre-commit.ci] auto fixes from pre-commit.com hooks",
          "author_name": "pre-commit-ci[bot]",
          "author_login": "pre-commit-ci[bot]",
          "committed_at": "2026-06-09T21:45:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "59ef6b846b653b46ff0e2e1af81c0405b74da85c",
          "body": "…lkit into reverse_pourbaix",
          "is_bot": false,
          "headline": "Merge branch 'main' of https://github.com/materialsproject/crystaltoo…",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-06-09T21:43:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "396bec63717b67a6f5a8ec071f9470ff551dce82",
          "body": "pin dash-mp-components>=0.5.2",
          "is_bot": false,
          "headline": "Merge pull request #540 from materialsproject/release-stable",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-06-09T16:43:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d6b95bb30e5984c25786c342e2e70b7de34757a",
          "body": null,
          "is_bot": false,
          "headline": "pin dash-mp-components>=0.5.2",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-06-09T16:34:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ea1f7881a37d1e8a60d821a9923dd8deadce95b",
          "body": "…son data is included",
          "is_bot": false,
          "headline": "small updates to comment and removal of dummy filters, also updated j…",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-06-08T21:05:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c8a2c32e840a8714a8fcc0c772ff40eaaf59df0",
          "body": "disable interactive button if has_eigendisplacements is false",
          "is_bot": false,
          "headline": "Merge pull request #539 from materialsproject/fix-phonon",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-06-05T00:12:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb68a59c6da47b4b1428aab8173a217bd1b3c6ad",
          "body": null,
          "is_bot": false,
          "headline": "add interactive button and hints",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-06-05T00:06:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "030608217a286936fbeb6d2fbf50d8c7f8775f0c",
          "body": null,
          "is_bot": false,
          "headline": "updated formatting, fixed plotly issue",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-06-03T22:25:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88bf52545eccd48b83803b07a28d0dda7660193c",
          "body": null,
          "is_bot": false,
          "headline": "disable interactive button if has_eigendisplacements is false",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-06-03T04:10:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0126ee95f8eaaadfc13baa10b9deb1a1f503774",
          "body": null,
          "is_bot": false,
          "headline": "updated formatting",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-28T22:57:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d27f1cd1b72d4663d0260a3aba28dd8e6f6a8be2",
          "body": null,
          "is_bot": false,
          "headline": "small layout changes",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-28T18:52:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abb9c3f7a7020d903076577d7a949f07919c31aa",
          "body": null,
          "is_bot": false,
          "headline": "updated json for example",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-22T19:24:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd74d9079f63e6807435ecd516be12096baf25d4",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into reverse_pourbaix",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-22T19:19:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec4dbdfcbd05433db85ebb2b8bbf67b6c3753d21",
          "body": "for more information, see https://pre-commit.ci",
          "is_bot": true,
          "headline": "[pre-commit.ci] auto fixes from pre-commit.com hooks",
          "author_name": "pre-commit-ci[bot]",
          "author_login": "pre-commit-ci[bot]",
          "committed_at": "2026-05-22T18:38:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce9a150dbf72449423f5fb6f21bea5cc754a8ccc",
          "body": "…x build link",
          "is_bot": false,
          "headline": "functionality to allow acceptance of composition from reverse_pourbai…",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-22T18:37:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca2ea36edf427e8b20d5b061b83141aa41599887",
          "body": null,
          "is_bot": false,
          "headline": "test with dummy options for solid filter and ion conc.",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-22T18:37:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b81e001848be190b8cdf45053a6106efa9907918",
          "body": null,
          "is_bot": false,
          "headline": "test with dummy options for solid filter and ion conc.",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-22T18:36:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10912c6d878d4bf7b11273ce21b5a0df05f96478",
          "body": "add _mpid for alhpaID pourbaix",
          "is_bot": false,
          "headline": "Merge pull request #537 from materialsproject/alphaID",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-21T20:19:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e91dd84eec64f1d27592d989354b46a4618dd6a",
          "body": null,
          "is_bot": false,
          "headline": "add _mpid for alhpaID pourbaix",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-21T19:54:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0cdacad13d3e1449ec92dfbc16565bdadd2f9718",
          "body": "Plotly 6 support",
          "is_bot": false,
          "headline": "Merge pull request #536 from materialsproject/plotly6",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-20T23:54:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8950d2f371f8ceb2eab1cfa0c988fbe436581bb2",
          "body": null,
          "is_bot": false,
          "headline": "remove un-needful logging",
          "author_name": "esoteric-ephemera",
          "author_login": "esoteric-ephemera",
          "committed_at": "2026-05-20T23:49:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "34b177e2f7ee4c1ded43e799f269fbad8eb4bb9f",
          "body": null,
          "is_bot": false,
          "headline": "fix logger dict stuff",
          "author_name": "esoteric-ephemera",
          "author_login": "esoteric-ephemera",
          "committed_at": "2026-05-20T23:48:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83f085012f9b0d51afef28baa58c4ddc71861d29",
          "body": null,
          "is_bot": false,
          "headline": "fix logger dict stuff",
          "author_name": "esoteric-ephemera",
          "author_login": "esoteric-ephemera",
          "committed_at": "2026-05-20T23:46:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "085785ee8fdc48f84530927cc1eec7770dfb44f4",
          "body": null,
          "is_bot": false,
          "headline": "fix logger dict stuff",
          "author_name": "esoteric-ephemera",
          "author_login": "esoteric-ephemera",
          "committed_at": "2026-05-20T23:45:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f5a7397b7fd8aa197d8b8ccc0cb4e1cac7dc7b1d",
          "body": null,
          "is_bot": false,
          "headline": "fix logger dict stuff",
          "author_name": "esoteric-ephemera",
          "author_login": "esoteric-ephemera",
          "committed_at": "2026-05-20T23:43:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f99386e95c787e6a515ef7f645f3a180964e25d5",
          "body": null,
          "is_bot": false,
          "headline": "plotly 6 support",
          "author_name": "esoteric-ephemera",
          "author_login": "esoteric-ephemera",
          "committed_at": "2026-05-20T23:06:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a79210be9b7d0b29ec788195b1a93a55467aae14",
          "body": "reorder build-system and project in pyproject",
          "is_bot": false,
          "headline": "Merge pull request #535 from materialsproject/fix-Dependabot",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-18T17:58:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a09ae116446fdf94be052a74231538cd8e3909bc",
          "body": null,
          "is_bot": false,
          "headline": "reorder build-system and project in pyproject",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-18T17:50:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2fad1036257e751be8b9cc31ad87a3566c651051",
          "body": "Automated dependency upgrades",
          "is_bot": false,
          "headline": "Merge pull request #534 from materialsproject/auto-dependency-upgrades",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-18T17:13:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aafd3f8dbf7f94bf1429b0a87dfc167b71c2d302",
          "body": null,
          "is_bot": false,
          "headline": "auto dependency upgrades",
          "author_name": "github-actions",
          "author_login": null,
          "committed_at": "2026-05-18T17:06:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58ae97c82ff226931e5da6ab3859076718884bc7",
          "body": "auto dependency upgrades",
          "is_bot": false,
          "headline": "Merge pull request #533 from naik-aakash/auto-dependency-upgrades",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-15T23:01:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a272cf8ec7870215dc17e61cb98f349f20ddaeae",
          "body": null,
          "is_bot": false,
          "headline": "auto dependency upgrades",
          "author_name": "github-actions",
          "author_login": null,
          "committed_at": "2026-05-15T08:44:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9189158290f51cbb2b19f1d715e660007f16f343",
          "body": "Phonon button",
          "is_bot": false,
          "headline": "Merge pull request #532 from materialsproject/phonon-button",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-12T18:27:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9bfc7a8c65ebd97ff9dda85383487e415d53f83",
          "body": null,
          "is_bot": false,
          "headline": "handle race condition on animation button",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-12T18:17:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5a49bc8f9b4cbf2136b7edcf1e21502c954a600",
          "body": null,
          "is_bot": false,
          "headline": "remove allow_duplicate",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-07T21:55:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d29d9ebced0a01f5062c0a5233775d35b017c078",
          "body": null,
          "is_bot": false,
          "headline": "add button for animation",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-07T21:52:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c43a1b5b15c135e90a919ad27db23a3b86a2106",
          "body": "for more information, see https://pre-commit.ci",
          "is_bot": true,
          "headline": "[pre-commit.ci] auto fixes from pre-commit.com hooks",
          "author_name": "pre-commit-ci[bot]",
          "author_login": "pre-commit-ci[bot]",
          "committed_at": "2026-05-07T20:30:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0bce4f01b8174c474239ad5514aba945d98fe05",
          "body": null,
          "is_bot": false,
          "headline": "fixes fersponding to PR comments",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-07T20:30:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de0db3f9dc6bca67c06bef307b4d9ff6ec75683b",
          "body": "update dash-mp-components to 0.5.2rc1",
          "is_bot": false,
          "headline": "Merge pull request #531 from materialsproject/release-rc",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-05T23:42:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eac7dce39af740c62ce03961a8060f1dfcf72ae9",
          "body": null,
          "is_bot": false,
          "headline": "update dash-mp-components to 0.5.2rc1",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-05-05T23:36:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9daafe7c09a47fc28b2347f2cc9b6d871ab3e8cb",
          "body": "…toolkit into reverse_pourbaix",
          "is_bot": false,
          "headline": "Merge branch 'reverse_pourbaix' of https://github.com/zccalka/crystal…",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-04T22:41:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fba1e9fd475287583c0f7149c187bd0505aa8147",
          "body": null,
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'origin/main' into reverse_pourbaix",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-04T22:35:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c215e6bb126588e95485fc3eac07505eb578fea",
          "body": "for more information, see https://pre-commit.ci",
          "is_bot": true,
          "headline": "[pre-commit.ci] auto fixes from pre-commit.com hooks",
          "author_name": "pre-commit-ci[bot]",
          "author_login": "pre-commit-ci[bot]",
          "committed_at": "2026-05-04T20:10:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c596a2e512a09c30efc59a799f7e6f65f666290",
          "body": null,
          "is_bot": false,
          "headline": "Revert unrelated changes for demo branch",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-04T18:53:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ae396a09c2d4590d90c30ac284a3bb85245640f",
          "body": null,
          "is_bot": false,
          "headline": "updated comments",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-04T18:38:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f8e2b2f12c5844c4f027312819ca35a172b5c3bd",
          "body": null,
          "is_bot": false,
          "headline": "updated examples and data",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-01T18:54:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "47b1ad67cf2e2cc5ce37d1fa70934c81921d73ac",
          "body": null,
          "is_bot": false,
          "headline": "small refactor of code, functionality looks the same",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-05-01T18:37:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44be6231b86bdde09d9627d5b5430af15ec5c5a2",
          "body": "optimize messageAIO usage",
          "is_bot": false,
          "headline": "Merge pull request #529 from materialsproject/messageaio-v2",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-30T22:56:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3467374d7299fa895a1a66a53899a2ffb7dbd4f",
          "body": null,
          "is_bot": false,
          "headline": "small stylistic changes to reverse pourbaix app",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-04-30T22:06:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7bccff64484e38c33237f98618c5ac25a8ccfb48",
          "body": null,
          "is_bot": false,
          "headline": "remove comment",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-30T18:44:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a97ae2c00a8a58ff27087175044d57a4a2e0a977",
          "body": null,
          "is_bot": false,
          "headline": "add defensive logic for MessageAIO callback handling",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-30T17:59:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f96ed325ba2808e747c8cdeece1b01f5a93ebe79",
          "body": null,
          "is_bot": false,
          "headline": "update logic for closing button",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-30T17:30:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5dde752cfd152bf2ca6974984e275535478ee03a",
          "body": null,
          "is_bot": false,
          "headline": "optimize messageAIO usage",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-30T01:09:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5adf13f0419948e6e9c9318f8378b021a630fcca",
          "body": "…app about filter_solids",
          "is_bot": false,
          "headline": "stylistic changes to reverse pourbaix app, added comment to pourbaix …",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-04-29T17:40:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8459956bda2e94148f9bea72cf59f0c7c19aca56",
          "body": "…upon click",
          "is_bot": false,
          "headline": "working demo of full list of mp_ids in each heatmap region displayed …",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-04-27T21:23:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "593a3c3665d6249b829f278ca9f958d30ad89d85",
          "body": null,
          "is_bot": false,
          "headline": "reverse pourbaix with eV cutoff now, heatmap updates at selected cutoff",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-04-27T20:48:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b644096bae2aab7c857e6a22ad29efc1814a8640",
          "body": null,
          "is_bot": false,
          "headline": "addition of dummy stability cutoff slider",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-04-24T19:06:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14d055df8bdad14b9e75e01c95f0403eeb64d50a",
          "body": null,
          "is_bot": false,
          "headline": "small changes to reverse_pourbaix, added reverse pourbiax to init",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-04-24T18:53:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33c2c7757097550678ecc07fd71f914810a1e532",
          "body": "Co-authored-by: github-actions <github-actions@github.com>",
          "is_bot": false,
          "headline": "auto dependency upgrades (#528)",
          "author_name": "Patrick Huck",
          "author_login": "tschaume",
          "committed_at": "2026-04-24T18:24:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e166e74f3b355c8737ef7c7758ea3098401ed265",
          "body": null,
          "is_bot": false,
          "headline": "Add reverse Pourbaix components for demo",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-04-22T21:13:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89e11c6fffe8e3daab85132b3880d8b12b3ebc9c",
          "body": null,
          "is_bot": false,
          "headline": "Update existing Pourbaix components, stylistic updates just for practice",
          "author_name": "zccalka",
          "author_login": "zccalka",
          "committed_at": "2026-04-22T21:13:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ac6ab960eee293517d53404a46c8dd5427c4d00",
          "body": "update dash-mp-components to 0.5.1rc9",
          "is_bot": false,
          "headline": "Merge pull request #527 from materialsproject/release-v2026.4.17rc1",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-18T00:55:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5cbab914570f90a14706170e3ef507d2f0feb476",
          "body": null,
          "is_bot": false,
          "headline": "update dash-mp-components to 0.5.1rc9",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-18T00:52:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26893a59e3b34a94b2fe06ee910b228a802098e3",
          "body": "rename ErrorMessageAIO with MessageAIO",
          "is_bot": false,
          "headline": "Merge pull request #526 from materialsproject/MessageAIO",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-09T00:29:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab8f656cd008802087e8cedbe8f93bf518b75f1e",
          "body": null,
          "is_bot": false,
          "headline": "rename file from error_msg.py to messageAIO.py",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-09T00:20:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1604f6d288e91fa5998254126d352d78740d5b9f",
          "body": null,
          "is_bot": false,
          "headline": "rename ErrorMessageAIO with MessageAIO",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-09T00:16:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90c5fdfaa89e59812c262aa3efa0a93af3eba726",
          "body": "add ErrorMessageAIO",
          "is_bot": false,
          "headline": "Merge pull request #519 from materialsproject/error-msg",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-04-07T16:47:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f085f5a661e83ec80ff5c6ce03ef30d0045ac1c",
          "body": null,
          "is_bot": false,
          "headline": "remove .layout in docstring",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-30T17:49:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35229d764e1ef4eaf3149e8b8553ebadccb20250",
          "body": null,
          "is_bot": false,
          "headline": "made AIO subclassing html.Div, and move layout to __init__",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-30T17:48:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02e57a03e378f4824c104e53921a4cda76d83eae",
          "body": "fix download with different unit cell types",
          "is_bot": false,
          "headline": "Merge pull request #520 from materialsproject/fix-crystal-download",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-26T18:46:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea228df3f0a82a65b15298f9b61b2c76976c1a30",
          "body": null,
          "is_bot": false,
          "headline": "fix download with different unit cell types",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-26T17:03:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35d49ca1b3fa1750b3f25271367ce7c5d5398b02",
          "body": null,
          "is_bot": false,
          "headline": "ErrorMessageAIO update",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-20T00:50:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1acf6450391feba50c51f8922342ceab20340397",
          "body": null,
          "is_bot": false,
          "headline": "add ErrorMessage",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-19T00:05:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95da75f6ae1b53a4aa1310ba436757fdf3704687",
          "body": "* make boltztrap2 optional with ifermi deps\n\n* raise error in fermi surface plotting if no ifermi\n\n* remove bolztrap from deps\n\n* unpin lychee url check ver\n\n* move ifermi import check to init\n\n* pin dash<4\n\n* pin dash<5\n\n* add note about dash pin",
          "is_bot": false,
          "headline": "Make boltztrap optional (#517)",
          "author_name": "Aaron Kaplan",
          "author_login": "esoteric-ephemera",
          "committed_at": "2026-03-13T21:20:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c1accabecf0af8bc6251e7df2f431160ae856d3",
          "body": "remove additional condition on update button for consistent vis",
          "is_bot": false,
          "headline": "Merge pull request #515 from materialsproject/phonon-update",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-06T20:56:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43770bac50f98da58cdc7a4a01e2b23fddfb7932",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into phonon-update",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-06T20:25:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5e62760033e1a4596e6a947493f8ef932f85d46",
          "body": null,
          "is_bot": false,
          "headline": "remove additional condition on update button for consistent vis",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-06T20:18:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dfa50b6145f759ed812cf26cf1f7fdda64af5d3",
          "body": "fix click point index",
          "is_bot": false,
          "headline": "Merge pull request #514 from materialsproject/phonon-update",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-05T01:33:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ae1fe4e7bf533775caa9adbdd4022846781a74f",
          "body": null,
          "is_bot": false,
          "headline": "add explanation on spatial dependency",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-05T01:27:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "782c038e9978871d1fd62d9585546d32cf2d24ec",
          "body": null,
          "is_bot": false,
          "headline": "remove comments",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-04T22:20:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b6f19c1798db62d1d27f16ce942c3ad5b4c148a",
          "body": null,
          "is_bot": false,
          "headline": "add color scheme",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-04T22:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "382481655ee8d20b642769f83a5b920bb2d57621",
          "body": "Dynamically update edge names",
          "is_bot": false,
          "headline": "Merge pull request #511 from naik-aakash/update_site_prop",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-04T20:17:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbbf5013b2398b0dd2a246fc75fb48999c2f4533",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into update_site_prop",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-04T18:43:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d68f6c94c909a09701ba90ffa6e809f618df7f1e",
          "body": "Test fix",
          "is_bot": false,
          "headline": "Merge pull request #513 from materialsproject/test_fix",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-04T17:13:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa46d53ad58bbe50cc7253a0708061bd2b6dbb7c",
          "body": null,
          "is_bot": false,
          "headline": "fix click point index",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-03-03T02:41:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53a757050ab949447cf9348b55474bb6c4dd3040",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into update_site_prop",
          "author_name": "Aakash Ashok Naik",
          "author_login": "naik-aakash",
          "committed_at": "2026-02-25T14:33:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6af5bc40b2525f9fd48464bfff1e837afddb289",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into test_fix",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-02-25T01:02:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3733834bf428adf19bfff01095e2d0ded2fbf405",
          "body": "add `workflow_dispatch` to testing workflow file",
          "is_bot": false,
          "headline": "Merge pull request #512 from materialsproject/workflow",
          "author_name": "Min-Hsueh chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-02-25T01:00:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "950ce84aa7b1a1c276cd004e0ba303e24b7f6b7f",
          "body": null,
          "is_bot": false,
          "headline": "add workflow_dispatch to testing workflow file",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-02-25T00:55:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bec1e57114cf482ef6ba55ee7300f7050fcf4fe5",
          "body": null,
          "is_bot": false,
          "headline": "add webgl-enabling in conftest and solve race condition",
          "author_name": "Min-Hsueh Chiu",
          "author_login": "minhsueh",
          "committed_at": "2026-02-25T00:52:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "62bafdebb48b512339ff75fea29e71b8c381e0b6",
          "body": null,
          "is_bot": false,
          "headline": "expose site_get_scene_kwargs in StructureMoleculeComponent",
          "author_name": "naik-aakash",
          "author_login": "naik-aakash",
          "committed_at": "2026-02-23T17:02:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 55,
      "commits_last_year": 225,
      "latest_release_at": "2026-07-21T00:40:09Z",
      "latest_release_tag": "v2026.7.20rc1",
      "releases_from_tags": false,
      "days_since_last_push": 12,
      "active_weeks_last_year": 41,
      "days_since_latest_release": 12,
      "mean_days_between_releases": 8.4
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "crystal_toolkit",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/crystal_toolkit/",
          "is_deprecated": false,
          "latest_version": "2026.7.20",
          "repository_url": "https://github.com/materialsproject/crystaltoolkit",
          "versions_count": 91,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2020-01-28T23:57:33.727027Z",
          "latest_published_at": "2026-07-21T00:22:03.013980Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 12
        },
        {
          "name": "crystaltoolkit-extension",
          "exists": true,
          "license": "BSD-3-Clause",
          "keywords": [
            "Jupyter",
            "JupyterLab",
            "JupyterLab3",
            "Framework :: Jupyter",
            "License :: OSI Approved :: BSD License",
            "Programming Language :: Python",
            "Programming Language :: Python :: 3",
            "Programming Language :: Python :: 3.6",
            "Programming Language :: Python :: 3.7",
            "Programming Language :: Python :: 3.8"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/crystaltoolkit-extension/",
          "is_deprecated": false,
          "latest_version": "0.6.0",
          "repository_url": "https://github.com/materialsproject/crystaltoolkit",
          "versions_count": 4,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 994,
          "first_published_at": "2021-01-24T22:58:11.728599Z",
          "latest_published_at": "2022-01-28T00:45:46.448615Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 1647
        },
        {
          "name": "crystaltoolkit-extension",
          "exists": true,
          "license": null,
          "keywords": [
            "jupyter",
            "jupyterlab",
            "jupyterlab-extension"
          ],
          "ecosystem": "npm",
          "matches_repo": null,
          "registry_url": "https://www.npmjs.com/package/crystaltoolkit-extension",
          "is_deprecated": false,
          "latest_version": "0.3.0",
          "repository_url": null,
          "versions_count": 3,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 18,
          "first_published_at": "2020-05-14T03:27:12.135000Z",
          "latest_published_at": "2020-09-15T16:04:36.876000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 2146
        }
      ]
    },
    "popularity": {
      "forks": 69,
      "stars": 200,
      "watchers": 7,
      "fork_history": {
        "days": [
          {
            "date": "2018-04-30",
            "count": 1
          },
          {
            "date": "2019-01-08",
            "count": 1
          },
          {
            "date": "2019-01-16",
            "count": 1
          },
          {
            "date": "2019-01-24",
            "count": 1
          },
          {
            "date": "2019-04-26",
            "count": 1
          },
          {
            "date": "2019-06-04",
            "count": 1
          },
          {
            "date": "2019-06-06",
            "count": 1
          },
          {
            "date": "2019-06-19",
            "count": 1
          },
          {
            "date": "2019-07-03",
            "count": 1
          },
          {
            "date": "2019-07-16",
            "count": 1
          },
          {
            "date": "2019-07-19",
            "count": 1
          },
          {
            "date": "2019-10-01",
            "count": 1
          },
          {
            "date": "2019-11-27",
            "count": 1
          },
          {
            "date": "2019-12-11",
            "count": 1
          },
          {
            "date": "2019-12-19",
            "count": 2
          },
          {
            "date": "2019-12-21",
            "count": 1
          },
          {
            "date": "2020-01-29",
            "count": 1
          },
          {
            "date": "2020-02-12",
            "count": 1
          },
          {
            "date": "2020-02-16",
            "count": 1
          },
          {
            "date": "2020-05-04",
            "count": 1
          },
          {
            "date": "2020-06-04",
            "count": 1
          },
          {
            "date": "2020-07-09",
            "count": 1
          },
          {
            "date": "2020-07-13",
            "count": 1
          },
          {
            "date": "2020-07-18",
            "count": 1
          },
          {
            "date": "2020-09-21",
            "count": 1
          },
          {
            "date": "2021-01-15",
            "count": 1
          },
          {
            "date": "2021-05-05",
            "count": 1
          },
          {
            "date": "2021-05-10",
            "count": 1
          },
          {
            "date": "2021-07-15",
            "count": 1
          },
          {
            "date": "2021-08-12",
            "count": 1
          },
          {
            "date": "2021-08-13",
            "count": 1
          },
          {
            "date": "2021-09-10",
            "count": 1
          },
          {
            "date": "2021-10-26",
            "count": 1
          },
          {
            "date": "2021-11-12",
            "count": 1
          },
          {
            "date": "2022-04-14",
            "count": 1
          },
          {
            "date": "2022-04-22",
            "count": 1
          },
          {
            "date": "2022-05-02",
            "count": 1
          },
          {
            "date": "2022-05-25",
            "count": 1
          },
          {
            "date": "2022-06-14",
            "count": 1
          },
          {
            "date": "2022-07-21",
            "count": 1
          },
          {
            "date": "2022-07-26",
            "count": 1
          },
          {
            "date": "2022-07-31",
            "count": 1
          },
          {
            "date": "2022-10-22",
            "count": 1
          },
          {
            "date": "2022-10-24",
            "count": 1
          },
          {
            "date": "2022-11-04",
            "count": 1
          },
          {
            "date": "2022-11-19",
            "count": 1
          },
          {
            "date": "2023-01-20",
            "count": 1
          },
          {
            "date": "2023-04-20",
            "count": 1
          },
          {
            "date": "2023-07-28",
            "count": 1
          },
          {
            "date": "2023-11-30",
            "count": 1
          },
          {
            "date": "2024-03-22",
            "count": 1
          },
          {
            "date": "2024-06-09",
            "count": 1
          },
          {
            "date": "2024-07-25",
            "count": 1
          },
          {
            "date": "2024-09-18",
            "count": 1
          },
          {
            "date": "2025-01-23",
            "count": 1
          },
          {
            "date": "2025-02-26",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-29",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 1
          },
          {
            "date": "2025-11-21",
            "count": 1
          },
          {
            "date": "2026-01-05",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-28",
            "count": 1
          },
          {
            "date": "2026-03-31",
            "count": 1
          },
          {
            "date": "2026-05-04",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 67,
        "total_forks": 69
      },
      "star_history": null,
      "open_issues_and_prs": 74
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "docs_rst/Makefile",
        "tests/asy_test/multi/Makefile",
        "tests/asy_test/single/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": true,
      "typecheck_configs": [
        "jupyterlab-extension/tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 288580,
      "source_files_sampled": 133,
      "oversized_source_files": 4,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "jupyterlab-extension/package.json",
        "jupyterlab-extension/pyproject.toml",
        "jupyterlab-extension/setup.py",
        "pyproject.toml",
        "tests/requirements.txt"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 104,
        "malicious_count": 0,
        "assessed_package": "pypi:crystal_toolkit@2026.7.20",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "@jupyterlab/rendermime-interfaces",
          "manifest": "jupyterlab-extension/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.0"
        },
        {
          "name": "@lumino/widgets",
          "manifest": "jupyterlab-extension/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.16.1"
        },
        {
          "name": "@materialsproject/mp-react-components",
          "manifest": "jupyterlab-extension/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.1.9"
        },
        {
          "name": "dash-mp-components",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.5.2"
        },
        {
          "name": "dash",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.11.0,<4.0.0"
        },
        {
          "name": "flask-caching",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "frozendict",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "mp-api",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "pydantic-settings",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "pymatgen",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2024.10.22"
        },
        {
          "name": "scikit-image",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "scikit-learn",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "shapely",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "webcolors",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        },
        {
          "name": "ipython",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": null
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@jupyterlab/rendermime-interfaces",
            "direct": true,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/widgets",
            "direct": true,
            "version": "1.37.2",
            "ecosystem": "npm"
          },
          {
            "name": "@materialsproject/mp-react-components",
            "direct": true,
            "version": "0.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "dash",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "dash",
            "direct": true,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dash-mp-components",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "dash-mp-components",
            "direct": true,
            "version": "0.5.2rc1",
            "ecosystem": "pypi"
          },
          {
            "name": "flask-caching",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "flask-caching",
            "direct": true,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "frozendict",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "frozendict",
            "direct": true,
            "version": "2.4.7",
            "ecosystem": "pypi"
          },
          {
            "name": "ipython",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ipython",
            "direct": true,
            "version": "9.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mp-api",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "mp-api",
            "direct": true,
            "version": "0.46.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-settings",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-settings",
            "direct": true,
            "version": "2.14.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pymatgen",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pymatgen",
            "direct": true,
            "version": "2026.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-image",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-image",
            "direct": true,
            "version": "0.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-learn",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-learn",
            "direct": true,
            "version": "1.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "shapely",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "shapely",
            "direct": true,
            "version": "2.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "webcolors",
            "direct": true,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "webcolors",
            "direct": true,
            "version": "25.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "@ampproject/remapping",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/code-frame",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/compat-data",
            "direct": false,
            "version": "7.25.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "7.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/generator",
            "direct": false,
            "version": "7.25.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-annotate-as-pure",
            "direct": false,
            "version": "7.24.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-compilation-targets",
            "direct": false,
            "version": "7.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-create-class-features-plugin",
            "direct": false,
            "version": "7.25.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-member-expression-to-functions",
            "direct": false,
            "version": "7.24.8",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-imports",
            "direct": false,
            "version": "7.24.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-module-transforms",
            "direct": false,
            "version": "7.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-optimise-call-expression",
            "direct": false,
            "version": "7.24.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-plugin-utils",
            "direct": false,
            "version": "7.24.8",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-replace-supers",
            "direct": false,
            "version": "7.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-simple-access",
            "direct": false,
            "version": "7.24.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-skip-transparent-expression-wrappers",
            "direct": false,
            "version": "7.24.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-option",
            "direct": false,
            "version": "7.24.8",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helpers",
            "direct": false,
            "version": "7.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-jsx",
            "direct": false,
            "version": "7.24.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-syntax-typescript",
            "direct": false,
            "version": "7.25.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-modules-commonjs",
            "direct": false,
            "version": "7.24.8",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/plugin-transform-typescript",
            "direct": false,
            "version": "7.25.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/preset-typescript",
            "direct": false,
            "version": "7.24.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/template",
            "direct": false,
            "version": "7.27.2",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/traverse",
            "direct": false,
            "version": "7.25.6",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.28.4",
            "ecosystem": "npm"
          },
          {
            "name": "@discoveryjs/json-ext",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "@egjs/hammerjs",
            "direct": false,
            "version": "2.0.17",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/babel-plugin",
            "direct": false,
            "version": "11.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/cache",
            "direct": false,
            "version": "11.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/hash",
            "direct": false,
            "version": "0.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/is-prop-valid",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/memoize",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/react",
            "direct": false,
            "version": "11.13.3",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/serialize",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/sheet",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/stylis",
            "direct": false,
            "version": "0.8.5",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/unitless",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/unitless",
            "direct": false,
            "version": "0.7.5",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/use-insertion-effect-with-fallbacks",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/utils",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emotion/weak-memoize",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/core",
            "direct": false,
            "version": "1.6.8",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/dom",
            "direct": false,
            "version": "1.6.11",
            "ecosystem": "npm"
          },
          {
            "name": "@floating-ui/utils",
            "direct": false,
            "version": "0.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/set-array",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/source-map",
            "direct": false,
            "version": "0.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.25",
            "ecosystem": "npm"
          },
          {
            "name": "@juggle/resize-observer",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jupyterlab/builder",
            "direct": false,
            "version": "3.6.8",
            "ecosystem": "npm"
          },
          {
            "name": "@jupyterlab/coreutils",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jupyterlab/nbformat",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jupyterlab/observables",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jupyterlab/services",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jupyterlab/settingregistry",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jupyterlab/statedb",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jupyterlab/translation",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/algorithm",
            "direct": false,
            "version": "1.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/application",
            "direct": false,
            "version": "1.31.4",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/collections",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/commands",
            "direct": false,
            "version": "1.21.1",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/coreutils",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/disposable",
            "direct": false,
            "version": "1.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/domutils",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/dragdrop",
            "direct": false,
            "version": "1.14.5",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/keyboard",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/messaging",
            "direct": false,
            "version": "1.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/polling",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/properties",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/signaling",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@lumino/virtualdom",
            "direct": false,
            "version": "1.14.3",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/move-file",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@open-draft/until",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/classnames",
            "direct": false,
            "version": "2.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/cookie",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/debug",
            "direct": false,
            "version": "4.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "@types/eslint-visitor-keys",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hammerjs",
            "direct": false,
            "version": "2.0.45",
            "ecosystem": "npm"
          },
          {
            "name": "@types/hast",
            "direct": false,
            "version": "2.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/katex",
            "direct": false,
            "version": "0.11.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mdast",
            "direct": false,
            "version": "3.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ms",
            "direct": false,
            "version": "0.7.34",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "14.14.20",
            "ecosystem": "npm"
          },
          {
            "name": "@types/parse-json",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/parse5",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/prop-types",
            "direct": false,
            "version": "15.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "17.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-transition-group",
            "direct": false,
            "version": "4.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/source-list-map",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/unist",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/webpack-sources",
            "direct": false,
            "version": "0.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "2.34.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/experimental-utils",
            "direct": false,
            "version": "2.34.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "2.34.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "2.34.0",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/ast",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/floating-point-hex-parser",
            "direct": false,
            "version": "1.11.6",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-api-error",
            "direct": false,
            "version": "1.11.6",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-buffer",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-numbers",
            "direct": false,
            "version": "1.11.6",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-wasm-bytecode",
            "direct": false,
            "version": "1.11.6",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/helper-wasm-section",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/ieee754",
            "direct": false,
            "version": "1.11.6",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/leb128",
            "direct": false,
            "version": "1.11.6",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/utf8",
            "direct": false,
            "version": "1.11.6",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-edit",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-gen",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-opt",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wasm-parser",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webassemblyjs/wast-printer",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/info",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@webpack-cli/serve",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@xtuc/ieee754",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@xtuc/long",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "abab",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "7.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-import-attributes",
            "direct": false,
            "version": "1.9.5",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "aggregate-error",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.6",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-keywords",
            "direct": false,
            "version": "3.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-colors",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.0",
            "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.1",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "asap",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "astral-regex",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "at-least-node",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "axios",
            "direct": false,
            "version": "0.21.4",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-macros",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-styled-components",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel-plugin-syntax-jsx",
            "direct": false,
            "version": "6.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "bail",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "bail",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "base16",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "big.js",
            "direct": false,
            "version": "5.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "browserslist",
            "direct": false,
            "version": "4.23.3",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "bulma",
            "direct": false,
            "version": "0.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "bulma-tooltip",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "cacache",
            "direct": false,
            "version": "15.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelize",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "caniuse-lite",
            "direct": false,
            "version": "1.0.30001662",
            "ecosystem": "npm"
          },
          {
            "name": "ccount",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "character-entities-legacy",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "character-reference-invalid",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "chrome-trace-event",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "classnames",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "clean-stack",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "clone-deep",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "clsx",
            "direct": false,
            "version": "1.2.1",
            "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": "colorette",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "comma-separated-tokens",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "comma-separated-tokens",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "commondir",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "component-emitter",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "compute-scroll-into-view",
            "direct": false,
            "version": "1.0.17",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cookie",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "cosmiconfig",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-fetch",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "6.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "crypto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "css-color-keywords",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "css-loader",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "css-loader",
            "direct": false,
            "version": "6.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "css-mediaquery",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "css-to-react-native",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cssesc",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "csstype",
            "direct": false,
            "version": "3.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "d3",
            "direct": false,
            "version": "5.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-array",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-axis",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "d3-brush",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "d3-chord",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "d3-collection",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-color",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-contour",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dispatch",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "d3-drag",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "d3-dsv",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-ease",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-fetch",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-force",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-format",
            "direct": false,
            "version": "1.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "d3-geo",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "npm"
          },
          {
            "name": "d3-hierarchy",
            "direct": false,
            "version": "1.1.9",
            "ecosystem": "npm"
          },
          {
            "name": "d3-interpolate",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-path",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "d3-polygon",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "d3-quadtree",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-random",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-scale-chromatic",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-selection",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-shape",
            "direct": false,
            "version": "1.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-time-format",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "d3-timer",
            "direct": false,
            "version": "1.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "d3-transition",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "d3-voronoi",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "d3-zoom",
            "direct": false,
            "version": "1.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "data-urls",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "decode-named-character-reference",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "decode-uri-component",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "deepmerge",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "dequal",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dom-helpers",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "duplicate-package-checker-webpack-plugin",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "electron-to-chromium",
            "direct": false,
            "version": "1.5.25",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emojis-list",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.17.1",
            "ecosystem": "npm"
          },
          {
            "name": "enquirer",
            "direct": false,
            "version": "2.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "envinfo",
            "direct": false,
            "version": "7.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "es-abstract",
            "direct": false,
            "version": "1.18.0-next.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "es-to-primitive",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "7.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "6.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-utils",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "7.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "esprima",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "execa",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "extend",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-diff",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fastest-levenshtein",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "fault",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "fbemitter",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fbjs",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fbjs-css-vars",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-loader",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "filter-obj",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-cache-dir",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-root",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "flux",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "focus-group",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "follow-redirects",
            "direct": false,
            "version": "1.15.9",
            "ecosystem": "npm"
          },
          {
            "name": "format",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-minipass",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "functional-red-black-tree",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "gensync",
            "direct": false,
            "version": "1.0.0-beta.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-stdin",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "github-slugger",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-to-regexp",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "11.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "12.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "graphql",
            "direct": false,
            "version": "15.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "has",
            "direct": false,
            "version": "1.0.3",
            "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": "has-symbols",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-from-parse5",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-has-property",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-heading-rank",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-is-element",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-parse-selector",
            "direct": false,
            "version": "2.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-string",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-to-text",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hast-util-whitespace",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hastscript",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "headers-utils",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "highlight.js",
            "direct": false,
            "version": "10.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "highlight.js",
            "direct": false,
            "version": "11.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "history",
            "direct": false,
            "version": "4.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "hoist-non-react-statics",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "2.8.8",
            "ecosystem": "npm"
          },
          {
            "name": "human-signals",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "hyphenate-style-name",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.4.24",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "icss-utils",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-local",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "indexes-of",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "infer-owner",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "inline-style-parser",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "interpret",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-alphabetical",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-alphanumerical",
            "direct": false,
            "version": "1.0.4",
            "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-buffer",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "is-callable",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-date-object",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-decimal",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-hexadecimal",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-negative-zero",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-object",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-regex",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-symbol",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isobject",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jest-worker",
            "direct": false,
            "version": "26.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "jest-worker",
            "direct": false,
            "version": "27.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "3.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsesc",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-better-errors",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "json-parse-even-better-errors",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "katex",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "katex",
            "direct": false,
            "version": "0.13.24",
            "ecosystem": "npm"
          },
          {
            "name": "katex",
            "direct": false,
            "version": "0.15.6",
            "ecosystem": "npm"
          },
          {
            "name": "keycharm",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "kind-of",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "kleur",
            "direct": false,
            "version": "4.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "license-webpack-plugin",
            "direct": false,
            "version": "2.3.21",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "load-json-file",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "loader-runner",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "loader-utils",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "loader-utils",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "loader-utils",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.20",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.curry",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.flow",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.orderby",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "longest-streak",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "loose-envify",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "lowlight",
            "direct": false,
            "version": "1.20.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-table",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "matchmediaquery",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-definitions",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-find-and-replace",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-from-markdown",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-autolink-literal",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-strikethrough",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-table",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-gfm-task-list-item",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-math",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-hast",
            "direct": false,
            "version": "12.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-markdown",
            "direct": false,
            "version": "0.6.5",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-string",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdast-util-to-string",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "memoize-one",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "memorystream",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "merge-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark",
            "direct": false,
            "version": "2.11.4",
            "ecosystem": "npm"
          },
          {
            "name": "micromark",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-core-commonmark",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-autolink-literal",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-strikethrough",
            "direct": false,
            "version": "0.6.5",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-table",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-tagfilter",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-gfm-task-list-item",
            "direct": false,
            "version": "0.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-extension-math",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-destination",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-label",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-space",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-title",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-factory-whitespace",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-character",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-chunked",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-classify-character",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-combine-extensions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-decode-numeric-character-reference",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-decode-string",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-encode",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-html-tag-name",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-normalize-identifier",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-resolve-all",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-sanitize-uri",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-subtokenize",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-symbol",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "micromark-util-types",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.45.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.28",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mini-create-react-context",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "mini-css-extract-plugin",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-collect",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-flush",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-pipeline",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "minizlib",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "moment",
            "direct": false,
            "version": "2.29.1",
            "ecosystem": "npm"
          },
          {
            "name": "mri",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "msw",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "2.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "neo-async",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "nice-try",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "node-fetch",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-match-path",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "node-releases",
            "direct": false,
            "version": "2.0.18",
            "ecosystem": "npm"
          },
          {
            "name": "node-request-interceptor",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-all",
            "direct": false,
            "version": "4.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object.assign",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-map",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-entities",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "pidtree",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-dir",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.4.47",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-modules-extract-imports",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-modules-local-by-default",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-modules-scope",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-modules-values",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-selector-parser",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-value-parser",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "1.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-linter-helpers",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "process",
            "direct": false,
            "version": "0.11.10",
            "ecosystem": "npm"
          },
          {
            "name": "progress",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "promise",
            "direct": false,
            "version": "7.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "promise-inflight",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "prop-types",
            "direct": false,
            "version": "15.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "5.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "property-information",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "pure-color",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "query-string",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "querystringify",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "randombytes",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "raw-loader",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": false,
            "version": "16.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-aria-menubutton",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-base16-styling",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-collapsible",
            "direct": false,
            "version": "2.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "react-data-table-component",
            "direct": false,
            "version": "6.11.6",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": false,
            "version": "16.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": false,
            "version": "17.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "react-graph-vis",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-icons",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "16.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-is",
            "direct": false,
            "version": "18.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-json-view",
            "direct": false,
            "version": "1.21.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-lifecycles-compat",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "react-markdown",
            "direct": false,
            "version": "8.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-number-format",
            "direct": false,
            "version": "4.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "react-range",
            "direct": false,
            "version": "1.8.7",
            "ecosystem": "npm"
          },
          {
            "name": "react-responsive",
            "direct": false,
            "version": "8.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-router",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-router-dom",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-select",
            "direct": false,
            "version": "5.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "react-tabs",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "react-textarea-autosize",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "react-tooltip",
            "direct": false,
            "version": "4.2.21",
            "ecosystem": "npm"
          },
          {
            "name": "react-transition-group",
            "direct": false,
            "version": "4.4.5",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "rechoir",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "regexpp",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rehype-katex",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "rehype-parse",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "rehype-slug",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-gfm",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-highlight.js",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-math",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "remark-parse",
            "direct": false,
            "version": "10.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "remark-rehype",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "repeat-string",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "requires-port",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.19.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-cwd",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-pathname",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "rw",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "rxjs",
            "direct": false,
            "version": "6.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "sade",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "scheduler",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "scheduler",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "schema-utils",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "schema-utils",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "schema-utils",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "scroll-into-view-if-needed",
            "direct": false,
            "version": "2.2.28",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-query-params",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "setimmediate",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "shallow-clone",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "shallow-equal",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "shallowequal",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "shortid",
            "direct": false,
            "version": "2.2.16",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-list-map",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-loader",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.21",
            "ecosystem": "npm"
          },
          {
            "name": "space-separated-tokens",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "space-separated-tokens",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "split-on-first",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "ssri",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "statuses",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strict-event-emitter",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "strict-uri-encode",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.padend",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimend",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "string.prototype.trimstart",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-final-newline",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "style-loader",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "style-loader",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "style-to-object",
            "direct": false,
            "version": "0.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "styled-components",
            "direct": false,
            "version": "5.3.11",
            "ecosystem": "npm"
          },
          {
            "name": "stylis",
            "direct": false,
            "version": "4.2.0",
            "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": "supports-color",
            "direct": false,
            "version": "8.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "svg-url-loader",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "svgtodatauri",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "table",
            "direct": false,
            "version": "6.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "tar",
            "direct": false,
            "version": "6.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "teeny-tap",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "terser",
            "direct": false,
            "version": "5.33.0",
            "ecosystem": "npm"
          },
          {
            "name": "terser-webpack-plugin",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "terser-webpack-plugin",
            "direct": false,
            "version": "5.3.10",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "three",
            "direct": false,
            "version": "0.139.2",
            "ecosystem": "npm"
          },
          {
            "name": "timsort",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-invariant",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tiny-warning",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "to-string-loader",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "trim-lines",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "trough",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "trough",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsutils",
            "direct": false,
            "version": "3.18.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ua-parser-js",
            "direct": false,
            "version": "0.7.39",
            "ecosystem": "npm"
          },
          {
            "name": "unified",
            "direct": false,
            "version": "10.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "unified",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "uniq",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unique-filename",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "unique-slug",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-find-after",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-generated",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-is",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-position",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-stringify-position",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-stringify-position",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "unist-util-visit-parents",
            "direct": false,
            "version": "5.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "update-browserslist-db",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "url-loader",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "url-parse",
            "direct": false,
            "version": "1.4.7",
            "ecosystem": "npm"
          },
          {
            "name": "use-deep-compare-effect",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "use-isomorphic-layout-effect",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "use-query-params",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "use-resize-observer",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "uvu",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "v8-compile-cache",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-license",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "value-equal",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "vfile",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "vfile",
            "direct": false,
            "version": "5.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-location",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "vfile-message",
            "direct": false,
            "version": "3.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "vis-data",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "vis-network",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "vis-util",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "watchpack",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "web-namespaces",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "webpack",
            "direct": false,
            "version": "5.94.0",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-cli",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-merge",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-merge",
            "direct": false,
            "version": "5.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-sources",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "webpack-sources",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "8.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "wildcard",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "worker-loader",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "7.5.10",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "1.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "16.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "zwitch",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "aiofiles",
            "direct": false,
            "version": "22.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohappyeyeballs",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "aiohttp",
            "direct": false,
            "version": "3.13.5",
            "ecosystem": "pypi"
          },
          {
            "name": "aiosignal",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "aiosqlite",
            "direct": false,
            "version": "0.22.1",
            "ecosystem": "pypi"
          },
          {
            "name": "alabaster",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "annotated-types",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "anyio",
            "direct": false,
            "version": "4.13.0",
            "ecosystem": "pypi"
          },
          {
            "name": "argon2-cffi",
            "direct": false,
            "version": "25.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "argon2-cffi-bindings",
            "direct": false,
            "version": "25.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "arro3-core",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "arrow",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ase",
            "direct": false,
            "version": "3.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "asttokens",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "attrs",
            "direct": false,
            "version": "26.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "babel",
            "direct": false,
            "version": "2.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "beautifulsoup4",
            "direct": false,
            "version": "4.14.3",
            "ecosystem": "pypi"
          },
          {
            "name": "bibtexparser",
            "direct": false,
            "version": "1.4.4",
            "ecosystem": "pypi"
          },
          {
            "name": "black",
            "direct": false,
            "version": "26.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "blake3",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "pypi"
          },
          {
            "name": "bleach",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "blinker",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "boltztrap2",
            "direct": false,
            "version": "25.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "boto3",
            "direct": false,
            "version": "1.43.9",
            "ecosystem": "pypi"
          },
          {
            "name": "botocore",
            "direct": false,
            "version": "1.43.9",
            "ecosystem": "pypi"
          },
          {
            "name": "cachelib",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cerberus",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2026.4.22",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cfgv",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cftime",
            "direct": false,
            "version": "1.6.5",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.7",
            "ecosystem": "pypi"
          },
          {
            "name": "choreographer",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "chromedriver-binary",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cloudpickle",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "colorspacious",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "comm",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "commonmark",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "contourpy",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "coverage",
            "direct": false,
            "version": "7.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cryptography",
            "direct": false,
            "version": "48.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "crystaltoolkit-extension",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "cycler",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cython",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "pypi"
          },
          {
            "name": "dash-core-components",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "dash-extensions",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "dash-html-components",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "dash-renderer",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "dash-testing-stub",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "dash-vtk",
            "direct": false,
            "version": "0.0.9",
            "ecosystem": "pypi"
          },
          {
            "name": "dask",
            "direct": false,
            "version": "2026.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dataclass-wizard",
            "direct": false,
            "version": "0.39.1",
            "ecosystem": "pypi"
          },
          {
            "name": "debugpy",
            "direct": false,
            "version": "1.8.20",
            "ecosystem": "pypi"
          },
          {
            "name": "decorator",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "defusedxml",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "deltalake",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-archive",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-argparse",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-changelogs",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-discover",
            "direct": false,
            "version": "0.2.10",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-licenses",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-links",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-markers",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-pythons",
            "direct": false,
            "version": "0.1.15",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-setuptools",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-shells",
            "direct": false,
            "version": "0.1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-specifier",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-venvs",
            "direct": false,
            "version": "0.1.18",
            "ecosystem": "pypi"
          },
          {
            "name": "dephell-versioning",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "deprecated",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "dill",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "distlib",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "distributed",
            "direct": false,
            "version": "2026.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "dnspython",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "docutils",
            "direct": false,
            "version": "0.22.4",
            "ecosystem": "pypi"
          },
          {
            "name": "dscribe",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "editorconfig",
            "direct": false,
            "version": "0.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "emdfile",
            "direct": false,
            "version": "0.0.16",
            "ecosystem": "pypi"
          },
          {
            "name": "emmet-core",
            "direct": false,
            "version": "0.86.4",
            "ecosystem": "pypi"
          },
          {
            "name": "entrypoints",
            "direct": false,
            "version": "0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "executing",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "fastjsonschema",
            "direct": false,
            "version": "2.21.2",
            "ecosystem": "pypi"
          },
          {
            "name": "filelock",
            "direct": false,
            "version": "3.29.0",
            "ecosystem": "pypi"
          },
          {
            "name": "flake8",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "flask",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "fonttools",
            "direct": false,
            "version": "4.63.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fqdn",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "frozenlist",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "fsspec",
            "direct": false,
            "version": "2026.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gdown",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gevent",
            "direct": false,
            "version": "26.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "greenlet",
            "direct": false,
            "version": "3.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "gunicorn",
            "direct": false,
            "version": "26.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "h5py",
            "direct": false,
            "version": "3.16.0",
            "ecosystem": "pypi"
          },
          {
            "name": "habanero",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "pypi"
          },
          {
            "name": "hdf5plugin",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "hiphive",
            "direct": false,
            "version": "1.5",
            "ecosystem": "pypi"
          },
          {
            "name": "identify",
            "direct": false,
            "version": "2.6.19",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.15",
            "ecosystem": "pypi"
          },
          {
            "name": "ifermi",
            "direct": false,
            "version": "0.3.7",
            "ecosystem": "pypi"
          },
          {
            "name": "imageio",
            "direct": false,
            "version": "2.37.3",
            "ecosystem": "pypi"
          },
          {
            "name": "imagesize",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "importlib-metadata",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "inflect",
            "direct": false,
            "version": "7.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "iniconfig",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipdb",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "ipykernel",
            "direct": false,
            "version": "6.29.5",
            "ecosystem": "pypi"
          },
          {
            "name": "ipython-genutils",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ipython-pygments-lexers",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "isoduration",
            "direct": false,
            "version": "20.11.0",
            "ecosystem": "pypi"
          },
          {
            "name": "itsdangerous",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jedi",
            "direct": false,
            "version": "0.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "jmespath",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "joblib",
            "direct": false,
            "version": "1.5.3",
            "ecosystem": "pypi"
          },
          {
            "name": "jsbeautifier",
            "direct": false,
            "version": "1.15.4",
            "ecosystem": "pypi"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "0.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonpointer",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema",
            "direct": false,
            "version": "4.26.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jsonschema-specifications",
            "direct": false,
            "version": "2025.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-client",
            "direct": false,
            "version": "7.4.9",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-core",
            "direct": false,
            "version": "5.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-events",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-server",
            "direct": false,
            "version": "2.18.2",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-server-fileid",
            "direct": false,
            "version": "0.9.3",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-server-terminals",
            "direct": false,
            "version": "0.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-server-ydoc",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyter-ydoc",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyterlab",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "jupyterlab",
            "direct": false,
            "version": "3.6.8",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyterlab-pygments",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "jupyterlab-server",
            "direct": false,
            "version": "2.28.0",
            "ecosystem": "pypi"
          },
          {
            "name": "kaleido",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "kiwisolver",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "lark",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "latexcodec",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "lazy-loader",
            "direct": false,
            "version": "0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "llvmlite",
            "direct": false,
            "version": "0.47.0",
            "ecosystem": "pypi"
          },
          {
            "name": "locket",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "logistro",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "lxml",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "m2r",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "matminer",
            "direct": false,
            "version": "0.10.1",
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib",
            "direct": false,
            "version": "3.10.9",
            "ecosystem": "pypi"
          },
          {
            "name": "matplotlib-inline",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "meshcut",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mistune",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "monty",
            "direct": false,
            "version": "2026.5.18",
            "ecosystem": "pypi"
          },
          {
            "name": "more-itertools",
            "direct": false,
            "version": "11.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mpire",
            "direct": false,
            "version": "2.10.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mpmath",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "msgpack",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "multidict",
            "direct": false,
            "version": "6.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "multiprocess",
            "direct": false,
            "version": "0.70.19",
            "ecosystem": "pypi"
          },
          {
            "name": "mypy-extensions",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "narwhals",
            "direct": false,
            "version": "2.21.2",
            "ecosystem": "pypi"
          },
          {
            "name": "nbclassic",
            "direct": false,
            "version": "1.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "nbclient",
            "direct": false,
            "version": "0.10.4",
            "ecosystem": "pypi"
          },
          {
            "name": "nbconvert",
            "direct": false,
            "version": "7.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nbformat",
            "direct": false,
            "version": "5.10.4",
            "ecosystem": "pypi"
          },
          {
            "name": "ncempy",
            "direct": false,
            "version": "1.11.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nest-asyncio",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "netcdf4",
            "direct": false,
            "version": "1.7.4",
            "ecosystem": "pypi"
          },
          {
            "name": "networkx",
            "direct": false,
            "version": "3.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "nodeenv",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "notebook",
            "direct": false,
            "version": "6.5.7",
            "ecosystem": "pypi"
          },
          {
            "name": "notebook-shim",
            "direct": false,
            "version": "0.2.4",
            "ecosystem": "pypi"
          },
          {
            "name": "numba",
            "direct": false,
            "version": "0.65.1",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy",
            "direct": false,
            "version": "1.26.4",
            "ecosystem": "pypi"
          },
          {
            "name": "numpy-stl",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "orjson",
            "direct": false,
            "version": "3.11.9",
            "ecosystem": "pypi"
          },
          {
            "name": "overrides",
            "direct": false,
            "version": "7.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "26.2",
            "ecosystem": "pypi"
          },
          {
            "name": "palettable",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pandas",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pandocfilters",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "parso",
            "direct": false,
            "version": "0.8.7",
            "ecosystem": "pypi"
          },
          {
            "name": "partd",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pathspec",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "percy",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "percy",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pexpect",
            "direct": false,
            "version": "4.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "phonopy",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "phonors",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "12.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "4.9.6",
            "ecosystem": "pypi"
          },
          {
            "name": "playwright",
            "direct": false,
            "version": "1.60.0",
            "ecosystem": "pypi"
          },
          {
            "name": "plotly",
            "direct": false,
            "version": "6.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pluggy",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pre-commit",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prometheus-client",
            "direct": false,
            "version": "0.25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "prompt-toolkit",
            "direct": false,
            "version": "3.0.52",
            "ecosystem": "pypi"
          },
          {
            "name": "propcache",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "psutil",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "ptyprocess",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pubchempy",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "pypi"
          },
          {
            "name": "pure-eval",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "py4dstem",
            "direct": false,
            "version": "0.14.18",
            "ecosystem": "pypi"
          },
          {
            "name": "pyaml",
            "direct": false,
            "version": "26.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyarrow",
            "direct": false,
            "version": "24.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pybtex",
            "direct": false,
            "version": "0.26.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic",
            "direct": false,
            "version": "2.13.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pydantic-core",
            "direct": false,
            "version": "2.46.4",
            "ecosystem": "pypi"
          },
          {
            "name": "pyee",
            "direct": false,
            "version": "13.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pyfftw",
            "direct": false,
            "version": "0.15.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": false,
            "version": "2.20.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pylint",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "pylops",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pymatgen-core",
            "direct": false,
            "version": "2026.5.17",
            "ecosystem": "pypi"
          },
          {
            "name": "pymatgen-io-validation",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pymongo",
            "direct": false,
            "version": "4.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyparsing",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pysocks",
            "direct": false,
            "version": "1.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest",
            "direct": false,
            "version": "9.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-base-url",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-cov",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "pytest-playwright",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dateutil",
            "direct": false,
            "version": "2.9.0.post0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-discovery",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dotenv",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "python-json-logger",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "python-slugify",
            "direct": false,
            "version": "8.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "python-utils",
            "direct": false,
            "version": "3.9.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytokens",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pytz",
            "direct": false,
            "version": "2026.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "pypi"
          },
          {
            "name": "pyzmq",
            "direct": false,
            "version": "27.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "recommonmark",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "redis",
            "direct": false,
            "version": "7.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "referencing",
            "direct": false,
            "version": "0.37.0",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": "2.34.2",
            "ecosystem": "pypi"
          },
          {
            "name": "retrying",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "rfc3339-validator",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "pypi"
          },
          {
            "name": "rfc3986-validator",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "rfc3987-syntax",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "robocrys",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "pypi"
          },
          {
            "name": "roman-numerals",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "rpds-py",
            "direct": false,
            "version": "0.30.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ruamel-yaml",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "pypi"
          },
          {
            "name": "s3transfer",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "scikit-optimize",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "pypi"
          },
          {
            "name": "scipy",
            "direct": false,
            "version": "1.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "selenium",
            "direct": false,
            "version": "3.141.0",
            "ecosystem": "pypi"
          },
          {
            "name": "send2trash",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "setuptools-scm",
            "direct": false,
            "version": null,
            "ecosystem": "pypi"
          },
          {
            "name": "shellingham",
            "direct": false,
            "version": "1.5.4",
            "ecosystem": "pypi"
          },
          {
            "name": "simplejson",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "six",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "snowballstemmer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "pypi"
          },
          {
            "name": "sortedcontainers",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "soupsieve",
            "direct": false,
            "version": "2.8.3",
            "ecosystem": "pypi"
          },
          {
            "name": "sparse",
            "direct": false,
            "version": "0.18.0",
            "ecosystem": "pypi"
          },
          {
            "name": "spglib",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx",
            "direct": false,
            "version": "9.0.4",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sphinx-rtd-theme",
            "direct": false,
            "version": "3.1.0",
            "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": "stack-data",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "pypi"
          },
          {
            "name": "symfc",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "sympy",
            "direct": false,
            "version": "1.14.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tabulate",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tblib",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "pypi"
          },
          {
            "name": "termcolor",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "terminado",
            "direct": false,
            "version": "0.18.1",
            "ecosystem": "pypi"
          },
          {
            "name": "text-unidecode",
            "direct": false,
            "version": "1.3",
            "ecosystem": "pypi"
          },
          {
            "name": "threadpoolctl",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tifffile",
            "direct": false,
            "version": "2026.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "tifffile",
            "direct": false,
            "version": "2026.5.15",
            "ecosystem": "pypi"
          },
          {
            "name": "tinycss2",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tomlkit",
            "direct": false,
            "version": "0.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "toolz",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tornado",
            "direct": false,
            "version": "6.5.5",
            "ecosystem": "pypi"
          },
          {
            "name": "tqdm",
            "direct": false,
            "version": "4.67.3",
            "ecosystem": "pypi"
          },
          {
            "name": "trainstation",
            "direct": false,
            "version": "1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "traitlets",
            "direct": false,
            "version": "5.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "trimesh",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "pypi"
          },
          {
            "name": "typeguard",
            "direct": false,
            "version": "4.5.2",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-extensions",
            "direct": false,
            "version": "4.15.0",
            "ecosystem": "pypi"
          },
          {
            "name": "typing-inspection",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "tzdata",
            "direct": false,
            "version": "2026.2",
            "ecosystem": "pypi"
          },
          {
            "name": "uncertainties",
            "direct": false,
            "version": "3.2.3",
            "ecosystem": "pypi"
          },
          {
            "name": "uri-template",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": false,
            "version": "1.26.20",
            "ecosystem": "pypi"
          },
          {
            "name": "virtualenv",
            "direct": false,
            "version": "21.3.3",
            "ecosystem": "pypi"
          },
          {
            "name": "vtk",
            "direct": false,
            "version": "9.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "waitress",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "wcwidth",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "pypi"
          },
          {
            "name": "webencodings",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          },
          {
            "name": "websocket-client",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "pypi"
          },
          {
            "name": "werkzeug",
            "direct": false,
            "version": "3.1.8",
            "ecosystem": "pypi"
          },
          {
            "name": "wrapt",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "pypi"
          },
          {
            "name": "y-py",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "yarl",
            "direct": false,
            "version": "1.23.0",
            "ecosystem": "pypi"
          },
          {
            "name": "yaspin",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "ypy-websocket",
            "direct": false,
            "version": "0.8.4",
            "ecosystem": "pypi"
          },
          {
            "name": "zict",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "zipp",
            "direct": false,
            "version": "3.23.1",
            "ecosystem": "pypi"
          },
          {
            "name": "zope-event",
            "direct": false,
            "version": "6.2",
            "ecosystem": "pypi"
          },
          {
            "name": "zope-interface",
            "direct": false,
            "version": "8.4",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 1097,
        "direct_count": 27,
        "indirect_count": 1070
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 16,
        "merged_prs": 216,
        "open_issues": 58,
        "closed_ratio": 0.583,
        "closed_issues": 81,
        "closed_unmerged_prs": 168
      },
      "bus_factor": 1,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "mkhorton",
          "commits": 2227,
          "avatar_url": "https://avatars.githubusercontent.com/u/2976580?v=4"
        },
        {
          "type": "User",
          "login": "jmmshn",
          "commits": 312,
          "avatar_url": "https://avatars.githubusercontent.com/u/14003693?v=4"
        },
        {
          "type": "User",
          "login": "janosh",
          "commits": 186,
          "avatar_url": "https://avatars.githubusercontent.com/u/30958850?v=4"
        },
        {
          "type": "User",
          "login": "tschaume",
          "commits": 115,
          "avatar_url": "https://avatars.githubusercontent.com/u/1404564?v=4"
        },
        {
          "type": "User",
          "login": "minhsueh",
          "commits": 84,
          "avatar_url": "https://avatars.githubusercontent.com/u/71813684?v=4"
        },
        {
          "type": "User",
          "login": "codytodonnell",
          "commits": 58,
          "avatar_url": "https://avatars.githubusercontent.com/u/1907045?v=4"
        },
        {
          "type": "User",
          "login": "JosephMontoya-TRI",
          "commits": 54,
          "avatar_url": "https://avatars.githubusercontent.com/u/45643466?v=4"
        },
        {
          "type": "User",
          "login": "pyup-bot",
          "commits": 42,
          "avatar_url": "https://avatars.githubusercontent.com/u/16239342?v=4"
        },
        {
          "type": "User",
          "login": "zccalka",
          "commits": 31,
          "avatar_url": "https://avatars.githubusercontent.com/u/33038176?v=4"
        },
        {
          "type": "User",
          "login": "dwinston",
          "commits": 30,
          "avatar_url": "https://avatars.githubusercontent.com/u/1497854?v=4"
        }
      ],
      "contributors_sampled": 29,
      "top_contributor_share": 0.675
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "codeql-analysis.yml",
        "issue-metrics.yml",
        "pull-request.yml",
        "pytest-docs.yml",
        "release.yml",
        "upgrade-dependencies.yml",
        "url-check.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc.js"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": true
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "5 out of 5 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": 4,
            "reason": "Found 2/5 approved changesets -- score normalized to 4",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 19 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": 9,
            "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 0 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": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "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": null,
            "reason": "no releases found",
            "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": 0,
            "reason": "106 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "bb0493a44c98c79a2b03baea0c94de125818ce4c",
        "ran_at": "2026-08-02T13:40:37Z",
        "aggregate_score": 6.4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": true,
      "has_security_policy": true,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-29T15:05:12Z",
      "oldest_open_prs": [
        {
          "number": 267,
          "created_at": "2022-07-21T19:41:43Z",
          "last_comment_at": "2023-07-26T19:12:45Z",
          "last_comment_author": "mkhorton"
        },
        {
          "number": 313,
          "created_at": "2023-02-13T06:05:41Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 334,
          "created_at": "2023-05-05T18:25:39Z",
          "last_comment_at": "2023-05-05T20:01:14Z",
          "last_comment_author": "yang-ruoxi"
        },
        {
          "number": 406,
          "created_at": "2024-09-04T18:50:35Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 409,
          "created_at": "2024-09-19T00:09:38Z",
          "last_comment_at": "2024-11-07T22:53:00Z",
          "last_comment_author": "franflame"
        },
        {
          "number": 441,
          "created_at": "2025-01-02T16:31:00Z",
          "last_comment_at": "2025-01-24T15:51:29Z",
          "last_comment_author": "jmmshn"
        },
        {
          "number": 444,
          "created_at": "2025-01-21T04:34:24Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 447,
          "created_at": "2025-01-28T16:39:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 459,
          "created_at": "2025-04-26T08:54:55Z",
          "last_comment_at": "2026-02-18T12:16:54Z",
          "last_comment_author": "naik-aakash"
        },
        {
          "number": 497,
          "created_at": "2025-11-14T14:53:39Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 499,
          "created_at": "2025-12-02T00:55:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 506,
          "created_at": "2026-01-23T00:41:06Z",
          "last_comment_at": "2026-01-23T00:44:54Z",
          "last_comment_author": "tsmathis"
        },
        {
          "number": 523,
          "created_at": "2026-03-31T19:36:39Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 524,
          "created_at": "2026-04-06T19:25:06Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 538,
          "created_at": "2026-05-22T21:50:47Z",
          "last_comment_at": "2026-06-02T00:17:12Z",
          "last_comment_author": "tsmathis"
        },
        {
          "number": 541,
          "created_at": "2026-07-20T23:25:17Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-08T00:52:25Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 4,
          "created_at": "2018-11-17T18:58:33Z",
          "last_comment_at": "2022-07-18T18:12:31Z",
          "last_comment_author": "mkhorton"
        },
        {
          "number": 7,
          "created_at": "2018-11-28T23:56:54Z",
          "last_comment_at": "2022-07-28T20:40:41Z",
          "last_comment_author": "janosh"
        },
        {
          "number": 76,
          "created_at": "2019-07-17T15:12:44Z",
          "last_comment_at": "2022-07-18T18:20:03Z",
          "last_comment_author": "mkhorton"
        },
        {
          "number": 97,
          "created_at": "2019-10-02T00:34:47Z",
          "last_comment_at": "2022-07-18T18:22:42Z",
          "last_comment_author": "mkhorton"
        },
        {
          "number": 118,
          "created_at": "2020-12-25T04:37:15Z",
          "last_comment_at": "2024-05-15T14:58:24Z",
          "last_comment_author": "davidemitoli"
        },
        {
          "number": 202,
          "created_at": "2021-07-02T13:11:20Z",
          "last_comment_at": "2021-07-02T19:28:21Z",
          "last_comment_author": "mkhorton"
        },
        {
          "number": 221,
          "created_at": "2021-11-19T12:09:43Z",
          "last_comment_at": "2022-07-18T18:41:17Z",
          "last_comment_author": "mkhorton"
        },
        {
          "number": 222,
          "created_at": "2021-11-19T12:24:55Z",
          "last_comment_at": "2024-01-09T12:10:42Z",
          "last_comment_author": "Aaronphy"
        },
        {
          "number": 223,
          "created_at": "2021-12-08T20:18:23Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 229,
          "created_at": "2022-02-11T11:54:47Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 239,
          "created_at": "2022-04-20T20:33:43Z",
          "last_comment_at": "2022-07-18T18:52:36Z",
          "last_comment_author": "mkhorton"
        },
        {
          "number": 254,
          "created_at": "2022-07-16T22:21:10Z",
          "last_comment_at": "2022-07-21T19:43:54Z",
          "last_comment_author": "hmlli"
        },
        {
          "number": 255,
          "created_at": "2022-07-20T19:21:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 256,
          "created_at": "2022-07-20T19:31:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 257,
          "created_at": "2022-07-20T19:34:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 259,
          "created_at": "2022-07-20T20:03:08Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 260,
          "created_at": "2022-07-20T20:10:45Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 261,
          "created_at": "2022-07-20T20:12:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 262,
          "created_at": "2022-07-20T21:05:48Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 263,
          "created_at": "2022-07-20T23:36:25Z",
          "last_comment_at": "2022-07-21T01:19:17Z",
          "last_comment_author": "janosh"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/materialsproject/crystaltoolkit",
    "host": "github.com",
    "name": "crystaltoolkit",
    "owner": "materialsproject"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "excellent",
      "name": "Overall health",
      "note": "The weighted overall 74 is calibrated to 88 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 74,
            "calibrated": 88,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 88,
      "inputs": {
        "security": 71,
        "vitality": 91,
        "community": 58,
        "governance": 64,
        "calibration": "2026-08-02",
        "engineering": 88,
        "ai_readiness": 50,
        "weighted_overall_raw": 74
      },
      "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": 85,
            "inputs": {
              "commits_last_year": 225,
              "human_commit_share": 0.96,
              "days_since_last_push": 12,
              "active_weeks_last_year": 41
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 12 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 12
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "41/52 weeks with commits",
                "points": 28.4,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 41
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "225 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 225
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "exceptional",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 55,
              "latest_release_tag": "v2026.7.20rc1",
              "releases_from_tags": false,
              "days_since_latest_release": 12,
              "mean_days_between_releases": 8.4
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "55 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 55
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 12 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 12
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~8.4 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 8.4
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": 26,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 26 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 26
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 58,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 57,
            "inputs": {
              "forks": 69,
              "stars": 200,
              "watchers": 7,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "200 stars",
                "points": 37.3,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 200
                    }
                  }
                ],
                "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": "7 watchers",
                "points": 4.3,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 66,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": null,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "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": "license file present, not a recognized license",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "license_custom",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "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
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 50,
            "inputs": {
              "packages": [
                "crystal_toolkit",
                "crystaltoolkit-extension",
                "crystaltoolkit-extension"
              ],
              "dependents": null,
              "ecosystems": "npm, pypi",
              "total_downloads": null,
              "monthly_downloads": 1012
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "1,012 downloads/month across npm, pypi",
                "points": 40.1,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 1012,
                      "ecosystems": "npm, pypi"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 64,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "weak",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 29,
              "top_contributor_share": 0.675
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 68% of commits",
                "points": 7.3,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 68
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "29 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 29
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 19 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "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": 54,
            "inputs": {
              "merged_prs": 216,
              "open_issues": 58,
              "closed_issues": 81,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": 0.583,
              "closed_unmerged_prs": 168,
              "first_time_authors_30d": null,
              "first_time_prs_merged_30d": null,
              "first_time_prs_decided_30d": null
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "58% of issues closed",
                "points": 24.5,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 58
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "216/384 decided PRs merged",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 216,
                      "decided": 384
                    }
                  }
                ],
                "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": "Found 2/5 approved changesets -- score normalized to 4",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "followers": 915,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "materialsproject",
              "public_repos": 56,
              "account_age_days": 5519
            },
            "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": "915 followers of materialsproject",
                "points": 21.3,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 915,
                      "login": "materialsproject"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "56 public repos, account ~15 yr old",
                "points": 24.8,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 56
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 15
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "crystal_toolkit",
                "crystaltoolkit-extension",
                "crystaltoolkit-extension"
              ],
              "ecosystems": "npm, pypi",
              "any_deprecated": false,
              "min_days_since_publish": 12
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "3 package(s) on npm, pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 3,
                      "ecosystems": "npm, pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 12 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 12
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "91 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 91
                    }
                  }
                ],
                "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": 88,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "exceptional",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 94,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": true
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "7 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "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": ".eslintrc.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "5 out of 5 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://docs.crystaltoolkit.org",
              "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://docs.crystaltoolkit.org",
                "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": 71,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 64,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 6.4
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "5 out of 5 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": "Found 2/5 approved changesets -- score normalized to 4",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 19 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.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 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 0",
                "points": 0,
                "status": "missed",
                "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": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": "106 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "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:crystal_toolkit@2026.7.20 runtime dependency closure — what installing the published package pulls in — 104 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:crystal_toolkit@2026.7.20",
                  "assessed": 104
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 104,
              "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": 104,
              "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": 50,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 12,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.229,
              "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": "22 of 96 human commits state their intent (structured subject or explanatory body)",
                "points": 12.2,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 22,
                      "sampled": 96
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 72,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "docs_rst/Makefile",
                "tests/asy_test/multi/Makefile",
                "tests/asy_test/single/Makefile"
              ],
              "has_devcontainer": true,
              "has_linter_config": true,
              "typecheck_configs": [
                "jupyterlab-extension/tsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "docs_rst/Makefile, tests/asy_test/multi/Makefile, tests/asy_test/single/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "docs_rst/Makefile, tests/asy_test/multi/Makefile, tests/asy_test/single/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": ".eslintrc.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "jupyterlab-extension/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "jupyterlab-extension/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "devcontainer, Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "devcontainer, Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 288580,
              "source_files_sampled": 133,
              "oversized_source_files": 4
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (jupyterlab-extension/tsconfig.json)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "jupyterlab-extension/tsconfig.json",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "4/133 source files over 60KB",
                "points": 53.3,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 133,
                      "oversized": 4
                    }
                  }
                ],
                "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": {
      "labels": [
        "library"
      ],
      "scores": {
        "library": 12,
        "framework": 2
      },
      "primary": "library",
      "evidence": [
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:npm",
          "weight": 6
        },
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:pypi",
          "weight": 6
        },
        {
          "tier": "description",
          "label": "framework",
          "source": "description:framework",
          "weight": 2
        }
      ],
      "artifacts": [],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": false,
      "consumed_by_code": true
    },
    "metrics_version": "2.3.1"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-08-02T13:41:05.412190Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/m/materialsproject/crystaltoolkit.svg",
  "full_name": "materialsproject/crystaltoolkit",
  "license_state": "custom",
  "license_spdx": null
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v2.3.1, esquema v0.27.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadasPyPI, npm.