fast01/ffpython — explained in plain English
Analysis updated 2026-08-15 · repo last pushed 2015-10-29
Add Python scripting support to a C++ game engine so designers can write game logic in Python.
Expose fast C++ computation functions to Python for a data analytics product.
Build a plugin system where users extend a C++ application by writing Python scripts.
Let Python code create and inherit from C++ classes registered as native Python objects.
| fast01/ffpython | abmfy/summertraining-homework | achanana/mavsdk | |
|---|---|---|---|
| Language | C++ | C++ | C++ |
| Last pushed | 2015-10-29 | 2022-07-11 | 2024-05-20 |
| Maintenance | Dormant | Dormant | Dormant |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 2/5 | 2/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires linking against Python 2.x libraries and a compatible Python installation on Windows or Linux.
ffpython is a tool that lets C++ programs and Python scripts talk to each other easily. If you have a C++ application and want to let it run Python code, or if you want to give Python access to fast C++ functions and objects, this library handles the messy translation work for you. The library works in two directions. First, a C++ program can reach into Python: it can read or change Python variables, and it can call Python functions, passing in numbers, text, and lists of data. Second, a C++ developer can register their own C++ functions and classes so that Python code can use them directly. Once a C++ class is registered, Python treats it like a native Python object, creating instances, calling methods, and even inheriting from it. C++ objects can also be passed into Python and manipulated there. When Python encounters an error, the library catches it and hands it back to C++ with a clear explanation of what went wrong. This would appeal to a game developer or a startup founder building a performance-critical application in C++ who wants to add scripting or plugin support. For example, a game engine written in C++ could expose its internals to Python so that level designers can write game logic in a simpler, faster-to-iterate language. A data analytics product could also let users write Python scripts that call into a C++ backend for heavy computation. What stands out is the simplicity of the setup. The entire library is contained in a single C++ header file, meaning you just drop it into your project and it works, no complex build configuration needed. It is also a thin wrapper around Python's own underlying API, so it adds very little overhead. One limitation to note: it currently supports Python 2.x across Windows and Linux, while Python 3 support is still being worked on, since the Python 3 API changed significantly between minor versions.
ffpython is a single-header C++ library that lets C++ and Python talk to each other in both directions, C++ can call Python code and Python can call registered C++ functions and classes.
Mainly C++. The stack also includes C++, Python.
Dormant — no commits in 2+ years (last push 2015-10-29).
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.