Enduro/X for Python is the open source implementation of the X/Open Application-to-Transaction Monitor Interface (XATMI) APIs for Python 3 scripting language. It Python package which enables developers to create modular multi-processing style Python Enterprise systems. Its easy-to-use server architecture and high flexibility make Enduro/X an ideal choice for users just starting to build Real-time, high availability, high-performance cluster systems in Python programming language. It was never been simpler before to build multi-processing/multi-threaded/load balanced component-based real-time applications in Python. Currently in the market existing application servers for Python mainly are tended for web processing only, however, Enduro/X offers the use of the Python scripting language for building high-performance processing systems, such as financial transaction systems (card payment systems, payment gateways, payment fraud prevention software), Forex exchanges, IoT servers.
As the Enduro/X Core middleware is the same for C/C++, Go and Java, it is possible to effectively mix these four programming languages in a single application. Python module gives opportunity to expand already existing Enduro/X applications with the scripting interface introducing more dynamics for the application development and integration. As Python is one of the most popular programming languages, it comes with large availability of open-source projects and libraries, which can give a boost in the new product development process, while Enduro/X ensures that these components can work efficiently and fast.
Enduro/X Python module supports distributed transactions processing, it may orchestrate distributed transactions and in the case of using Oracle DB, change to data by the Python code may participate in the global transaction too.
The Enduro/X for Python product provides the following features for the system developers and integrators:
- Lightweight middleware, as the core is written in C, IPC calls are lighting fast.
- Full availability of the XATMI APIs.
- All XATMI buffers are mapped to dictionaries automatically, having a simple programming approach.
- The module supports the programming of XATMI servers.
- The module supports the programming of XATMI clients.
- The module provides a Common logging framework and has the same log file management as C/C++/Java/Go.
- The common configuration framework provides the same configuration format as for the C/C++/Java/Go.
- Full system and component monitoring.
- Benefit from Enduro/X Connect package for simple web and TCP/IP connectivity.
- Fully unit-tested library with all APIs documented.
- … and lot more features that come from Enduro/X core.