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
Level Up Your Cyber Defense with External Threat Management Icon
Level Up Your Cyber Defense with External Threat Management

See every risk before it hits. From exposed data to dark web chatter. All in one unified view.

Move beyond alerts. Gain full visibility, context, and control over your external attack surface to stay ahead of every threat.
Try for 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