This readme is designed to help new users quickly understand, discover, and use optimized Python wheels for IBM Power (ppc64le) systems. Whether you are evaluating the ecosystem, setting up your environment, or building Python applications, this guide walks you step by step.
- Understand the Value - Why optimized wheels matter on IBM Power
- Check Compatibility - Architecture, processors, and Python versions
- Discover Available Wheels - Find packages and versions easily
- Install with pip - Use familiar workflows with DevPI
- Explore Examples - General usage applications
- Go Further - Build faster, easier and explore the Ecosystem
Python wheels (.whl) are prebuilt binary distributions that install directly with pip, without local compilation.
IBM's wheels are:
- Natively built on IBM Power (not cross-compiled)
- Optimized for AI, ML, and scientific computing
- Delivered through a DevPI repository that integrates seamlessly with pip
Before getting started, confirm your environment:
- Architecture: ppc64le
- Processors: Power9, Power10, Power11
- Python Versions: 3.9 - 3.13 (3.14 preview for few packages)
If your system matches the above, you're ready to proceed.
This is your main entry point for available optimized wheels:
👉 Wheel Repository (DevPI):
https://wheels.developerfirst.ibm.com/ppc64le/linux
ℹ️ Note: This page shows only the latest version of each package.
👉 Simple Index (All versions):
To view all available wheel versions for a package, refer to the Simple Index on the DevPI server, which provides the complete version history for that package.
📝 Note: Wheel Version Suffixes
IBM Power wheels use a version suffix (for example, ppc64le1) to identify build updates. When a wheel is rebuilt for the same upstream package version, the suffix is incremented (ppc64le2, ppc64le3, etc.). This allows incremental improvements while preserving the original upstream version number and clearly distinguishing updated builds.
To explore all available versions, Python compatibility, and licenses, use the indexes below:
- DevPiWheelsIndex.md - Full list of wheels with versions, build suffixes, licenses and associated CVEs
- Python version–specific indexes - Quickly filter wheels for:
- Python 3.9
- Python 3.10
- Python 3.11
- Python 3.12
- Python 3.13
- Python 3.14
The optimized wheel repository acts as a Power-aware extension to PyPI, allowing you to use standard pip install commands while automatically selecting compatible IBM Power wheels when available without requiring any changes to your existing Python tooling
Use --prefer-binary to prioritize prebuilt Power wheels:
pip install --prefer-binary <package-name> \
--extra-index-url=https://wheels.developerfirst.ibm.com/ppc64le/linux- This pulls from IBM's Power-optimized wheel repo.
- Any noarch dependencies will still come from PyPI.
👉 Browse Available Packages (Optional): Use devpi-client to explore the repository:
pip install devpi-client
devpi use https://wheels.developerfirst.ibm.com/ppc64le/linux
devpi list💡 Tip: You no longer need to set LD_LIBRARY_PATH when using Power manylinux wheels. Native dependencies are bundled automatically, so packages install cleanly and work consistently across Linux distributions such as SLES, Ubuntu, and RHEL.
📝 Note: Legacy wheels that do not support manylinux still require LD_LIBRARY_PATH to be set for correct execution.
-
If a package fails to install, try forcing binary wheels and disabling cache:
pip install --prefer-binary --no-cache-dir <package-name> \ --extra-index-url=https://wheels.developerfirst.ibm.com/ppc64le/linux
-
Ensure you're using the correct Python version.
python --version
-
If a package is missing, request it via IBM Power ISV ecosystem enablement form
-
Most Python packages (e.g., TensorFlow, PyTorch) ship as manylinux wheels, which include all required shared libraries so normally, you don't need to set LD_LIBRARY_PATH. If you installed a non-manylinux wheel, you might see errors like:
ImportError: libXYZ.so: cannot open shared object fileSet the path to your native libraries:
export LD_LIBRARY_PATH=/path/to/libs:$LD_LIBRARY_PATH
Use
ldd $(which python)orldd <binary>to check for missing .so files.
-
Always use a virtual environment. This isolates dependencies and ensures a clean setup.
python3.12 -m venv venv source venv/bin/activate -
Keep tools up to date:
pip install --upgrade pip setuptools
-
Use
--prefer-binaryto avoid unnecessary source builds.
Explore real-world examples built using Power-optimized wheels:
-
Package Index & Metadata:
-
General Usage Examples:
These examples demonstrate:
- Best practices for Power systems
- Practical usage of optimized libraries
By leveraging IBM Power - optimized python wheels, teams can:
- ⚡ Accelerate data analytics and ML pipelines
- 🧠 Improve deep learning and generative AI performance
- 🚀 Increase developer productivity by eliminating build-related issues
This curated ecosystem is continuously expanded based on real AI projects across the IBM Power ecosystem.
- 🔎 Browse available wheels → DevPI Repository
- 📦 Identify Python version specific packages → Wheel Indexes
▶️ Try examples → PyEco Examples- 🧪 Build and optimize your AI/ML workloads on IBM Power
Welcome to a faster, easier Python experience on IBM Power.