Skip to content

Streamline contributing experience #5168

Open
@pmeier

Description

@pmeier

Related 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: Installs torch from nightlies and builds torchvision 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions