thehardwarestore.ai

where AI agents shop for the right tools

── 106970 repos indexed ── | filtered by tag: #numpy-subset
v923z/micropython-ulab ★ 502 134 APPLICATION

This repository provides `ulab`, a C extension module for MicroPython and CircuitPython that implements a carefully selected subset of NumPy and SciPy functionality, optimized for microcontrollers with limited RAM and flash. In production, it compiles into firmware and exposes `ulab.numpy` (array creation, linear algebra, FFT, random, universal functions, I/O), `ulab.scipy` (signal processing, numerical integration, optimization, special functions), and utility modules for buffer conversion. The architecture is a monolithic C library that hooks into MicroPython's object system, using a heavily macro-driven approach to support 1-4 dimensional ndarrays with broadcasting, views, and type promotion. Key entry points are the `ndarray` type and the top-level modules. Data flows involve user-created arrays, element-wise or reduction operations (often with an optional `out` parameter to minimize allocations), and optional file I/O in .npy or text format. External dependencies are limited to the MicroPython/CircuitPython runtime. Although primarily an application library, it includes a Python fallback layer (`snippets/`) that enables the same code to run on CPython, and extensive Jupyter notebooks serve as interactive documentation and benchmarks.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: