Hi Georgi,
You ask a difficult question, and figuring out a good answer here is a challenge but I'll see if I can give a partial answer and maybe we have a few others chime in with their perspective as well.
Regarding Python (and this is true for Node.js, javascript, Go, and other architecture independent languages) while the arch-independent code is usually perfectly compatible on multiple architectures, any program written in those languages may call out to other programs, some of which may be realized in arch-dependent code. We have had many cases of a npm package calling off to an Intel binary by default, and the package author never thought of multiple instruction set architectures. As a result, those will often fail completely, much like your first point. For Linux on Power, my team takes input on what packages need to be ported and we typically identify all dependencies, and find a solution which allows the package - and all of its dependencies - run on Power. However, the result is that no matter which OS running on Power, that particular application may not have been ported to Power and may not be supported by the upstream community.
So, regarding your point #1, you are correct, and often we need to be aware of exactly what is not working, including a github URL for the package(s) that you are interested in. In this case, the "solution" is to raise a request with us to port the package and we prioritize and complete the port as we can, with a focus on business priorities.
For your second question, you are most likely correct that supported versions of, ,say, Python, may be different across IBM i, AIX and Linux on Power. For Linux on Power (my area) we focus on parity with Intel in terms of packages supported as much as possible. However, with 54 million projects on GitHub, you can guess that we haven't looked at all (or most!) of them. In fact, we've ported somewhere between 30,000-40,000 packages out of that 54 million. IBM i and AIX sometimes have different business values and prioritize their ports a bit differently than we do. But, for any given version of Python, the functionality for that version should be the same across all Power OS's. If there are versions that are not available on AIX or IBM i that you need, we can connect you with the right folks in IBM i or AIX to at least record your request and that team can prioritize appropriately. As far as I know, there is no comprehensive comparison of versions and modules or support matrix. However, the behavior within a given version should be identical - if not it is almost certainly a package or porting issue.
As far as pgadmin, I usually use
https://www.ibm.com/it-infrastructure/resources/power-open-source/ to search for packages. If I search for pgadmin there - and you can restrict to the Linux distribution of your choice) you'll find that pgadmin3 (and pgadmin4) is supported on Linux and there are links to help you find where that package is available from. I don't have any immediate insight if you were trying to port to AIX or IBM i, though and if that is your target we'll have to find someone else with an answer on those.
I hope that helps a bit!
------------------------------
Gerrit
------------------------------
Original Message:
Sent: Fri November 04, 2022 02:57 AM
From: Georgi Todorov
Subject: How the Python for Z and Power is different than the one for x86 ?
Hello,
How the Python for Z and Power is different than the one for x86 architecture ?
What I do know till now:
1. Some compiled (binary) drivers are not working. ( as the Postgres one )
2. Not all OS that run on IBM hardware have the same support of Python
3. I was not able to port pgAdmin from x86 to ppc64le
Do we happen to have any support or compatibility matrixes regarding the Python versions, libraries and behavior changes/features ?
Best regards,
Georgi
------------------------------
Georgi Todorov
------------------------------