IBM Open Enterprise SDK for Python enables application developers to use one of the fastest growing programming languages natively on the z/OS platform. With the latest release of Open Enterprise SDK for Python, IBM brings the popular Python open source language to help accelerate business transformation and modernization by enabling powerful frameworks for AI & ML, DevOps, and automation.
With Open Enterprise SDK for Python 3.12, IBM keeps current with the Python open source community. IBM Open Enterprise SDK for Python is a port of the open source Python Software Foundation (PSF) community. It is a 64-bit XPLINK application with enhancements for EBCDIC support. Included with the Open Enterprise SDK for Python offering are selected packages that are ready to use, including pip, pycparser, cffi, cryptography, and six.
To elaborate on some of the Python 3.12 community updates:
- New grammar features:
Syntactic formalization of f-strings , this means that the PEG parser will parse f-strings, just like regular Python code. The new implementation of f-strings lifts some restrictions that were added originally. Many of these restrictions were included to make f-strings easier to handle for external tools like IDEs and code highlighters. f-strings are now consistent with the rest of Python.
- Interpreter improvements:
Quickening happens faster in Python 3.12 as compared to Python 3.11, and the interpreter can now specialize many new bytecodes. There’s no separate quickening step any longer. In principle, all bytecode instructions are immediately ready for specialization.
- New typing features:
- Making the buffer protocol accessible in Python ; while implementing new “dunder” methods for objects that allow Python code to work with the buffer protocol. It is now easier to write objects in Python that expose their data buffers, instead of having to write those objects in C.
- Using TypedDict for more precise **kwargs typing.
- Type Parameter Syntax: provides a cleaner way to specify types in a generic class, function, or type alias.
- Override Decorator for Static Typing : You can use this decorator to mark methods in subclasses that override methods in the parent class. This feature is partly inspired by similar mechanisms in other languages like Java and C++. Using @override can help you avoid certain kinds of bugs, specially when you refactor your code.
- Important deprecations, removals or restrictions:
-
- disutils has been deprecated and setuptools is the strategic tool to use for package management
- asynchat, asyncore, ensurepip, imp packages have been removed in alignment with the the Python community’s deprecation
New features/updates for IBM Open Enterprise SDK for Python 3.12 from IBM include the following:
- Python 3.12 is eligible to execute on zIIP processors
-
- Leverage zIIP specialty processors to offload Python workloads that normally run on general processors, enabling the flexibility to deploy new Python workloads in tandem with existing workloads.
- Important deprecations, removals or restrictions:
-
Several use cases have emerged from early adopters of Open Enterprise SDK for Python, including the following:
- Modernization in place with the capability to develop APIs, plug-ins, and wrappers to extend business-critical applications using Python.
- Capability to port applications written in Python on other platforms to run on z/OS.
- Ability to empower developers to build artificial intelligence (AI) and machine learning (ML) workloads by using Open Enterprise SDK for Python in conjunction with the Python AI Toolkit for IBM z/OS. The Python AI Toolkit for IBM z/OS makes AI Python packages available on z/OS.
- Use of IBM Open Enterprise SDK for Python with Red Hat Ansible® Certified Content for IBM Z to leverage existing JCL, REXX, and z/OSMF assets in Ansible playbooks. This can streamline software deployments to z/OS in a hybrid IT environment.
- Use of IBM Z Open Automation (ZOA) Utilities with Open Enterprise SDK for Python to access MVS resources such as MVS commands like IEBCOPY, IDCAMS, and IKJEFT01 as well as performing several data set operations in Python.
- Development of new micro services with Open Enterprise SDK for Python.
- Development of new applications written in Python on z/OS.
With IBM Open Enterprise SDK for Python, IBM Z clients have the option to modernize existing applications to extend the value of those applications. By coding in the Python language, IBM Z clients can perform advanced analytics where the data is stored, streamline automation using Python with Ansible, and perform rapid prototyping, all while using the pervasive Python skills that are readily available.
Download and explore the latest IBM Open Enterprise SDK for Python release today!
How to obtain IBM Open Enterprise SDK for Python?
IBM Open Enterprise SDK for Python is available for no license charge through Shopz (5655-PYT) for the SMP/E format, or you can download the pax format here. Optional IBM Software Subscription and Support is available with your order through Shopz (5655-PYS).
Supporting Links:
IBM Open Enterprise SDK for Python product page. For additional information on installation, troubleshooting and packages included in this offering visit the IBM Documentation. Watch the demos and tutorials in the dedicated media center playlist.
Source for community related features: https://docs.python.org/3.12/whatsnew/3.12.html