Introduction
Python is one of the most widely used programming languages today. It allows developers to write and run code quickly, making it well suited for building applications, automating processes, and supporting data and AI workloads. Its popularity is often attributed to its easy-to-understand syntax and large ecosystem of packages.
Increasingly, developers expect modern languages, consistent tooling, and the ability to move quickly using existing packages. Aligning these expectations with enterprise platforms can simplify onboarding and accelerate development. As developers enter this space, they also expect introductory blogs and resources, and this is the objective of this blog.
Python
Python’s ease of use and resulting popularity with developers has led to a rich ecosystem of packages that support modern development and data-driven workloads. For example, here are some commonly used packages and how they are used.
Structured data:
-
Pandas is used to read, transform, and work with datasets using dataframes
-
NumPy provides efficient array operations and underpins most numerical processing
-
SciPy extends this with more advanced statistical and scientific analysis
Machine learning workloads:
-
scikit-learn is used to train models and perform classification, regression, and clustering
-
XGBoost is commonly used for high-performance modeling on structured data
Development and analysis:
While this list is an introductory look at Python packages, the ones listed above are among the over 200 packages available through the Python AI Toolkit (PAIT), which provides access to curated Python packages for data processing, analytics, and AI workloads. The combinations are extensive, and the IBM Redbook on Python AI workloads for z/OS [1] provides a good example. IBM Redbooks are technical guides that cover IBM products and provide good resources for use cases such as this one. For example, the following bullet points are an extract from this IBM Redbook.
-
NumPy, SciPy, and scikit-learn for numerical computation and statistical analysis
-
Pandas, Jupyter, and JupyterHub for data processing and application development
-
Matplotlib and Cairo for visualization and graphics
-
XGBoost and Apache Toree for machine learning and integration with frameworks such as Spark
This list gives a small window into the possibilities with Python. The same capabilities can be used to automate and manage workflows. For example, developers often use Ansible, which is run on Python as its execution layer and allows these operations to be defined as repeatable tasks. This can include automating system processes, managing datasets, or orchestrating workloads. These examples highlight why Python is often the language of choice given the seemingly endless possibilities with this developer-friendly language.
Python on z/OS
z/OS plays a critical role in supporting many enterprise use cases in industries such as banking, insurance, healthcare, and government. Due to the reliability of z/OS, it handles and stores data, transactions, and workloads around the world, there is a lot of excitement around combining z/OS with this modern language.
Increasingly, there is an opportunity to enhance enterprise processes by adopting modern, easy-to-read languages such as Python. Often, the information and transactions remain on the platform and can be leveraged for automation and analysis that inform decision-making. Moreover, there are emerging opportunities that couple this data with machine learning to help spot trends and develop new AI tools. See this IBM resource for examples of some documented solutions.
Python makes it possible to build on these existing workloads without replacing them, extending how enterprise systems are used today. To explore how these capabilities are applied in practice on z/OS, see the Unlocking Value: Key Features and Benefits of Python on z/OS blog.
Resources:
For more information and to explore Python on z/OS further: