Skip to Main Content
IBM Z Software


This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Planned for future release
Created by Guest
Created on Sep 2, 2025

Make output of sysconfig.get_platform() more generic

"sysconfig.get_platform()" returns "os390-29.00-3931", which is problematic for distributing Python packages (.whl) as it means if a system is a on slightly different machine or older z/OS version it will be unable to install on that system and will only install on the build system if it's a python package that is not "pure" (which means it contains something like C code). If you build a python package with the os390 tag it will complain, because it compares it with sysconfig.get_platform():
ERROR: pysear-0.3.0-cp313-cp313-os390.whl is not a supported wheel on this platform.

If you run sysconfig.get_platform() on Linux it will return something like "linux-x86_64" which is more generic and will allow for a more portable build. Windows also gives a more generic response:
"win-amd64"

I would consider this a bug since every other platform does this differently and since this requires you to do these workarounds that are cumbersome and not best practice:
- Setting root to pure (this is not a good idea since it's effectively lying about what the package contains, root_is_pure indicates that there is no C or Rust code in the package)
- Renaming the package to achieve the same thing as setting root_is_pure to true (this is again also lying and not best practice)

I ran into this issue because I built a package on a system that returned os390-29.00-3932 and it wouldn't work on a system that returned os390-29.00-3931 (despite being same hardware generation, both z16 machines from what I understood).

Other information:
- Both build and install system were on z/OS 3.1 and were z16 machines
- This is an issue in both Python 3.12 and Python 3.13

This causes issues with PyPi.org because it doesn't understand tags like os390-29.00-3932 and os390-29.00-3931, so you can't release z/OS open source software on PyPi if it contains C code or other compiled code, or distribute it to a machine with a slightly different hardware revision. I think sysconfig.get_platform() should be changed so it returns something more generic like "os390_zarch", "os390_s390", or "os390".

Idea priority Medium