Skip to content

Migrate to PEP 517/660 by adding pyproject.toml and replacing legacy setup.py develop #861

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
5 tasks
Eeshu-Yadav opened this issue Apr 15, 2025 · 13 comments

Comments

@Eeshu-Yadav
Copy link

Eeshu-Yadav commented Apr 15, 2025

Summary

The current installation method relies on the legacy setup.py develop for editable installs. This approach is deprecated and will be removed in future versions of pip (starting with pip 25.1).

Suggested Fix

Migrate the project to use pyproject.toml with PEP 517 and PEP 660, which supports modern editable installations using pip install -e ..

Tasks

  • Create a pyproject.toml with the build system and project metadata.
  • Define core and optional dev dependencies in pyproject.toml.
  • Ensure compatibility with existing requirements.txt and tox.ini.
  • (Optional) Deprecate or remove setup.py after migration is stable.
  • Test installation using pip install -e .[dev] --use-pep517.

Benefits

  • Ensures future compatibility with pip and setuptools.
  • Aligns the project with modern Python packaging standards.
  • Makes contributing and local development more consistent.

References


Happy to help with a PR if needed!

@Eeshu-Yadav
Copy link
Author

@Bischoff can i work on this , if there is any good first issues , i would be loved to take that.

@Bischoff
Copy link
Contributor

@Eeshu-Yadav first, a word of caution: if you plan to apply for the Linux Foundation mentorship projects, be aware that contributing to the project will bring you no advantage with respect to the other candidates.

We have seen last year candidates investing some time in the project, and then getting disappointed they did not get selected. Don't do that. If you do a PR, do it only for your own fun and for the sake of the project, there's no reward.

Second, thanks for the issue. I am a python noob and don't understand the technical details, nor how difficult it is to do what you suggest. Maybe @aazam-gh has a better grip than me. But modernizing the framework seems very legitimate to me.

Technically, after a build done with your PR, the packaging workflow must still be working. The packaging code resides at https://github.com/mfcloud/build-zvmsdk. If you need some changes to the spec files so the packaging still works after your changes, please coordinate with Aazam.

Ping @mfriesenegger for awareness.

@aazam-gh
Copy link
Contributor

@Eeshu-Yadav Thank you for raising this issue. This was a point of discussion last summer during the packaging of Feilong.
This by no means is a simple issue to solve. While migrating to PEP 517/660 is on the roadmap, we have to make sure that when using pyproject.toml the script files in our build-feilong repo for example for zvmsdk sles are updated as well.

This would require a lot of testing, particularly for all 3 of our major distributions (Ubuntu, SLES, RHEL). You are more than welcome to raise a PR with the updated pyproject.toml but bear in mind we would have to conduct rigorous testing in the build repo for the packages and test it on the z/VM. This would consume a lot of time, but would be incredibly beneficial in the long run.

@kairveeehh
Copy link

@Eeshu-Yadav first, a word of caution: if you plan to apply for the Linux Foundation mentorship projects, be aware that contributing to the project will bring you no advantage with respect to the other candidates.

We have seen last year candidates investing some time in the project, and then getting disappointed they did not get selected. Don't do that. If you do a PR, do it only for your own fun and for the sake of the project, there's no reward.

Second, thanks for the issue. I am a python noob and don't understand the technical details, nor how difficult it is to do what you suggest. Maybe @aazam-gh has a better grip than me. But modernizing the framework seems very legitimate to me.

Technically, after a build done with your PR, the packaging workflow must still be working. The packaging code resides at https://github.com/mfcloud/build-zvmsdk. If you need some changes to the spec files so the packaging still works after your changes, please coordinate with Aazam.

Ping @mfriesenegger for awareness.

hii @Bischoff , as someone interested in the project , both for contributing and under LFX , could you guide me on what is important in the proposal as PRs are not? It would be of great help.
thanks

@aazam-gh
Copy link
Contributor

@kairveeehh The first step would be to migrate the setup to the pyproject.toml

@Eeshu-Yadav
Copy link
Author

@aazam-gh working on that , will raise the pr soon

@aazam-gh
Copy link
Contributor

@Eeshu-Yadav please note that this will not affect your mentorship selection.

@kairveeehh
Copy link

@Eeshu-Yadav please note that this will not affect your mentorship selection.

Could you guide me over the things which would matter apart from the proposal?

@Bischoff
Copy link
Contributor

Could you guide me over the things which would matter apart from the proposal?

@kairveeehh Sorry for answering that late, I had 2 terrible weeks. The mentorship selection process is already closed. It has been done on the base of the resumes and cover letters (preselection), then with online interviews.

@Eeshu-Yadav if you are still interested in doing a PR, we would be glad to have one. And if you don't have the time, it's okay too, It was nice to describe accurately this issue in a card. Thank you!

@kairveeehh
Copy link

Could you guide me over the things which would matter apart from the proposal?

@kairveeehh Sorry for answering that late, I had 2 terrible weeks. The mentorship selection process is already closed. It has been done on the base of the resumes and cover letters (preselection), then with online interviews.

No worries , thanks for the reply!
Any heads up for the next season of LFX would be helpful and the project in general does interest me and would love working on it .
Interview based selection is new to me could you refer me some reading sources over it or any thing that could help?

@Eeshu-Yadav if you are still interested in doing a PR, we would be glad to have one. And if you don't have the time, it's okay too, It was nice to describe accurately this issue in a card. Thank you!

@Bischoff
Copy link
Contributor

No worries , thanks for the reply! Any heads up for the next season of LFX would be helpful and the project in general does interest me and would love working on it .

I wish you good luck for next year!

Interview based selection is new to me could you refer me some reading sources over it or any thing that could help?

It's just standard face-to-face job interviews, but over video.

https://en.wikipedia.org/wiki/Online_interview

@Eeshu-Yadav
Copy link
Author

Eeshu-Yadav commented May 26, 2025

@Bischoff will work on it

@aazam-gh
Copy link
Contributor

@Eeshu-Yadav I'm happy to assist you with this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants