Development Status
- 4 - Beta
Intended Audience
- Developers
License
- OSI Approved :: BSD License
Operating System
- OS Independent
Programming Language
- Python
- Python :: 3
- Python :: 3.6
- Python :: 3.7
- Python :: 3.8
Topic
- Software Development :: Compilers
A Just-In-Time Compiler for Numerical Functions in Python
Numba is an open source, NumPy-aware optimizing compiler for Python sponsored by Anaconda, Inc. It uses the LLVM compiler project to generate machine code from Python syntax.
Numba can compile a large subset of numerically-focused Python, including many NumPy functions. Additionally, Numba has support for automatic parallelization of loops, generation of GPU-accelerated code, and creation of ufuncs and C callbacks.
For more information about Numba, see the Numba homepage: http://numba.pydata.org
Supported Platforms
Operating systems and CPU:
Linux: x86 (32-bit), x86_64, ppc64le (POWER8 and 9), ARMv7 (32-bit), ARMv8 (64-bit)
Windows: x86, x86_64
macOS: x86_64
(Optional) Accelerators and GPUs:
NVIDIA GPUs (Kepler architecture or later) via CUDA driver on Linux, Windows, macOS (< 10.14)
AMD GPUs via ROCm driver on Linux
Dependencies
Python versions: 3.6-3.8
llvmlite 0.32.*
NumPy >=1.15 (can build with 1.11 for ABI compatibility)
Optionally:
Scipy >=1.0.0 (for numpy.linalg support)
Installing
The easiest way to install Numba and get updates is by using the Anaconda Distribution: https://www.anaconda.com/download
$ conda install numba
For more options, see the Installation Guide: http://numba.pydata.org/numba-doc/latest/user/installing.html
Documentation
Mailing Lists
Join the Numba mailing list numba-users@continuum.io: https://groups.google.com/a/continuum.io/d/forum/numba-users
Some old archives are at: http://librelist.com/browser/numba/
Continuous Integration
Wheel compatibility matrix
Platform | CPython 3.6 | CPython 3.7 | CPython 3.8 |
---|---|---|---|
macosx_10_14_x86_64 | |||
manylinux1_i686 | |||
manylinux1_x86_64 | |||
manylinux2014_x86_64 | |||
win32 | |||
win_amd64 |