Thank you for your interest in contributing to CUDA Python! Based on the type of contribution, it will fall into two categories:
- You want to report a bug, feature request, or documentation issue:
- File an issue describing what you encountered or what you want to see changed.
- The NVIDIA team will evaluate the issues and triage them, scheduling them for a release. If you believe the issue needs priority attention comment on the issue to notify the team.
- You want to implement a feature, improvement, or bug fix:
- Please refer to each component's guideline:
This project uses pre-commit.ci with GitHub Actions. All pull requests are automatically checked for pre-commit compliance, and any pre-commit failures will block merging until resolved.
To set yourself up for running pre-commit checks locally and to catch issues before pushing your changes, follow these steps:
- Install pre-commit with:
pip install pre-commit - You can manually check all files at any time by running:
pre-commit run --all-files
This command runs all configured hooks (such as linters and formatters) across your repository, letting you review and address issues before committing.
Optional: Enable automatic checks on every commit If you want pre-commit hooks to run automatically each time you make a commit, install the git hook with:
pre-commit install
This sets up a git pre-commit hook so that all configured checks will run before each commit is accepted. If any hook fails, the commit will be blocked until the issues are resolved.
Note on workflow flexibility
Some contributors prefer to commit intermediate or work-in-progress changes that may not pass all pre-commit checks, and only clean up their commits before pushing (for example, by squashing and running pre-commit run --all-files manually at the end). If this fits your workflow, you may choose not to run pre-commit install and instead rely on manual checks. This approach avoids disruption during iterative development, while still ensuring code quality before code is shared or merged.
Choose the setup that best fits your workflow and development style.
This repository implements a security check to prevent the CI system from running untrusted code. A part of the security check consists of checking if the git commits are signed. Please ensure that your commits are signed following GitHub’s instruction.
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.