actions / setup-python

Set up your GitHub Actions workflow with a specific version of Python
MIT License
1.74k stars 549 forks source link

Fetching Python version from Pipenv's `Pipfile` #574

Open kalrish opened 1 year ago

kalrish commented 1 year ago

Description: The Python version to set up may be specified with the input python-version-file. As I submit this feature request, this input expects a file containing only the Python version, as used by pyenv. I propose that the feature be extended to support the TOML key requires.python_version in Pipenv's Pipfile.

542 has been submitted as a similar request for pyproject.toml, another file in TOML format.

Justification: Dependencies of Python apps not meant to be distributed are often managed with Pipenv, which is developed and maintained by the Python Packaging Authority (PyPA) and their documented tool. Pipenv allows to specify the oldest Python version the app requires in the Pipfile.

The action setup-node, too, can load the Node.js version to set up from a variety of files. It, however, supports not just files containing only the Node.js version, like .nvmrc and .node_version, but also the structured format of package.json.

Are you willing to submit a PR? Yes, I am. If you want me to contribute the described functionality, please let me know of any preferences regarding TOML libraries.

MaksimZhukov commented 1 year ago

Hello @kalrish! Thank you for reporting this! We'll consider updating the parsing logic for the python-version-file input.

kalrish commented 1 year ago

Thank you, @MaksimZhukov. If you decide to accept this feature, I would be glad to implement it for you, or at least try. In any case, I wish you a good start into the new year :). Take care!

Crono1981 commented 1 year ago

This would be a most welcome addition.

WieeRd commented 9 months ago

Similar to this, pyproject.toml support would be also nice. The project.requires-python key contains Python version requirement.

[project]
requires-python = ">=3.11"