Thank you for your interest in contributing to our project! This document provides guidelines and instructions for contributing.
By participating in this project, you agree to abide by our Code of Conduct.
- Fork the repository
- Create a new branch for your feature or bugfix
- Make your changes
- Write tests for your changes
- Ensure all tests pass
- Submit a pull request
- Clone your fork:
git clone https://github.com/litedatum/validatelite.git
cd validatelite- Create and activate a virtual environment:
python -m venv .venv
.\.venv\Scripts\activate # Windows
source .venv/bin/activate # Linux/Mac- Install development dependencies:
pip install -r requirements-dev.txt
pre-commit install
requirements-dev.txtincludes all production and development dependencies (testing, linting, type checking, etc.).
We use several tools to maintain code quality:
- Black for code formatting
- isort for import sorting
- flake8 for linting
- mypy for type checking
Run all checks before submitting:
black .
isort .
flake8
mypy .Write tests for all new features and bug fixes. Run tests with:
pytest- Update documentation for any new features or changes
- Follow the existing documentation style
- Use clear and concise language
- Ensure your code passes all tests and checks
- Update documentation as needed
- Provide a clear description of your changes
- Reference any related issues
- Wait for review and address any feedback
When reporting issues:
- Use the provided issue template
- Provide detailed steps to reproduce
- Include relevant error messages
- Specify your environment details
For feature requests:
- Explain the problem you're trying to solve
- Provide use cases and examples
- Suggest potential solutions
For questions and discussions:
- Use the project's issue tracker
- Join our community chat
- Check the documentation first
- Use
feature/<short-description>for new features - Use
fix/<short-description>for bug fixes - Use
docs/<short-description>for documentation updates - Use
chore/<short-description>for maintenance
- Follow Conventional Commits
- Example:
feat: add new rule parser for custom checks - Example:
fix: correct SQL dialect detection logic
- PRs must pass all CI checks and code review before merging
- Reference related issues in the PR description
- Use clear, descriptive titles
- Update CHANGELOG.md for user-facing changes
- For questions, use GitHub Discussions or open an issue
- For urgent matters, contact maintainers at datapebble@gmail.com
Thank you for contributing!