Contributing ======================= Thank you for considering contributing to this project! Alternatively, if you've forked the repository and want to understand how to build and test your changes locally, you'll find detailed instructions here as well. You should be able to work unencumbered in any of Linux, macOS or Windows. There are various technology-specific resources that you’ll need to initialize in your development environment. See setup instructions below for each technology. .. admonition:: Contributor Note Please adhere to the Smarter framework's developer guidelines and style guide when contributing to this module. - Review the `Developer's New Feature Checklist <./developer-feature-checklist.html>`__ to ensure your contribution meets all necessary requirements. - Use Sphinx-style docstrings with clear parameter definitions, notes, warnings, and usage examples. - Follow PEP 8 for code formatting and naming conventions. - Prefer DRY (Don't Repeat Yourself) principles; code should be generic and reusable. - Document any deprecations or breaking changes clearly. - Ensure compatibility with Python 3.10 or later, Django 5.x or later, DRF 3.x or later, and Pydantic 2.9 or later. How to Contribute ----------------- - **Fork the repository** and create your branch from ``main``. - **Describe your changes** clearly in your pull request. - **Write tests** for your changes if applicable. - **Follow the code style** used in the project. Governance ~~~~~~~~~~ Please see `smarter-sh/community `__ Reporting Issues ~~~~~~~~~~~~~~~~ - Search for existing issues before opening a new one. - Include steps to reproduce, expected behavior, and screenshots if helpful. Pull Requests ~~~~~~~~~~~~~ - Ensure your branch is up to date with ``main``. - Reference related issues in your PR description. - Be responsive to feedback and requested changes. Code of Conduct ~~~~~~~~~~~~~~~ Please see our `CODE_OF_CONDUCT <./code-of-conduct.html>`__