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
Comprehensive Cybersecurity to Safeguard Your Organization | SOCRadar Icon
Comprehensive Cybersecurity to Safeguard Your Organization | SOCRadar

See what hackers already know about your organization – and stop them from getting in.

Protect your organization from cyber threats with SOCRadar’s cutting-edge threat intelligence. Gain 360° visibility into your digital assets, monitor the dark web, and stay ahead of hackers with real-time insights. Start for free and transform your cybersecurity today.
Free Trial
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

Python, C++

Related Categories

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

Registered

2012-11-11