Skip to content

dupontcyborg/numpy-ts

Repository files navigation

numpy-ts

License: MIT npm version npm package minimized gzipped size npm package minimized gzipped size numpy api coverage Sponsored by Cyborg

numpy-ts

Complete NumPy implementation for TypeScript and JavaScript.

  • 📊 Extensive API476 of 507 NumPy functions (93.9% coverage)
  • 🏃🏽‍♂️ Fast1.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

DocsPlaygroundExamplesCoverageBenchmarks

Install

npm install numpy-ts

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

numpy-ts is brought to you by

Cyborg

Interested in supporting numpy-ts? Become a sponsor.

Contributing

Issues and PRs are welcome: https://github.com/dupontcyborg/numpy-ts

License

MIT © Nicolas Dupont

About

Fast, Complete NumPy for TypeScript & JavaScript

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors