ECS:Python (Embedded C++ Scripting with Python) is a simple Python wrapper library designed specifically for C++ developers who wish to add Python scripting to their new / existing C++ projects. ECS:Python allows you to expose objects from a C++ application to an embedded Python interpreter for interactive scripting. ECS:Python is light-weight and easy to use.
To get started all you need to do from your project is #include "EcsPython.h", and link to the EcsPython library. Included with ECS:Python is a demo project (/example) written to assist developers in understanding how to use the API.
ECS:Python requires a Python distribution to be installed on your system. Python can be downloaded from: www.python.org/download
What's new in v2.8:
* Basic support for constructing C++ objects from Python
* __call__() returns a pointer to the C++ object
* Added support for void* arguments
* Fixed floating point argument bug
* Fixed char* return value bug
- Use C++ classes from Python
- Expose C++ objects to Python
- Supports Python 2.x.x and 3.x.x
It's working perfectly in 32bit projects, but not in 64bits projects... I think it has to do with the _Ecs_Expose_Object function: the Py_BuildValue needs an uppercase 'K' to work with unsigned long long values as a 64bit object pointer.
I'm not really sure why this project doesn't have more recommendations. I was looking for a lightweight and easy to use way of embedding a python interpreter into my C++ code, and I was about to bite the bullet and pull in boost to my project for boost::python. This was a much easier to manage solution and so far it's working great.