Thank you for your interest in contributing to EnSim! This document provides guidelines for contributing.
Be respectful and constructive in all interactions.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/ensim.git cd ensim - Create a virtual environment:
python -m venv venv source venv/bin/activate # or venv\Scripts\activate on Windows pip install -r requirements.txt
feature/description- New featuresfix/description- Bug fixesdocs/description- Documentation updates
- Follow PEP 8
- Use type hints for function signatures
- Maximum line length: 100 characters
- Use docstrings (Google style)
Run tests before submitting:
pytest tests/ -vAll tests must pass. Add tests for new features.
Use clear, descriptive commit messages:
Add Mach number solver for area ratio
- Implement Newton-Raphson iteration
- Add Numba JIT optimization
- Include unit tests
- Create a feature branch from
main - Make your changes
- Run tests:
pytest tests/ - Update documentation if needed
- Submit PR with clear description
For physics-related changes:
- Cite sources in code comments
- Add validation tests comparing to NASA CEA
- Update
docs/VALIDATION.md
- Additional propellant combinations
- Shifting equilibrium implementation
- Performance optimizations
- UI/UX improvements
- Documentation and examples
Open an issue for discussion.