orange3-nnviewer
A minimal Orange Data Mining add-on with one widget: Neural Network Viewer — takes the Model output of Orange's Neural Network widget (scikit-learn MLP) and draws the network on a native Qt graphics scene:
- one column of nodes per layer (inputs, hidden layers, output),
- feature names on the input neurons, target/class names on the output,
- edge width proportional to |weight|, blue = positive, red = negative,
- the numeric weight printed beside each edge (for small networks),
- biases printed under the neurons they feed,
- hover: an edge thickens, fills its two end nodes with its colour and tints the associated labels; its tooltip shows "source → target, weight = …", node tooltips show name and bias.
The diagram always scales to fit the window — there is no manual zoom or panning.
Build & install
Build a wheel (a single self-contained plugin file):
cd orange3-nnviewer
uv build # -> dist/orange3_nnviewer-<ver>-py3-none-any.whl
Install it into the same Python environment that runs Orange
(--no-deps: Orange's own dependencies are already present, and
re-resolving them can trigger source builds against the bundled
framework Python):
uv pip install --python <python-that-runs-orange> --no-deps dist/orange3_nnviewer-*.whl
(For the macOS Orange.app bundle, the interpreter is
/Applications/Orange.app/Contents/MacOS/python.)
During development, an editable install is more convenient (edits are live on Orange restart):
uv pip install --python <python-that-runs-orange> -e .
Then start (or restart) Orange Canvas — the widget appears in the toolbox under the "Neural Networks" category, named "NN Viewer":
python -m Orange.canvas
Publish to PyPI
Once published, the widget is installable from Orange's own UI (Options → Add-ons… → Add more… → orange3-nnviewer):
uv build
uv publish # needs a PyPI token (UV_PUBLISH_TOKEN or --token)
Test outside Canvas
Trains an MLP on the bundled housing dataset and opens the widget alone:
python -m orangecontrib.nnviewer.widgets.ow_nn_viewer
Tests
Run with the Python that runs Orange (Qt renders offscreen, no display needed):
python -m pytest -q
Use in a workflow
File → Neural Network → Neural Network Viewer
Model ─┘
Knobs to tweak (in ow_nn_viewer.py)
MAX_LABELED_EDGES— above this edge count, numbers are suppressed (tooltips still show every value).- weight label format —
f"{weight:.2f}"in_draw. - colours —
POS_COLOR/NEG_COLOR. - edge width scale —
1.0 + 4.0 * abs(weight) / max_abs. - node size —
radii = [min(0.05, 0.3 * g) for g in y_gaps]. - label placement —
t = 0.60/0.40along the line in_draw.
Metadata
Release files for orange3-nnviewer 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| orange3_nnviewer-0.1.2.tar.gz | 14.5 kB | Without provenance | Details for orange3_nnviewer-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| orange3_nnviewer-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for orange3_nnviewer-0.1.2-py3-none-any.whl |
Total release size: 25.9 kB
Release files / orange3_nnviewer-0.1.2.tar.gz
| Download URL | orange3_nnviewer-0.1.2.tar.gz |
|---|---|
| Size | 14.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
93b21d4d526ee4fe7672d4cd01a2c6769bd9ac59a3ae42c709a0de791fd3f133
|
|
BLAKE2b-256 checksum How to use checksums |
08203840ffb1718ebdf138df3eec6ed658cd4ffbed15ecb0da68606686b9b9e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / orange3_nnviewer-0.1.2-py3-none-any.whl
| Download URL | orange3_nnviewer-0.1.2-py3-none-any.whl |
|---|---|
| Size | 11.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b484abca370a5047e0ac1941b9db32968f89bc4f1c6cf97bf3706e125a45c38b
|
|
BLAKE2b-256 checksum How to use checksums |
1f4d99c806fe60c844b7ea394204e053979e2d898a8ef4966d6d31b6e3e87cf1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for orange3-nnviewer 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.