ndarray

An n-dimensional array library for Rust with array views, slicing, and BLAS-backed numerics

Library
Cargo
v0.17.2
4,327 stars
MIT OR Apache-2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
53 /100 Fair
Development Activity 20
Maintenance 20
Community 72
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
80 /100 Excellent
Architecture 88
Code Quality 85
Innovation 78
Learning Curve 68

ndarray brings NumPy-style n-dimensional arrays to Rust: a generic ArrayBase type supporting owned, shared, and view-based storage, multidimensional slicing and broadcasting, element-wise and linear-algebra operations, and optional BLAS/rayon backends for high-performance numerics. It is the foundation numerical and scientific-computing crates in the Rust ecosystem build on when they need array-shaped data with NumPy-like ergonomics rather than plain Vecs or nested arrays.

What You Get

  • A generic ArrayBase type parameterized over storage (owned, shared, view) and dimensionality (1D through N-D, fixed or dynamic)
  • NumPy-style slicing, broadcasting, and axis operations via the s![] macro and Axis API
  • Element-wise arithmetic operator overloads and reduction/aggregation methods (sum, mean, fold, etc.)
  • Optional BLAS backend integration (via the blas feature and cblas-sys) for accelerated matrix multiplication
  • Optional Rayon integration for data-parallel iteration over array elements and axes

Common Use Cases

  • Implementing numerical algorithms (linear algebra, signal processing, simulations) that need n-dimensional array manipulation in Rust
  • Building machine-learning or scientific-computing crates that require NumPy-like array semantics without a Python dependency
  • Working with zero-copy array views over externally-owned buffers (e.g. memory-mapped data or FFI buffers)
  • Parallelizing array computations across cores via the optional Rayon integration

Under The Hood

Architecture - The crate centers on ArrayBase<S, D>, generic over a storage trait S (owned Vec-backed, Rc-shared, or borrowed view) and a dimension type D, with dozens of impl_*.rs modules (impl_1d, impl_2d, impl_dyn, impl_raw_views, impl_cow, etc.) implementing dimension- and storage-specific behavior against that one shared type, so the same array API works uniformly whether the data is owned, shared, or borrowed. Tech Stack - Pure Rust (edition 2021, Rust 1.87+), depending on num-traits/num-complex/num-integer for numeric abstractions and matrixmultiply for pure-Rust matrix multiplication by default, with optional rayon for parallelism and cblas-sys/libc behind a blas feature flag for calling out to an external BLAS implementation; it’s structured as a Cargo workspace with a companion ndarray-rand crate. Code Quality - The tests/ directory has dedicated suites per concern (array-construct, assign, azip, broadcast, complex, dimension, format), benches/ cover performance-sensitive paths, and proptest-regressions/ captures property-test-discovered regressions, reflecting a codebase that takes numeric-correctness edge cases seriously. API Design - The API deliberately mirrors NumPy’s mental model (axes, broadcasting, slicing macros) to lower the switching cost for developers coming from Python’s scientific stack, though the type-level encoding of storage and dimensionality means generic code over arrays can require verbose trait bounds compared to NumPy’s dynamically-typed arrays.

Used by 9 apps in this directory

TypeScript
54%
MIT

Anarlog

AI Assistants · Note Taking · Productivity

9,404

Anarlog is an open-source, local-first AI meeting notetaker that records, transcribes, and summarizes meetings entirely on your device — no cloud lock-in, no mandatory account, and every note saved as a plain markdown file you own forever.

View details
86
Repo Health
77
Technical
68
Dependency
Built with
TypeScript 54%
Rust 34%
Updated 4 days ago
Rust
54%
Other

Cap

Team Chat · Video Conferencing

22,884

Open source Loom alternative with GPU-accelerated recording, instant share links, AI summaries, and full self-hosting via Docker Compose.

View details
89
Repo Health
81
Technical
64
Dependency
Built with
Rust 54%
TypeScript 42%
Updated 4 days ago
TypeScript
84%
Apache 2.0

Continue

AI Code Assistants · AI Development · Automation

36,049

Open-source coding agent for VS Code, JetBrains, and CLI with support for 30+ LLM providers.

View details
73
Repo Health
88
Technical
62
Dependency
Built with
TypeScript 84%
Updated 5 days ago
TypeScript
64%
Apache 2.0

Laminar

AI Development · Monitoring

3,285

Open-source observability platform purpose-built for AI agents — trace, evaluate, debug, and monitor at scale with SQL access and real-time replay.

View details
85
Repo Health
76
Technical
66
Dependency
Built with
TypeScript 64%
Rust 34%
Updated 5 days ago
Rust
47%
Apache 2.0

magika

Developer Tools · Security

18,679

AI-powered file type detection that identifies 200+ content types with ~99% accuracy in milliseconds using a compact deep learning model.

View details
84
Repo Health
85
Technical
73
Dependency
Built with
Rust 47%
YARA 16%
Python 12%
Updated 1 weeks ago
Rust
48%
MIT

Meetily

AI Assistants · Productivity

31,171

Privacy-first AI meeting assistant that transcribes and summarizes your meetings entirely on your local machine — no cloud, no data leakage.

View details
85
Repo Health
72
Technical
67
Dependency
Built with
Rust 48%
TypeScript 29%
Updated 2 weeks ago
Rust
63%
MIT

PostgresML

AI Development · Databases

6,825

Run ML training and LLM inference natively inside PostgreSQL with GPU acceleration — no data movement required.

View details
51
Repo Health
76
Technical
64
Dependency
Built with
Rust 63%
JavaScript 11%
Updated 1 years ago
Rust
90%
Apache 2.0

Qdrant

AI Development · Databases · Search

34,857

Open-source vector database and search engine built in Rust for production-grade AI applications — from semantic search to RAG pipelines and recommendation systems.

View details
92
Repo Health
87
Technical
65
Dependency
Built with
Rust 90%
Updated 5 days ago
Rust
71%
MIT

Trieve

AI Development · Developer Tools · Search

2,719

All-in-one self-hostable platform for hybrid search, RAG, recommendations, and analytics built on Rust and Qdrant.

View details
42
Repo Health
74
Technical
64
Dependency
Built with
Rust 71%
Updated 8 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers