repo_poetry - A wrapper for Poetry#
This pyproject.toml exists as a means to track our Poetry dependency within repo_man separate from the other libraries. Poetry is a heavy install and currently only used by the repo tools themselves, so there is no need for everyone to install Poetry all the time.
The pyproject.toml that sits next to this README enables repo
to install Poetry with the correct dependencies for your active interpreter version. The static vendor-requirements.txt
were generated against py37 and this static approach broke in 2024. The generated requirements_poetry.txt
exists to facilitate security scans.
How do I use this?#
As an example, the repo_man pyproject.toml
that sits in the root of this repository contains all of the 3rd party dependencies for repo_man. Executing repo.{sh,bat} poetry
in the root will cause repo_man to fire up a venv, by default at ${root}/.venv
, install Poetry and its dependencies in that sandbox, and then use Poetry to generate a requirements.txt
based off of your running Python interpreter and the dependencies in the pyproject.toml
.
This can also be used in other projects that enable repo_poetry in their repo.toml
config file. Those project’s pyproject.toml
will be ingested and a requirements.txt
spit out at ${root}/requirements.txt
. For now interpreter versioning isn’t factored into this, at some point we’ll support a matrix of Python interpreter and OS type requirements.txt
files.
TODO#
Include Python interpreter version for the generated
requirements.txt
Refactor all of this to not be proof of concept code
Tests?