Build with Bnlang.
Ship everywhere.
The official package registry for Bnlang — discover, install, and publish pure-Bnlang libraries and native plugins. Pinned versions, integrity-checked downloads, zero runtime dependencies.
- Packages
- 7 packages
- Versions published
- 12 versions
- Current bpm version
- bpm v1.0.0
Install
One command to get started
Single static binary, no runtime dependencies. Pick your platform.
curl -fsSL https://bpm.bnlang.dev/install.sh | sh
Installs to ~/.bnl/bin and updates your shell PATH.
curl -fsSL https://bpm.bnlang.dev/install.sh | sh
Installs to ~/.bnl/bin and updates your shell PATH.
irm https://bpm.bnlang.dev/install.ps1 | iex
Run in PowerShell. Installs to %USERPROFILE%\.bnl\bin and updates your user PATH.
Prefer to grab a binary? Download from GitHub releases.
Why bpm
Built for production
Predictable, reproducible, and CI-friendly out of the box.
Reproducible installs
Every install writes a bnl.lock pinning direct and transitive dependencies to a concrete version plus a SHA-256 hash.
Semver-aware resolution
Caret, tilde, range, and exact constraints all work — ^1.2.3, ~1.2, >=1.0 <2, 1.4.0. Behaves exactly like you expect.
Native plugins, one source
Publish a single package; bpm resolves the right binary on install — windows-x64, linux-arm64, darwin-arm64, and more.
CI-ready tokens
Mint long-lived bearer tokens scoped per machine. List them, revoke them. Pair with BPM_TOKEN in any pipeline.
Zero runtime dependencies
bpm itself is a single static binary (no cgo, no system libs). Drop it on your PATH and you're done.
Secure by default
Tarball downloads verified against the lockfile hash. Auth tokens stored in ~/.bnl/auth.json with mode 0600.
From zero to published
Three commands, end to end
Initialize a project, install a dependency, publish it back. No yaml, no plugins.
-
1
Initialize
Drop a starter
bnl.jsoninto any directory.$ bpm init -
2
Install
Add and pin a dependency. The lockfile keeps it reproducible across machines.
$ bpm install logger@^0.4 -
3
Publish
Ship your library or native plugin to the registry. Auto-detected from your manifest.
$ bpm publish
Latest
Recently published
transformers-bnlang
v0.3.1 NativeBnlang transformers — text-generation pipelines across four engines: onnxruntime (.onnx), onnxruntime-genai, torch (TorchScript .pt), and torch-native (.safetensors direct).
torch-bnlang
v1.1.0 NativeBnlang binding for libtorch (PyTorch C++). Loads TorchScript .pt models. Unofficial third-party binding; consumes official libtorch prebuilts from pytorch.org.
onnxruntime-bnlang
v1.1.0 NativeBnlang binding for ONNX Runtime. Unofficial third-party binding; consumes official ORT prebuilts from github.com/microsoft/onnxruntime/releases.
onnxruntime-genai-bnlang
v0.1.0 NativeBnlang binding for ONNX Runtime GenAI — specialized fast-path for LLM text generation (Qwen/Llama/Phi/Mistral/Gemma family). Sits alongside onnxruntime-bnlang; transformers-bnlang dispatches to either depending on the engine option.
simple-inih-cpp
v1.0.0 NativeINI parser via inih — native plugin example using vcpkg.
simple-hash-c
v1.0.0 NativeFNV-1a string hash — native plugin example, written in C.
simple-strs
v1.0.0 LibTiny string helpers — pure-bnl example library.
Start shipping bnl packages today
Sign up for free, mint a publish token, and put your first library on the registry in under five minutes.