Thank you for your interest in contributing to ike! This document provides guidelines for contributing to the project.
- Clone the repository:
git clone https://github.com/ZHAOTING/ike.git
cd ike- Create a virtual environment and install dependencies:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e ".[dev]"- For GPU features (flash attention, quantization):
pip install -e ".[full]"We use the following tools for code formatting and linting:
- black for code formatting (line length: 120)
- isort for import sorting (profile: black)
- flake8 for linting
Before submitting a PR, run:
black src/ tests/
isort src/ tests/
flake8 src/ tests/Run the test suite with:
pytest tests/ -vFor coverage report:
pytest tests/ --cov=src/ike --cov-report=term-missing- Fork the repository and create a feature branch from
main - Make your changes and add tests for new functionality
- Ensure all tests pass and code style checks pass
- Update documentation if needed
- Submit a pull request with a clear description of changes
When reporting issues, please include:
- Python version
- PyTorch version
- DeepSpeed version
- Steps to reproduce the issue
- Expected vs actual behavior
- Error messages and stack traces
By contributing to ike, you agree that your contributions will be licensed under the Apache 2.0 License.