npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@runanywhere/electron-qhexrt

v0.20.31

Published

RunAnywhere Electron SDK — QHexRT backend plugin (Qualcomm Hexagon NPU; Snapdragon X / X2 Elite on Windows ARM64)

Readme

@runanywhere/electron-qhexrt

QHexRT backend package for the Electron SDK — text generation on the Qualcomm Hexagon NPU.

Supported host today: Windows on ARM64 (Snapdragon X / X2 Elite, Hexagon v81). Off-platform builds still install and register; the engine reports BACKEND_UNAVAILABLE and the router can never select it, so a cross-platform app can depend on this package unconditionally.

Usage (main process only)

import { QHexRT } from '@runanywhere/electron-qhexrt';
QHexRT.register(); // before RunAnywhereMain.connect()

Registration records prebuilds/<platform>-<arch>/runanywhere_qhexrt.dll in the main-process queue; RunAnywhereMain copies it into RUNANYWHERE_PLUGIN_PATHS at utility-host fork. There is no renderer RPC that can load a plugin.

What ships in prebuilds/win32-arm64/

The plugin and the flat QAIRT runtime it opens at load time:

| file | from | |---|---| | runanywhere_qhexrt.dll | this repo (engines/qhexrt) | | rac_commons.dll | this repo — the thin addon's shared commons | | QnnHtp.dll, QnnSystem.dll, QnnHtpPrepare.dll, QnnHtpV81Stub.dll | <QAIRT>/lib/aarch64-windows-msvc/ | | libQnnHtpV81Skel.so, libqnnhtpv81.cat | <QAIRT>/lib/hexagon-v81/unsigned/ |

All in one directory. There is no ADSP_LIBRARY_PATH on Windows — the loader resolves the stub's dependencies through the DLL's own directory, and the SDK prepends every registered plugin directory to PATH because the engine opens QnnHtp.dll by bare name at runtime.

The .cat is not optional. Without it the DSP skel fails signature verification and the failure never names the catalog — it looks like a corrupt model bundle.

Bundles

QHexRT runs prebuilt QNN context bundles (runanywhere/*_HNPU on Hugging Face), not GGUF. Two compatibility axes, both load-time and both silent until they aren't:

  • Arch pinning. dsp_arch + soc_model are baked into the context binary. A v79 bundle does not load on a v81 device.
  • QAIRT floor. The deployed runtime must be >= the QAIRT that compiled the bundle. Measured: a v81 bundle compiled on 2.47 fails contextCreateFromBinary with err=0x1388 on 2.41 and loads on 2.48. The actionable message (Using newer context binary on old SDK) appears only in the backend's stderr.

Model download

initialize() registers the libcurl HTTP transport only when commons was built with -DRAC_DESKTOP_ADAPTER=ON. Without it, register an already-downloaded bundle directory instead of resolving one from Hugging Face.