pybind11 VS nanobind

Compare pybind11 vs nanobind and see what are their differences.

pybind11

Seamless operability between C++11 and Python (by pybind)

nanobind

nanobind: tiny and efficient C++/Python bindings (by wjakob)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
pybind11 nanobind
42 11
14,741 2,028
1.7% -
8.7 9.6
6 days ago 4 days ago
C++ C++
GNU General Public License v3.0 or later BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

pybind11

Posts with mentions or reviews of pybind11. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-06.

nanobind

Posts with mentions or reviews of nanobind. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-20.

What are some alternatives?

When comparing pybind11 and nanobind you can also consider the following projects:

PyO3 - Rust bindings for the Python interpreter

awesome-cython - A curated list of awesome Cython resources. Just a draft for now.

Optional Argument in C++ - Named Optional Arguments in C++17

Nuitka - Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.

setuptools-rust - Setuptools plugin for Rust support

matplotlibcpp17 - Alternative to matplotlibcpp with better syntax, based on pybind

sol2 - Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:

epython - EPython is a typed-subset of the Python for extending the language new builtin types and methods

PEGTL - Parsing Expression Grammar Template Library

avendish - declarative polyamorous cross-system intermedia objects

sparsehash - C++ associative containers

warp - A Python framework for high performance GPU simulation and graphics