Skip to content

Support installing with pip #1

Open

Description

@balki
No description provided.

Activity

  1. ilyagr commented on Oct 16, 2025

    @ilyagr
    Contributor

    This can be done by having a structure similar to https://github.com/neongreen/jj-run (which, similarly to vimtabdiff, is actually a single-file script with no dependencies). That project can be installed with uv tool install git+https://github.com/neongreen/jj-run.git, or with pipx install git+https://github.com/neongreen/jj-run.git, or run with uvx git+https://github.com/neongreen/jj-run.git. As long as vimtabdiff continues to not have any dependencies, we could also document an alternative way of running it by downloading the file in the README.

    The one downside is that, AFAICT, the vimtabdiff.py script would have to be moved to a src/vimtabdiff dir from the root of thje repo.

    The key files in there are pyproject.toml and src/jj_run dir, everything else is optional I think. I believe it'd be easy to publish such a project to PyPi as well (so that uv tool install vimtabdiff or pipx install vimtabdiff worked), I could try to do that as well (and give you the authority over the resulting vimtabdiff package).

    I'm not a Python packaging expert, but I can try to learn to do this all with vimtabdiff. Or, if you prefer, you could try it. If you haven't used uv before, I recommend it, it's very good. See also https://docs.astral.sh/uv/guides/package/ (which I haven't fully read, will do it if you tell me that you're interested in me trying to do it).

  2. ilyagr commented on Oct 16, 2025

    @ilyagr
    Contributor

    My interest in this would be to make it easy for jj users to install vimtabdiff, and perhaps shipping a vimtabdiff config directly with jj. Currently, it's unclear whether such a config should invoke vimtabdiff via vimtabdiff, vimtabdiff.py, or python3 path/to/vimtabdiff.py.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions