lutzroeder/netron
33.6
Weak · 25 September 2026
208.9k
lines of production code
JavaScript
primary language
5
measurements over time
What this system is
This system is a desktop and browser-based application for visualizing and inspecting machine learning models, built on Electron. It provides tools to parse and render model graphs and tensor values across a wide variety of ML frameworks, including Arm NN, JAX, and Keras. The project includes comprehensive end-to-end testing infrastructure and supports distribution as native packages for Windows, macOS, and Linux.
Features
Add schema and metadata generation tools for new ML frameworks
The Tools directory now includes build scripts and supporting code to generate JavaScript schema and metadata files for several new machine learning frameworks: Arm NN, BigDL, CatBoost, Circle, CNTK, ESP-DL, ExecuTorch, GGUF, JAX, KaNN, Keras, LiteRT-LM, MediaPipe, and MegEngine. These additions enable the library to parse and understand the model formats and operator definitions specific to these frameworks.
Tools · high confidence
Initial project scaffolding and configuration
The repository has been initialized with essential configuration files, including a .gitignore to exclude build artifacts and caches, an .npmrc to silence npm logs, a CITATION.cff for academic referencing, a CONTRIBUTING.md with development instructions, and a MIT LICENSE. Additionally, an eslint.config.js establishes code quality rules, while package.js and package.py provide build and packaging scripts for the application and Python distribution.
(repo-wide) · high confidence
Behavioural changes
Updated application icon and installer configuration
The Netron desktop application features a refreshed icon design with updated gradients and shadows, available in both standard and macOS-specific SVG formats. The \publish/electron-builder.json\ configuration has been updated to include file associations for a wider range of model formats (including JAX, MindIR, TOSA, and LiteRT-LM) and configures Linux packages to build as .deb and .rpm, while Windows builds are now set up for Azure Trusted Signing.
publish · high confidence
Test coverage
Add Playwright end-to-end tests and test infrastructure
Added Playwright-based end-to-end tests for the browser and desktop applications, verifying model loading, graph rendering, and tensor value inspection. Introduced a new test worker (\test/worker.js\) and mock environment (\test/mock.js\) to support isolated model loading and validation tests, along with a Python backend test script (\test/backend.py\) and a measures analysis script (\test/measures.py\) for performance tracking.
test · high confidence
Dependencies
Dependency updates for Electron 44, Playwright, and ESLint
The project's dependencies have been updated to Electron 44.4.5, @playwright/test 1.63.0, and ESLint 10.11.0, alongside electron-builder 26.16.1 and @electron/notarize 3.1.1. These updates ensure compatibility with the latest Electron runtime and testing tooling while maintaining the existing electron-updater dependency for application updates.
(dependencies) · high confidence
Upgrade to Electron 42
The application runtime has been upgraded to Electron 42.0.1. This update brings the underlying Chromium and Node.js versions current, which may affect browser compatibility, performance, and security posture for the desktop application.
source · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 32 → 34 (+2.0)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 20 → 14 (-5.2)
- Architecture 95 → 97 (+1.1)
- Maturity 57 → 59 (+1.8)
- Readiness 29 → 51 (+21.4)
- Security 42 → 69 (+26.5)
- Accessibility 40 (new)
Resolved (803)
- (anonymous) (cognitive 16) (source/view.js)
- (anonymous) (cognitive 17) (source/caffe.js)
- (anonymous) (cognitive 17) (source/onnx.js)
- (anonymous) (cognitive 18) (source/circle.js)
- (anonymous) (cognitive 18) (source/tflite.js)
- (anonymous) (cognitive 20) (source/coreml.js)
- (anonymous) (cognitive 20) (source/megengine.js)
- (anonymous) (cognitive 23) (source/paddle.js)
- (anonymous) (cognitive 26) (source/caffe2.js)
- (anonymous) (cognitive 26) (source/keras.js)
- (anonymous) (cognitive 35) (source/cntk.js)
- (anonymous) (cognitive 36) (source/tf.js)
- (anonymous) (cognitive 57) (source/acuity.js)
- (anonymous) (cyclomatic 18) (source/onnx.js)
- (anonymous) (cyclomatic 19) (source/caffe2.js)
- (anonymous) (cyclomatic 22) (source/cntk.js)
- (anonymous) (cyclomatic 28) (source/acuity.js)
- (anonymous) (cyclomatic 33) (source/paddle.js)
- (anonymous) (cyclomatic 39) (source/tf.js)
- BatchNormalization (cognitive 21) (source/cntk.js)
- …and 783 more
New (30)
- Change coupling: caffe-proto.js ↔ tf-proto.js (source/caffe-proto.js)
- Change coupling: pytorch.py ↔ pytorch_script.py (source/pytorch.py)
- Change-coupling hub: uff-proto.js → caffe-proto.js, caffe2-proto.js, onnx-proto.js, paddle-proto.js, protoc.js (source/uff-proto.js)
- Documentation: no usage examples (README.md)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 10 more
Changes since last survey
- 101 commits — 101 feature/other, 0 fixes
By area
- (root) — 27 commits
- source/mlir-metadata.json — 19 commits
- source/onnx-metadata.json — 16 commits
- source/gguf-metadata.json — 9 commits
- source/litertlm-proto.js — 7 commits
- source/sentencepiece-proto.js — 3 commits
- source/base.js — 2 commits
- source/pytorch-metadata.json — 2 commits
- source/coreml.js — 1 commit
- source/desktop.mjs — 1 commit
- source/executorch-schema.js — 1 commit
- source/gguf.js — 1 commit
- source/keras.js — 1 commit
- source/litertlm-schema.js — 1 commit
- source/mnn-schema.js — 1 commit
- source/onnx-proto.js — 1 commit
- source/onnx.js — 1 commit
- source/sklearn-metadata.json — 1 commit
- source/tf-metadata.json — 1 commit
- source/tf-proto.js — 1 commit
Notable commits
- change: Add GGUF support (#1209)
- change: Add GGUF support (#1209)
- change: Add GGUF support (#1209)
- change: Add GGUF support (#1209)
- change: Add GGUF support (#1209)
- change: Add GGUF support (#1209)
- change: Add GGUF support (#1209)
- change: Add GGUF support (#1209)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- change: Add MLIR support (#1044)
- …and 81 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
lutzroeder/netron was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 25 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 0f0ceb35d844b5a3a3b141290bfcc8c5903d1674 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-dd72cc24c749.