Streamline contributing experience
See original GitHub issueRelated to #5167.
The largest part of our contribution guidelines explain contributors how to work on torchvision
. Due to sheer amount of techniques and tools that can be quite overwhelming for a new contributor.
I’m going to use $TOOL
as a placeholder for what I imagine:
$TOOL install
: Installstorch
from nightlies and buildstorchvision
in the current environment$TOOL format
: Runs autoformatters$TOOL lint
: Runs linters$TOOL test
: Runs tests$TOOL docs
: Builds documentation
There are a couple of tools out there that do this. Of the top of my head we could use pydoit
, tox
, or simply make
. AFAIK, all of them allow parametrization of the top-level commands so we can provide sensible default while not losing flexibility. For example, $TOOL test
will run all tests by default, but dispatches additional arguments directly to pytest
.
I can do more in depth research about the tools and which would be the best fit for us if we see this proposal as net-benefit in general.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:1
- Comments:6 (2 by maintainers)
Top GitHub Comments
Abstracting these details away from contributors might lead to less understanding of how pieces fit together. Perhaps improving our contribution guidelines documentation can make things clearer while not requiring users to use a specific tool that hides the details away. Thoughts?
We would only have to parametrize the tools whereas we would need to implement the scripts ourselves. Plus, I see two more downsides: