reframe-hpc / reframe

A powerful Python framework for writing and running portable regression tests and benchmarks for HPC systems.
https://reframe-hpc.readthedocs.org
BSD 3-Clause "New" or "Revised" License
213 stars 98 forks source link

In favor of proper python packaging? #3194

Closed createyourpersonalaccount closed 1 month ago

createyourpersonalaccount commented 1 month ago

Hello,

After looking at your installation process, I've realized that you're using a bootstrap.sh script. Why aren't you bundling reframe with a pyproject.toml using setuptools?

For example, your bootstrap script is installing pip 3.6 no matter what, (but why? my pip worked just fine with requirements.txt.) The entry point is bin/reframe instead of a cli entry point in pyproject.toml

I'm willing to convert this project to a proper python package, but I'm asking ahead of time to know 1) if you are interested 2) if there's some technicalities to keep in mind that make the bootstrap script important

vkarak commented 1 month ago

There is a proper Python package if you like to use it: pip install reframe-hpc. We simply haven't switched from setup.cfg to pyproject.toml.

The bootstrap script offers a different method of installation and its purpose is to allow a sandboxed installation outside a virtual environment. It installs all dependencies in a directory in the installation prefix and the bin/reframe entry point makes sure to use this. It also allows us to run it on systems where pip is not available. Many users are using this method, so we are not planning to get rid of it.

createyourpersonalaccount commented 1 month ago

Hello @vkarak

Thanks for the clarification. I think it's fine then.