[EXP] Set up black and pre-commit hooks #680
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(To be fair, I don't see this getting merged =])
During the pycon sprints I used tox to set up the pre-commit checks (including formatting code with black). I really liked the experience because
pip install tox
and you're good to go, since tox will install all dependencies and build the package correctly.make test
(which install and runs tests outside of tox)A big change happening here is that the
sourmash
andsourmash_lib
dirs were moved intosrc
,This is similar to a shadow branch I did some time ago, inspired by this discussion (more info).
The main benefit is avoiding confusing about what
sourmash
module gets imported for tests. The drawback is that Rust also uses thesrc
dir for code, so now the Rust code and the Python code are mixed in the same dir... I would probably move the Rust code to another dir to avoid confusion.Also relevant: Maintaining a Python Project When It’s Not Your Job (video and slides)
TODO
Checklist
make test
Did it pass the tests?make coverage
Is the new code covered?without a major version increment. Changing file formats also requires a
major version number increment.
changes were made?