feat: re-install dev package on setup file changes#187
feat: re-install dev package on setup file changes#187
Conversation
This change enables tracking changes in setup files so that the dev package can be re-installed if needed, when the -s option is passed to the run command.
|
|
||
| DEFAULT_RIOT_PATH = ".riot" | ||
| DEFAULT_RIOT_ENV_PREFIX = "venv_py" | ||
| SETUP_FILES = ["setup.py", "pyproject.toml"] |
There was a problem hiding this comment.
Good question. I think pip looks for just setup.py and/or pyproject.toml, but setup.cfg should probably be hashed as well, if present 🤔
There was a problem hiding this comment.
do we want to add setup.cfg here? probably a good idea since it can contain install/build requirements
... would that mean we also care about requirements.txt? or any variation of those?
brettlangdon
left a comment
There was a problem hiding this comment.
should we just fail instead if -s is passed and we noticed a change?
what about c-extensions? we would definitely want to rebuild in those cases?
would this become any easier if we removed -s and made that the default behavior? e.g. riot run <venv> would only build the base venv if it doesn't exist, otherwise you use riot generate or can pass in an explicit option like riot run --rebuild?
|
|
||
| DEFAULT_RIOT_PATH = ".riot" | ||
| DEFAULT_RIOT_ENV_PREFIX = "venv_py" | ||
| SETUP_FILES = ["setup.py", "pyproject.toml"] |
There was a problem hiding this comment.
do we want to add setup.cfg here? probably a good idea since it can contain install/build requirements
... would that mean we also care about requirements.txt? or any variation of those?
|
|
||
| DEFAULT_RIOT_PATH = ".riot" | ||
| DEFAULT_RIOT_ENV_PREFIX = "venv_py" | ||
| SETUP_FILES = ["setup.py", "pyproject.toml"] |
There was a problem hiding this comment.
| SETUP_FILES = ["setup.py", "pyproject.toml"] | |
| SETUP_FILES = ["setup.py", "pyproject.toml", "setup.cfg"] |
This change enables tracking changes in setup files so that the dev package can be re-installed if needed, when the -s option is passed to the run command.