Thank you for your interest in contributing to HyperFit! This document provides guidelines and information for contributors.
-
Clone the repository:
git clone https://github.com/hyperfit/hyperfit.git cd hyperfit -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install development dependencies:
pip install -e ".[dev]" -
Run tests:
pytest tests/
- Follow PEP 8 style guidelines
- Use type hints for function signatures
- Write docstrings for all public functions and classes
- Use Black for code formatting:
black src/ - Use flake8 for linting:
flake8 src/
- Write tests for all new functionality
- Ensure test coverage remains high
- Test both successful cases and error conditions
- Include integration tests for new models
- Create a new file in
src/hyperfit/models/ - Inherit from
HyperelasticModelbase class - Implement all required abstract methods
- Add the model to the registry in
models/__init__.py - Write comprehensive tests
- Update documentation
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Add tests and documentation
- Run the test suite
- Commit your changes with clear messages
- Push to your fork and submit a pull request
- Provide a clear description of changes
- Reference any related issues
- Ensure all tests pass
- Update documentation as needed
- Follow the existing code style
- Use the GitHub issue tracker
- Provide a clear description of the problem
- Include steps to reproduce
- Specify your environment (OS, Python version, etc.)
- Include relevant code snippets or error messages
- Update docstrings for any changed functions
- Add examples for new features
- Update the README if needed
- Consider adding tutorial content
Thank you for contributing to HyperFit!