github.com/numba/numba ↗
NumPy aware dynamic Python compiler using LLVM
Open this visualization on its own page →
Contributors
250
Lines of Code
40,626
From
2012-03-08
To
2020-12-21
About numba/numba
Numba is an open-source just-in-time compiler for Python that uses LLVM to generate machine code from numerical Python functions. Sponsored by Anaconda, Inc., it is specifically designed to work with NumPy and can compile a large subset of numerically-focused Python code, including many NumPy operations. The compiler bridges the performance gap between Python's ease of use and the speed requirements of scientific computing.
Beyond basic compilation, Numba supports several advanced features that make it powerful for high-performance computing. It can automatically parallelize loops across multiple CPU cores and generate GPU-accelerated code for CUDA-capable GPUs. The project also enables creation of universal functions (ufuncs) and C callbacks from Python code, giving developers fine-grained control over optimization strategies.
The project serves researchers, data scientists, and engineers working with numerical computations in Python who need significant performance improvements without rewriting code in lower-level languages. It has grown into a mature tool with comprehensive documentation, an active community forum, and demo notebooks available for learning and exploration.