The dyPixa community is committed to maintaining a welcoming and inclusive environment for all contributors and participants. We value diversity and respect for others, and we expect all members of our community to adhere to this Code of Conduct in all interactions within our project.
Treat all participants with kindness and respect. Disagreements and differences of opinion are natural, but they should be handled constructively and without personal attacks or derogatory language.
Use language that is inclusive, respectful, and considerate of all individuals, regardless of their backgrounds or identities.
Harassment in any form is not tolerated within the dyPixa community. Harassment includes but is not limited to offensive comments, discrimination, intimidation, or any unwelcome behavior that creates an uncomfortable environment for others.
Please refrain from submitting meaningless or excessive pull requests. Ensure that your contributions are meaningful and aligned with the project's goals.
If you witness or experience behavior that violates this Code of Conduct, please report it to the project maintainers. All reports will be kept confidential, and appropriate actions will be taken in response.
When contributing to dyPixa, please follow these coding guidelines to ensure consistency and maintainability of the codebase:
- Follow the established coding style used in the project. If there are no specific guidelines, adhere to a common style like PEP 8 for Python.
- Use meaningful comments to explain complex logic or non-obvious parts of your code.
- Provide comments for any public functions, classes, or methods, describing their purpose and usage.
- Use clear and descriptive variable and function names.
- Avoid using single-letter variable names except in simple loop constructs.
- Use consistent indentation (e.g., 4 spaces) to improve code readability.
- Keep lines of code within a reasonable length (typically 80-100 characters) to avoid horizontal scrolling.
-
Group imports according to the following order:
- Standard library imports
- Third-party library imports
- Local project imports
-
Use absolute imports over relative imports.
- Always handle exceptions and errors gracefully. Avoid using bare
except
clauses. - Provide informative error messages to aid in debugging.
- Write unit tests for your code, especially if it introduces new functionality or fixes a bug.
- Ensure that all existing tests pass before submitting your code.
- Keep your commits focused and atomic, addressing a single issue or feature in each commit.
- Use meaningful commit messages that start with a capital letter and provide a concise description of the changes.
- Document all public functions, classes, and methods using clear and concise docstrings.
- Maintain up-to-date project documentation to assist users and fellow contributors.
- Optimize code for performance when necessary, but prioritize readability and maintainability.
- Be open to peer review and constructive feedback. Reviewers may offer valuable insights to improve your code.
- Strive for simplicity in your code. Avoid unnecessary complexity and over-engineering.
These coding guidelines are meant to help create a consistent and maintainable codebase within the dyPixa project. Adhering to these guidelines will make it easier for contributors to collaborate effectively and ensure the project remains accessible to everyone involved.
The project maintainers are responsible for enforcing this Code of Conduct and ensuring that all reports are handled promptly and fairly. We are committed to maintaining a safe and respectful community for everyone involved.
This Code of Conduct is adapted from the Contributor Covenant and is licensed under CC BY 4.0.
By participating in the dyPixa community, you agree to abide by this Code of Conduct. We look forward to working together in a spirit of cooperation and mutual respect.