Complete NumPy implementation for TypeScript and JavaScript.
- 📊 Extensive API — 476 of 507 NumPy functions (93.9% coverage)
- 🏃🏽♂️ Fast — 1.13x faster than NumPy on average across 7,200 benchmarks, thanks to Zig-WASM SIMD kernels
- ✅ NumPy-validated — 20,000+ tests compared against Python NumPy
- 🔒 Type-safe — Full TypeScript type definitions
- 🌳 Tree-shakeable — Import only what you use (
np.add()-> ~10kB bundle) - 🌐 Universal — Zero dependencies, works in Node.js, Deno, Bun and browsers
Docs • Playground • Examples • Coverage • Benchmarks
Install
Quick Start
import * as np from 'numpy-ts'; // Array creation with dtype support const A = np.array([[1, 2], [3, 4]], 'float32'); const B = np.ones([2, 2], 'int32'); // Broadcasting and chained operations const result = A.add(5).multiply(2); // Linear algebra const C = A.matmul(B); const trace = A.trace(); // Reductions with axis support const colMeans = A.mean(0); // [2.0, 3.0] // NumPy-style slicing with strings const row = A.slice('0', ':'); // A[0, :] const submatrix = A.slice('0:2', '1:'); // A[0:2, 1:]
Sponsors
Interested in supporting numpy-ts? Become a sponsor.
Contributing
Issues and PRs are welcome: https://github.com/dupontcyborg/numpy-ts
AI Disclosure
See our AI disclosure for details on how AI was used in building numpy-ts.
License
MIT © Nicolas Dupont