Thank you for your interest in the Sunscan project! This document will guide you through the necessary steps to contribute effectively.
- First, check if the bug has already been reported by reviewing the existing issues.
- If the bug has not been reported, open a new issue and provide as much detail as possible:
- A clear and concise description of the problem.
- Steps to reproduce the bug.
- The version of Python and the project you are using.
- Any relevant error messages.
- Check the existing issues to see if your idea has already been proposed.
- Open a new issue to discuss your idea before starting to work on it.
- Provide a detailed description of the proposed enhancement.
The main branch is reserved exclusively for the production-ready version of Sunscan OS.
- All major new features must be developed on a dedicated branch, named according to the feature (e.g.,
feat-xxxx). - Submit your contribution as a pull request (PR) for integration into the main branch after passing the required tests.
- Major independant changes to the Sunscan backend or critical components (e.g., testing a new Raspberry Pi model, operating system, or battery) are considered experimental.
- Such contributions must be submitted as PRs on a dedicated branch named
experimental-xxxx(e.g.,experimental-battery). - These developments require thorough testing before integrating them into the core components of the project.
Sunscan is currently based on the following:
- Operating System: Raspbian OS
- Recommended Hardware: Raspberry Pi 4B (8 GB) — core developments are validated on this board.
- Any other hardware must be thoroughly tested across the entire system (backend, frontend, hardware), and the documentation must be updated accordingly.
- Battery: PiSugar 3 Plus Portable.
- For more details, visit www.sunscan.net.
- Fork the repository and clone your fork locally.
- Create a branch for your contribution:
git checkout -b your-branch-name
- Make your changes and ensure the code is well-documented.
- Test your changes locally.
- Commit your changes with a clear message:
git commit -m "Description of your change" - Push your branch to your fork:
git push origin your-branch-name
- Open a pull request to the main branch of the project.
- Follow PEP 8 style guidelines for Python code.
- Use docstrings to document functions and classes.
- Ensure the code is readable and well-commented.
- Add tests for all new features and bug fixes.
- Use
pytestto run the tests. - Ensure all tests pass before submitting your pull request.
By participating in this project, you agree to abide by our Code of Conduct.
If you have questions or need support, you can:
Open a discussion on GitHub Discussions Contact the maintainers directly via the contact form on www.sunscan.net.
- Project Documentation
- Guide to Getting Started with Git and GitHub
- PEP 8 Style Guide for Python Code
- pytest Documentation
- Raspberry Pi Documentation
- PiSugar 3 Plus Portable Documentation
- Sunscan Website
Thank you again for your contribution!