
Research
/Security News
Mini Shai-Hulud Campaign Hits Red Hat Cloud Services npm Packages
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.
Wrapture lets you go from a Python-trained model to deployable JavaScript with a single command. It generates TypeScript bindings and a Web/Node-compatible wrapper, using WebGPU/WASM-ready ONNX runtimes.
One-click exporter from PyTorch models to Web-ready ONNX with JS/TS wrappers.
Wrapture lets you go from a Python-trained model to deployable JavaScript with a single command. It generates TypeScript bindings and a Web/Node-compatible wrapper, using WebGPU/WASM-ready ONNX runtimes.
[!NOTE] This is an experiment trying to fulfil a need between python and js. YMMV
loadModel() + predict() JavaScript wrappers.d.ts TypeScript bindingsInstall Python if you don’t have it: 👉 https://www.python.org/downloads/
python3 -m pip install torch onnx onnxsim onnxruntime
Check your installation:
python3 -c "import torch; print(torch.__version__)"
python3 -c "import onnx; print(onnx.__version__)"
You should see output like:
2.x.x etc..
npm i -g wrapture
A helper script is provided to create a basic test model.
python3 python/scripts/basic_model.py
This generates:
test/fixtures/basic_model.pt
wrapture --input test/fixtures/basic_model.pt --output ./wrapped
You’ll see a spinner as the model is converted, and then a JS/TS wrapper is written to the ./wrapped/ directory.
Example contents of a --output ./ folder:
/
├── wrapped.ts # The loadModel() + predict() logic
├── wrapped.d.ts # Fully typed API
└── model.onnx # Exported ONNX model
import { loadModel } from './wrapped.js';
const model = await loadModel();
const input = { data: new Float32Array(1 _3_ 224 \* 224), dims: [1, 3, 224, 224]
};
const result = await model.predict(input); console.log(result); // { // logits:
Float32Array, // probabilities: number[], // predictedClass: number // }
Full API documentation is available here.
Want to contribute? Please read the CONTRIBUTING.md and CODE_OF_CONDUCT.md
This project is licensed under the MIT License - see the LICENSE file for details.
See the CHANGELOG.md for details on the latest updates.
I'm an Open Source evangelist, creating stuff that does not exist yet to help get rid of secondary activities and to enhance systems already in place, be it documentation or web sites.
The sponsorship is an unique opportunity to alleviate more hours for me to maintain my projects, create new ones and contribute to the large community we're all part of :)
Support me on GitHub Sponsors.
p.s. Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, putting pressure on your local government or companies. You can also support Ukraine by donating e.g. to Red Cross, Ukraine humanitarian organisation or donate Ambulances for Ukraine.
FAQs
Wrapture lets you go from a Python-trained model to deployable JavaScript with a single command. It generates TypeScript bindings and a Web/Node-compatible wrapper, using WebGPU/WASM-ready ONNX runtimes.
We found that wrapture demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
A mini Shai-Hulud campaign compromised Red Hat Cloud Services npm packages to steal developer and CI/CD secrets during installation.

Research
/Security News
The North Korean malware loader hides in a Packagist-listed package and its GitHub branch to fetch and execute remote code in a likely Contagious Interview-style lure.

Security News
The Rust project is moving toward formal rules on LLM use in contributions after months of internal debate over maintainer burden, code quality, and contributor experience.