zowe / zowe-client-python-sdk

Eclipse Public License 2.0
36 stars 26 forks source link

Investigate migrating from setup.py to pyproject.toml #292

Open t1m0thyj opened 1 week ago

t1m0thyj commented 1 week ago

Using setup.py for packaging Python projects is no longer recommended. We should investigate switching to pyproject.toml instead (the Secrets SDK already does but other SDKs still use setup.py).

For more details see https://venthur.de/2022-12-18-python-packaging.html

Also maybe we could investigate using uv instead of pip - it's written in Rust and much faster 😋

github-actions[bot] commented 1 week ago

Thank you for raising this enhancement request. The community has 90 days to vote on it. If the enhancement receives at least 5 upvotes, it is added to our development backlog. If it receives fewer votes, the issue is closed.

traeok commented 6 days ago

Here's some more info from the Python packaging team on use of setup.py: https://packaging.python.org/en/latest/discussions/setup-py-deprecated/#is-setup-py-deprecated

Looks like setup.py itself is not deprecated, but rather its usage as a command-line tool. Not sure if this will affect priority, but there's some useful suggestions in that link for replacing its usage.

t1m0thyj commented 6 days ago

This may lower the priority, since we don't instruct users to run the setup.py command-line tool.

We do however use it in our script that builds the SDK packages: https://github.com/zowe/zowe-client-python-sdk/blob/9c6338b7ec9288d6c4e5c9f657b075e08f13528e/build.sh#L15

Perhaps we can replace this shell script with an enhancement to the Octorelease Python plug-in 😅