Why do we think we need to release beman-tidy as a Python package?

Why do we think we need to release beman-tidy as a Python package?

It was suggested we can release beman-tidy 1.0 as a Python package. We already have uv support to build and install the tool.

Approaches:

v1: We don’t actually build the tool, we use a commit sha instead + repo URL ( GitHub - bemanproject/infra: Internal Beman Project infrastructure repo ).

v2: We build and release the tool, we can install it via pip.

My understanding is that to run under pre-commit, we need version 1. For also allowing library authors to access full params (e.g., –require-all where we want, or –checks to run a subset of checks), we may need version 2. Probably, the pre-commit can also use the installable version.

I’m just trying to collect some info to check if we need both versions, or just one.

CC: @project-leads @rishyak @vickgoodman

I assumed the thinking here was to enable pip install since that’s how python users typically get new python things – and sure pre-commit could be a user.

fyi: I moved the category of the post to infra.

1 Like

If you want to create a tool that people use, you need to give them options to use it. Forcing them to clone your repo, set up an environment, build it, and install it themselves is not the best way to build and ship software. Ideally, you want to publish it to PyPI.

Furthermore, I don’t think using git SHA is the best approach. If anything, it should be git tag, just like how all beman pre-commit-config.yaml files do.

1 Like

I’m flexible on the timing, but when it happens the usage for beman-tidy would be:

  1. Configure uv. Link to its docs.
  2. Run uvx beman-tidy

I think that’s hard to argue against for developer experience.

1 Like