Skip to content

Contributing

Thank you for considering contributing to xdiag! We welcome contributions from everyone. This document outlines the process and guidelines for contributing to this project.

Major contributions

Our goal is to have regular software publications in SciPost Physics Codebases with updated major versions. We offer co-authorship for developers who provide major contributions. These include:

  • Advanced new features: This may include implementation of a new block type, a new iterative algorithm, or novel operators and measurements
  • Major contributions to the documentations: This would include writing extended tutorials, or contributing a significant number of examples.

We recommend to propose a major new feature in the Discussions first, such that we can give feedback to a possible enhancement.

Reporting Bugs

Ensure the bug was not already reported by searching on GitHub under Issues. If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.

Suggesting Enhancements

Open an issue with the label enhancement and describe your suggestion in detail. Explain why this enhancement would be useful to the project and how it can be implemented.

Pull Requests

  • Fork the repository and create your branch from main.
  • If you've added code that should be tested, add tests.
  • If you've changed APIs, update the documentation.
  • Ensure the test suite passes.
  • Issue that pull request!

Code Review Process

All submissions, including submissions by project members, require review. Focus on the following aspects during the review: - Design: Is the code well-designed and appropriate for the use case? - Functionality: Does the code behave as expected? - Complexity: Could the code be made simpler? - Tests: Does the code have appropriate tests? - Documentation: Is the code well-documented?

Community

Join our Discussions to engage with the community, ask questions, and share ideas.

This guide provides a comprehensive overview of how to contribute to the xdiag project. If you have any questions or need further assistance, feel free to reach out to the maintainers or the community. Happy contributing!