PyPortfolioOpt icon indicating copy to clipboard operation
PyPortfolioOpt copied to clipboard

[MNT] remove `requirements.txt` and move `setup.py` to `pyproject.toml`

Open tschm opened this issue 1 month ago • 3 comments

Remove requirements.txt Remove setup.py

tschm avatar Nov 09 '25 09:11 tschm

I quite like keeping requirements.txt simply for ultimate backwards compatibility. pip install -r requirements.txt will always work!

robertmartin8 avatar Nov 09 '25 16:11 robertmartin8

pip install -r requirements.txt is dangerous. It assumes there is a global pip and would install those dependencies defined in requirements.txt straight in a global python setup which is ultimately the source of most Python pain. In today's world there is little need for something like requirements.txt, see in this context: https://gary-badwal.medium.com/is-requirements-txt-becoming-obsolete-509eab442bdf

I tend to define make install where under the hood I install uv/uvx and setup the virtual environment based on what's defined in pyproject.toml and uv.lock. Having only one place where dependencies are defined is a robust simplification. Same applies to setup.py --- great tools of the past...

tschm avatar Nov 10 '25 05:11 tschm

Sorry, @robertmartin8, I did not see this - I will open a PR to restore it.

Although my vote would also be for removal.

fkiraly avatar Nov 14 '25 23:11 fkiraly