Skip to content

dupontcyborg/numpy-ts

Repository files navigation

numpy-ts

License: MIT npm version bundle size numpy api coverage

numpy-ts

Complete NumPy implementation for TypeScript and JavaScript.

  • 📊 Extensive API476 of 507 NumPy functions (93.9% coverage)
  • ✅ NumPy-validated — 10,000+ tests compared against Python NumPy
  • 🔒 Type-safe — Full TypeScript type definitions
  • 🌳 Tree-shakeable — Import only what you use (np.add() -> ~10kB bundle)
  • 🌐 Universal — Works in Node.js, Deno, Bun and browsers
  • 🏃🏽‍♂️ Fast - Competitive with Python NumPy (and sometimes faster) thanks to Zig-WASM kernels

DocsExamplesBenchmarks

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:]

Resources

Contributing

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

License

MIT © Nicolas Dupont

About

Full NumPy, in TypeScript/JavaScript (94% coverage)

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors