3 ms·
To a point. Poetry still isn't fully in board with being a project manager, it focuses too much on packaging. For example it doesn't do project scripts like nom
by scrollaway 7y ago
To a point. Poetry still isn't fully in board with being a project manager, it focuses too much on packaging. For example it doesn't do project scripts like nom scripts.
- williamdclt 7y agoTo be fair, NPM really doesn't do a great job at project scripts
- xkcd-sucks 7y agoIt doesn't support shell scripts which kind of sucks, but could be reasonable if it is expected to run on windows as well as posix. This is the scripts section from one project I used Poetry in. It seems to be fine for most things, even though the focus on managing a python module for publication is a little bit annoying. Once or twice I've run into version resolution troubles, but generally it's stable and much more ergonomic+easier to explain than pip+venv. One can of course use `poetry run pip freeze` to generate the standard `requirements.txt` file [tool.poetry.scripts] # NB: Poetry won't run arbitrary callables, so these are wrapped in a python script. # Poetry needs the root dir to be a package (e.g. module `my_repo` must exist) in order to run scripts # So they are just shoved into a dummy "my_repo.py" instead of going in e.g. "scripts.py" # Adds Git hooks from `git_hooks` path (overwrites existing!) hookup = "my_repo:hookup" # Run formatter+linter, does not modify anything, errors if fail lint = "my_repo:lint" # runs `black` (formatter), modifies stuff format = "my_repo:format" # A list of files which failed linting. Most helpful with flake8 vim integration https://github.com/nvie/vim-flake8 lintyfiles = "my_repo:lintyfiles" # unit tests utest = "my_repo:utest" # unit + integration tests in container citest = "my_repo:citest" cutest = "my_repo:cutest"