Thank you for your interest in contributing to StakeAPI! This document provides guidelines for contributing to the project.
Please be respectful and professional in all interactions. We want to maintain a welcoming environment for all contributors.
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/StakeAPI.git - Create a virtual environment:
python -m venv venv - Activate the virtual environment:
- Windows:
venv\Scripts\activate - macOS/Linux:
source venv/bin/activate
- Windows:
- Install dependencies:
pip install -e ".[dev]" - Install pre-commit hooks:
pre-commit install
- Create a new branch for your feature:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
pytest - Run linting:
black . && isort . && flake8 - Commit your changes with a descriptive message
- Push to your fork and create a pull request
- We use Black for code formatting
- We use isort for import sorting
- We use flake8 for linting
- Follow PEP 8 guidelines
- Add type hints to all functions
- Write docstrings for all public methods
- Write tests for all new features
- Ensure all tests pass before submitting a PR
- Aim for high test coverage
- Use pytest for testing
- Ensure your code follows the style guidelines
- Add tests for new functionality
- Update documentation if needed
- Ensure all tests pass
- Create a clear PR description explaining your changes
When reporting issues, please include:
- A clear description of the problem
- Steps to reproduce the issue
- Expected vs actual behavior
- Your environment details (Python version, OS, etc.)
Feature requests are welcome! Please:
- Check if the feature already exists or is planned
- Provide a clear description of the feature
- Explain the use case and benefits
- Be open to discussion about implementation
Thank you for contributing!