CinderX is a Python extension that improves the performance of the Python runtime.
CinderX is under active development. It is used in production at Meta for use-cases like the Instagram Django service. It is experimental for external users. New releases are published to PyPI on a weekly basis.
- JIT Compiler - Just-in-time compilation of Python bytecode to native machine code
- Static Python - A stricter form/subset of Python, for type safety and optimization
The codebase includes other features as well, such as a parallel garbage collector and a lighter weight implementation of Python interpreter frames. However these features are not compatible with the stock CPython runtime yet.
- Python 3.14
- GCC 13+ or Clang 18+
| Linux | macOS | Windows | |
|---|---|---|---|
| x86-64 | ✅ | ❌ | ✅ |
| aarch64 | ✅ | ✅ | ❌ |
pip install cinderxThe recommended way to start using the JIT is to do:
import cinderx.jit
cinderx.jit.auto()This will configure the CinderX extension to automatically compile Python functions to machine code. It will track what functions are called frequently and compile the hottest ones automatically.
See the JIT README for more details.
Cinder was a fork of the CPython runtime developed at Meta. It included runtime optimizations (e.g. JIT) and was specifically targeted at the Instagram Django codebase. For Python 3.10, Meta decided to turn it into a Python extension to improve compatibility with newer Python versions. This extension is now known as CinderX ("the X" is for "extension").
Historically, for Python versions 3.10 through 3.12, CinderX depended on patches to Meta's fork of the Python runtime. Python 3.14 is the first version of stock CPython that CinderX supports.
CinderX is MIT licensed, see the LICENSE file.
https://opensource.fb.com/legal/terms
https://opensource.fb.com/legal/privacy
Copyright © 2025 Meta Platforms, Inc.
