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 v3.0:

* Fixed x64 pointer types.
* Added CI and unit tests.
* Cleaned up project structure and code formatting.
* Switch to C++11 std::mutex.

Features

  • Instantiate C++ classes in Python
  • Expose C++ objects to Python
  • Supports Python 2.x.x and 3.x.x
  • Supports 32-bit and 64-bit builds

Project Activity

See All Activity >

License

BSD License

Follow ECS:Python

ECS:Python Web Site

Other Useful Business Software
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

Build gen AI apps with an all-in-one modern database: MongoDB Atlas

MongoDB Atlas provides built-in vector search and a flexible document model so developers can build, scale, and run gen AI apps without stitching together multiple databases. From LLM integration to semantic search, Atlas simplifies your AI architecture—and it’s free to get started.
Start Free
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
1
1
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5

User Reviews

  • 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.
Read more reviews >

Additional Project Details

Operating Systems

Linux, Mac, Windows

Intended Audience

Developers

Programming Language

C++, Python

Related Categories

Python Software Development Software, Python Code Formatters, C++ Software Development Software, C++ Code Formatters

Registered

2012-11-11