* chore: misc cleanup * feat: add pre-commit config * chore: update lint dependencies * style: fix lint issues * feat: add pre-commit hooks * fix: fix typos * chore: update .gitattributes * [Lint]: [pre-commit.ci] auto fixes [...] * docs: update CONTRIBUTING.md * chore: update default venv name * chore: revert and exclude CUDA files --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
3.0 KiB
Contributing
That would be awesome if you want to contribute something to TileLang!
Table of Contents
- Report Bugs
- Ask Questions
- Submit Pull Requests
- Setup Development Environment
- Install Develop Version
- Lint Check
- Test Locally
- Build Wheels
- Documentation
Report Bugs
If you run into any weird behavior while using TileLang, feel free to open a new issue in this repository! Please run a search before opening a new issue, to make sure that someone else hasn't already reported or solved the bug you've found.
Any issue you open must include:
- Code snippet that reproduces the bug with a minimal setup.
- A clear explanation of what the issue is.
Ask Questions
Please ask questions in issues.
Submit Pull Requests
All pull requests are super welcomed and greatly appreciated! Issues in need of a solution are marked with a ♥ help label if you're looking for somewhere to start.
If you're new to contributing to TileLang, you can follow the following guidelines before submitting a pull request.
Note
Please include tests and docs with every pull request if applicable!
Setup Development Environment
Before contributing to TileLang, please follow the instructions below to setup.
-
Fork TileLang (fork) on GitHub and clone the repository.
git clone --recurse-submodules git@github.com:<your username>/tilelang.git # use the SSH protocol cd tilelang git remote add upstream git@github.com:tile-ai/tilelang.git -
Setup a development environment:
uv venv --seed .venv # use `python3 -m venv .venv` if you don't have `uv` source .venv/bin/activate python3 -m pip install --upgrade pip setuptools wheel "build[uv]" uv pip install --requirements requirements-dev.txt -
Setup the
pre-commithooks:pre-commit install --install-hooks
Then you are ready to rock. Thanks for contributing to TileLang!
Install Develop Version
To install TileLang in an "editable" mode, run:
python3 -m pip install --no-build-isolation --verbose --editable .
in the main directory. This installation is removable by:
python3 -m pip uninstall tilelang
Lint Check
To check the linting, run:
pre-commit run --all-files
Test Locally
To run the tests, start by building the project as described in the Setup Development Environment section.
Then you can rerun the tests with:
python3 -m pytest testing
Build Wheels
TBA
Documentation
TBA