Unsupported & Fallback

May 30, 2026 | 5 min read

Execution Tiers

TierMeaning
COMPILED_FULLEntire function compiled to native machine code.
COMPILED_PARTIALSome regions compiled; others execute in CPython.
COMPATIBILITY_EXECUTEDEntire function ran in CPython (fallback).
UNSUPPORTEDCould not compile; compatibility execution used.

Currently Unsupported Constructs

ConstructFallback Behaviour
eval / exec / compileDynamic code generation falls back to CPython.
Custom metaclassesCompatibility execution.
Complex multiple inheritanceCompatibility execution.
Direct mutation of C extension internalsCalls into NumPy, Pandas, etc. fall back gracefully.
GPU training / CUDANot applicable; use your ML framework directly.
Network-bound servicesCompatibility execution (Python overhead is not the bottleneck).

How Fallback Works

Before compilation, the AST is scanned for unsupported nodes. If any are found, the function is marked for fallback and runs in CPython transparently. Fallback is never silent — Pyvorin records the reason in the execution status.

Minimising Fallback

  • Use supported types: int, float, list, dict, str, tuple.
  • Avoid unsupported constructs in hot paths.
  • Keep types stable across loop iterations.
  • Run pyvorin scan your_script.py to identify risks.