isamert / scli

a simple terminal user interface for signal messenger (using signal-cli)
GNU General Public License v3.0
439 stars 40 forks source link

Install using pip #129

Open dotlambda opened 3 years ago

dotlambda commented 3 years ago

It would be nice if it was possible to install scli using pip. You should create a setup.py.

exquo commented 3 years ago

That would be good!

The problem is the signal-cli dependency. Simply including its release binaries in the pip package will not work on many systems. For one thing, it requires compiling the native libraries (libzkgroup and libsignal-client) that signal-cli itself depends on. (They are included for x86_64 linux with recent enough glibc; currently this excludes Debian stable, see https://github.com/AsamK/signal-cli/issues/643). There are many other potential issues and incompatibilities that could arise on a given system configuration.

When software is packaged for easy installation, such as with pip, users can reasonably expect to be able to type pip install scli && scli and having everything to just work. I don't think we can guarantee that with the signal-cli requirement.


That being said, it might be worthwhile to package "the rest" of scli, so that users who already have signal-cli installed could install scli with just a call to pip. There's not much room to simplify the rest of the manual install procedure though, as it's currently just

git clone …/scli
pip install urwid
ln -s scli/scli ~/.local/bin  # or add to $PATH any other way

but there still might be some benefits from packaging (yet to be considered).


Any thoughts on resolving (or sidestepping) the above are welcome!

dotlambda commented 3 years ago

That being said, it might be worthwhile to package "the rest" of scli, so that users who already have signal-cli installed could install scli with just a call to pip.

That sounds perfectly reasonable!