Skip to content

Latest commit

 

History

History
72 lines (54 loc) · 1.56 KB

File metadata and controls

72 lines (54 loc) · 1.56 KB

Contributing to ike

Thank you for your interest in contributing to ike! This document provides guidelines for contributing to the project.

Development Setup

  1. Clone the repository:
git clone https://github.com/ZHAOTING/ike.git
cd ike
  1. Create a virtual environment and install dependencies:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e ".[dev]"
  1. For GPU features (flash attention, quantization):
pip install -e ".[full]"

Code Style

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/

Testing

Run the test suite with:

pytest tests/ -v

For coverage report:

pytest tests/ --cov=src/ike --cov-report=term-missing

Pull Request Process

  1. Fork the repository and create a feature branch from main
  2. Make your changes and add tests for new functionality
  3. Ensure all tests pass and code style checks pass
  4. Update documentation if needed
  5. Submit a pull request with a clear description of changes

Reporting Issues

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

License

By contributing to ike, you agree that your contributions will be licensed under the Apache 2.0 License.