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.

Share this video