#68218 closed enhancement (wontfix)

py-nodeenv: rename to "nodeenv", dropping the "py-" prefix

Reported by: gwerbin (Greg Werbin) Owned by: reneeotten (Renee Otten)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: py-nodeenv

Description (last modified by ryandesign (Ryan Carsten Schmidt))

The nodeenv tool is primarily a CLI tool as per its documentation, and does not appear to offer a public Python API. ​https://ekalinin.github.io/nodeenv/

Therefore it seems like it should be renamed to "nodeenv", deprecating "py-nodeenv" and its subports.

(This was a copy-paste of my other ticket for py-csvkit, #68216. Hopefully that's OK. I would like to start contributing these changes myself soon!)

Change History (5)

comment:1 Changed 14 months ago by reneeotten (Renee Otten)

Cc: reneeotten@… removed

It is certainly possible that it's primary intended use is as a CLI tool. However, in this case the pre-commit package depend on it and uses it as a Python module. That is the reason it is a pyXY-nodeenv port and thus I will not change it. You can certainly use it as a CLI tool and install, for example, the py311-nodeenv subport; the CLI tool will be installed as nodeenv-3.11 suffixed by the Python version. That allows to install it for different Python versions side-by-side.

I guess one could circumvent potential issues by making sure that the Python versions for pre-commit and the nodeenv port are always the same. But then again, it works perfectly fine as is and I see no reason for a change. Your thoughts?

comment:2 Changed 14 months ago by reneeotten (Renee Otten)

Owner: changed from reneeotten@… to reneeotten

comment:3 Changed 14 months ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

comment:4 Changed 14 months ago by gwerbin (Greg Werbin)

Thanks for the response.

I looked into how Pre-commit uses it and it seems like it's a gray area. They do only use it as a CLI tool, but they take pains to ensure that it always runs with the same Python executable as Pre-commit itself: https://github.com/pre-commit/pre-commit/blob/84f91646bbfb38cd58d56a0f192a05d42b9cdab5/pre_commit/languages/node.py#L86

Therefore Nodeenv itself is only ever used as a CLI tool, but the way they're using it, it does look like you do need the version-specific subports. So yes, it sounds like my request isn't actually a good idea. I don't know if there's a Trac feature to mark this ticket as closed/wontfix, but feel free to do so.

However, a nodeenv_select package might be nice to provide a plain nodeenv executable without the version suffix.

Last edited 14 months ago by gwerbin (Greg Werbin) (previous) (diff)

comment:5 Changed 14 months ago by reneeotten (Renee Otten)

Resolution: wontfix
Status: assignedclosed
Note: See TracTickets for help on using tickets.