We want to make contributing to this project as easy and transparent as possible.
... (in particular how this is synced with internal changes to the project)
We actively welcome your pull requests.
- Fork the repo and create your branch from
main. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes.
- Make sure your code lints (see Lint + Pyre section below).
- If you haven't already, complete the Contributor License Agreement ("CLA").
In order to accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open source projects.
Complete your CLA here: https://code.facebook.com/cla
We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue.
Facebook has a bounty program for the safe disclosure of security bugs. In those cases, please go through the process outlined on that page and do not file a public issue.
TorchX uses uv for dependency management:
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies (creates .venv automatically)
uv sync --extra dev
# Run commands via uv
uv run pytest
uv run torchx --helpLint and type checking can be run via lintrunner:
uv run lintrunner init # Sets up pyre
uv run lintrunner -aOr activate the venv first:
source .venv/bin/activate
lintrunner init
lintrunner -aBy contributing to TorchX, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree.