guides

Migration from Numba

Switch from Numba JIT to Pyvorin with minimal code changes.

Published May 30, 2026

Removing @jit Decorators

Numba's @jit and @njit decorators are not needed with Pyvorin. Simply remove them:

# Before (Numba)
from numba import jit
@jit(nopython=True)
def sum_array(arr):
    total = 0
    for x in arr:
        total += x
    return total

# After (Pyvorin)
def sum_array(arr):
    total = 0
    for x in arr:
        total += x
    return total

Type Signatures

Replace Numba type signatures with Python type hints:

# Before
@jit(float64(int32, int32))
def add(a, b):
    return a + b

# After
def add(a: int, b: int) -> int:
    return a + b

Parallel Prange

Replace prange with Python's multiprocessing or concurrent.futures for parallelism.

Unsupported Numba Features

  • CUDA kernels — use PyCUDA or CuPy directly.
  • Object mode fallback — Pyvorin falls back to CPython automatically.