deps: make socks and serial optional
Do you want to remove them from the required packages in the pyproject.yml too? Maybe move them to a "all" group or similar? https://setuptools.pypa.io/en/latest/userguide/dependency_management.html#optional-dependencies
Yes, that would be great, to make most heavy deps actually install-time optional, not only runtime-optional. If possible, I would like to move there (apart from pysocks and pyserial): rpyc, requests, unicorn, capstone, colored_traceback and paramiko.
Hm, we should log the pip install pwntools[full] command and the exact missing library in the error message when users try to use such a feature.
To avoid confusion with the change of pip install pwntools not installing everything.
I would prefer pwntools[slim] to be without features, but it seems optional dependencies can only be positive.
Email z poniedziałku 21 sierpnia 2023 od peace-makera:
Hm, we should log the
pip install pwntools[full]command and the exact missing library in the error message when users try to use such a feature.To avoid confusion with the change of
pip install pwntoolsnot installing everything.-- Reply to this email directly or view it on GitHub: https://github.com/Gallopsled/pwntools/pull/2245#issuecomment-1685430461 You are receiving this because you authored the thread.
Message ID: @.***
-- Wysłane z mojego urządzenia Sailfish
The typer package now provides a typer-slim package which doesn't contain heavy dependencies.
https://github.com/tiangolo/typer?tab=readme-ov-file#typer-slim
Maybe that is an option.
Okay, maybe it would be doable, but not in this release. I would be happy to already have the deps de facto optional (i.e. pwntools not breaking if something from this list is missing) though.