The OpenMP® Architecture Review Board (ARB) has formed the OpenMP API Python Language Subcommittee to define how OpenMP directives can be supported in Python, bringing the world’s most widely used parallel programming API to the world’s most popular programming language. The goal is to include Python support in the OpenMP API 7.0 specification, planned for 2029.

Why Python? Why Now?

Python is the dominant language in artificial intelligence, machine learning, data science, and scientific computing. It’s typically the first language many students learn and is widely used by researchers and engineers across nearly every technical domain.

Yet Python lacks a standardized approach to shared-memory parallelism. While there are several options for parallel execution in Python, such as multiprocessing, Cython, Numba, Dask, and other tools, the result is a fragmented ecosystem with differing programming models, inconsistent semantics, and portability tradeoffs. Meanwhile, Python’s role in HPC continues to  grow, with frameworks like NumPy and PyTorch already using OpenMP under the hood, but giving Python programmers only limited direct control over that parallelism.

A key technical shift makes this effort timely. Python 3.13 introduced a free-threaded build that disables the Global Interpreter Lock (GIL), enabling true parallel execution within a single interpreter for the first time. As libraries and extensions increasingly adopt free-threaded Python, developers will need a clear, portable programming model for composing, expressing, and exploiting shared-memory parallelism.

OpenMP brings more than two decades of experience in this area, with well-established mechanisms for shared-memory parallel programming. Compiler technologies such as Numba and LLVM and projects such as PyOMP and OMP4PY have already demonstrated that OpenMP-style directives can work effectively in Python, providing valuable proof-of-concept groundwork for this effort.

The vision is to bring the OpenMP API’s proven, directive-based model to Python so that developers can express parallelism clearly and portably. The subcommittee’s goal is to build on this foundation and deliver a standardized model rather than leaving the community with competing, incompatible approaches.

About the Subcommittee

For over 25 years, the OpenMP API has been the standard for shared-memory parallel programming in C, C++, and Fortran. The OpenMP Python Subcommittee extends that mission to Python.

The subcommittee is chaired by Giorgis Georgakoudis. Among its founding members is Anaconda, which joined the ARB specifically for this effort—a strong signal of standardized parallelism in Python. The subcommittee will publish technical reports as the design takes shape. The 2029 target for OpenMP API 7.0 provides room to be thorough, to solicit broad community feedback, and to iterate on the design before it becomes part of the standard.

Get Involved

Adding Python to the OpenMP family is a natural development. Python is too important, and the need for it to have clean, standardized, parallelism support is too pressing to ignore. If your organization has a stake in Python’s future in parallel computing, visit openmp.org/join to learn about membership in the OpenMP ARB to participate in the OpenMP Python Language Subcommittee.