pypa / flit

Simplified packaging of Python modules
https://flit.pypa.io/
BSD 3-Clause "New" or "Revised" License
2.14k stars 130 forks source link

Is `flit install` still necessary? #670

Open JulienPalard opened 7 months ago

JulienPalard commented 7 months ago

It looks like flit install has been introduced to allow easy development, back when pip install --editable . was not working with pyproject.toml based packaging.

Today pip install --editable . works and it feels like flit install is no longer needed, am I wrong?

I fear new users may not understand why flit install exist, and use it "just because the README tells so", adding a bit of unnecessary obscurity on this already complicated topic. Also this confusion may push them to think they need "one tool to do everything from venv creation to dependency solving" instead of "tools that do one thing and do it well". Showing them that pip install . and pip install -e . "naturally" works would be nice from this point of view.

In order to keep flit simple (for maintainers too!) should flit install be slowly deprecated? Maybe at first by replacing it from the README by pip install --editable .?

Or an I missing something?

takluyver commented 7 months ago

Good question! flit install is kind of hanging around because I, and a few other people (see discussion on #522) prefer doing editable installs with symlinks (flit install --symlink) to the way standardised editable installs (pip install -e .) work. If that doesn't matter to you, feel free to just use pip.

One thing I've considered is making flit symlink a separate subcommand, and then deprecating flit install. This would actually be going back to a much earlier CLI design. :shrug:

You can also argue that most of the Flit CLI is redundant with tools like build and twine, so maybe we should get rid of all of it. But sometimes it's convenient to have these operations grouped together this way.