
Description
Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.
SKILL.md
Linting and Formatting
Running the Formatter
Run before opening a PR:
# Check mode (no changes applied)
BASE_REF=main CHECK_ONLY=true SKIP_DOCS=false bash tools/autoformat.sh
# Fix mode
BASE_REF=main CHECK_ONLY=false bash tools/autoformat.sh
Tools invoked: black, isort, pylint, ruff, mypy.
Import Ordering
After editing imports in any Python files, always run uv run isort on those
files before committing:
uv run isort <file1>.py <file2>.py
Setting Up the Linting Group
Inside the container:
uv sync --locked --only-group linting
This installs ruff, black, isort, pylint — the same tools used by
tools/autoformat.sh and CI's linting job.
Code Style Rules
- Type hints: required on all public API functions. Use
X | None, notOptional[X]. - Docstrings: Google-style on all public classes and functions.
- Naming: follow Python conventions —
snake_casefor functions and variables,PascalCasefor classes. - Line length: 119 characters (configured in
pyproject.toml). - No bare
except: always catch specific exception types.
More skills from the Megatron-LM repository
View all 13 skillsmcore-build-and-dependency
manage Megatron-LM development environments
Jul 14ContainersDeploymentPythonmcore-bump-base-image
update NVIDIA PyTorch base images
Jul 14CI/CDDeploymentmcore-cicd
manage CI/CD pipelines for Megatron-LM
Jul 14CI/CDDeploymentGitHubmcore-create-issue
investigate CI failures and create issues
Jul 14DebuggingGitHubTriagemcore-migrate-gpt-to-hybrid
migrate Megatron-LM models to HybridModel
Jul 17Machine LearningMigrationNVIDIAmcore-onboard-gb200-1node-tests
onboard functional tests for GB200
Jul 14QATesting
More from NVIDIA
View publishernemoclaw-user-guide
retrieve NemoClaw documentation and configuration
NemoClaw
Jul 20DocumentationMCPSearchmcore-run-on-slurm
launch distributed training jobs on SLURM
Megatron-LM
Jul 14DeploymentInfrastructuremcore-split-pr
split pull requests to reduce review load
Megatron-LM
Jul 14Code ReviewGitHubPull Requestsmcore-testing
run and manage Megatron-LM tests
Megatron-LM
Jul 14QATestingnightly-sync
manage nightly main-to-dev sync workflows
Megatron-LM
Jul 14AutomationCI/CD