Open matthewfeickert opened 3 years ago
I'll fill in the more later
Much later it seems :grimacing:
pre-commit
hooks and the pre-commit
and pre-commit.ci
frameworksWe've already covered this a bit in Issue #6 which you implemented in PR #7 (:rocke:), but pre-commit
hooks can be quite powerful and extensive for formatting code for you. I'll open up a PR that will add some more but using pre-commit
we can also offload most of our linting and formatting to pre-commit
.
Examples of tools:
pyupgrade
: A tool to automatically upgrade syntax for newer versions of the Python language.flake8
: Linting tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.isort
: sort imports.black
: Aggressive but most commond and useful Python code formatter.These can all be controlled through a pyproject.toml
file which gives option configurations. c.f. the section on pre-commit
in the Scikit-HEP developer guide for more information.
Hey @mihirkatare. I'm just going to be opening up a bunch of small Issues to get things going. :+1: To be clear, these are not things that I'm expecting you to have done or to be familiar with. These are just pieces of software development workflows that are good to try to structure projects like this around that in my experience as a Scikit-HEP developer have been helpful. Some of these things you already have various stages of familiarity with, so my putting them down here isn't to imply that you don't know them, but just to reinforce that they're important ideas. In the future we can also have some structured time where we do some shared programming together.
This Issue for the time being can be thought of as a running list of things that we can discuss and work on together:
main
and closing out an Issue. PR's are great places for communication to happen too!pyhf
does and implementing a "squash merging" approach (can find that under settings.) as I'd say that we value atomic PRs, but that we don't necessarily care about the debugging and messing around that had to happen in the PR to get there. I think this also motivates committing early and often. :+1:git glog
a lot.~/.ssh/config
to create customized ssh alaises for remotes we can walk through that, though this is a bit of a template (but probably needs more context).I'll fill in the more later, but we can start discussing things here and on Slack now.