-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature: Use pre-commit
in cookiecutters instead of direct dependencies on black
, isort
, etc.
#1405
Comments
pre-commit
in cookiecutters instead of direct dependencies on black
, isort
pre-commit
in cookiecutters instead of direct dependencies on black
, isort
, etc.
Using pre-commit to manage dependencies is a headache. There's no lock file, and since some package use others' internal names, pre-commit often unexpectedly fails when a new patch version changes something. |
@rafalkrupinski Thank you for bringing There is a significant cost to using the same lock file for the library dependencies as we use for all of the linter & dev tool dependencies. It results in all of these tools imposing version requirements that affect the entire library. This can make upgrading dependencies difficult or impossible. As for using Nix for tools managed by
In practice I haven't found |
Ah, sorry, I didn't mean to promote nix, I find it to heavy too. I only meant to point out problems that pop-out unexpectedly with pre-commit, and I just happen to know that link :) |
How about nox? |
@rafalkrupinski |
I agree with @WillDaSilva. Reproducibility and stability are desired properties for any workload, but I think we can tolerate a slight lack of both for linters in favor of avoiding dependency conflicts with actual package dependencies. Closed by #1648 |
Feature scope
Other
Description
Advantages
pre-commit
manage a virtualenv for each tool (see [Bug]: Incompatible isort and python version in cookiecutter template #1402)Disadvantages
poetry run isort
vspre-commit run isort --all-files
The text was updated successfully, but these errors were encountered: