Thank you for your interest in contributing to nervaluate! This document provides guidelines and instructions for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/nervaluate.git cd nervaluate - Make sure you have hatch installed, then create a virtual environment:
nervaluate uses pytest for testing. Here are the guidelines for adding tests:
- All new features and bug fixes should include tests
- Tests should be placed in the
tests/directory - Test files should be named
test_*.py - Test functions should be named
test_* - Use pytest fixtures when appropriate for test setup and teardown
- Run tests locally before submitting a pull request:
hatch -e
nervaluate uses gitchangelog to maintain the CHANGELOG.rst file. Here's how to use it:
-
Make your changes in a new branch
-
Write your commit messages following these conventions:
- Use present tense ("Add feature" not "Added feature")
- Use imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally after the first line
-
The commit message format should be:
type(scope): subject bodyWhere type can be:
- feat: A new feature
- fix: A bug fix
- docs: Documentation changes
- style: Changes that do not affect the meaning of the code
- refactor: A code change that neither fixes a bug nor adds a feature
- perf: A code change that improves performance
- test: Adding missing tests or correcting existing tests
- chore: Changes to the build process or auxiliary tools
-
After committing your changes, you can generate the changelog:
gitchangelog > CHANGELOG.rst
- Update the README.md with details of changes if needed
- Update the CHANGELOG.rst using gitchangelog
- The PR will be merged once you have the sign-off of at least one other developer
- Make sure all tests pass and there are no linting errors
- Follow PEP 8 guidelines
- Use type hints
Feel free to open an issue if you have any questions about contributing to nervaluate.