Thank you for your interest in qulacs!
There are many ways to contribute not only for writing code. This document provides a overview for contributing.
If you have questions to qulacs, feel free to ask in Issue and community will assist you! Your question will be a knowledge to others seeking for help.
Issue title should be prefixed with [Question]
so that community can identify question.
Reporting problems are always welcome! Post in Issue and we'll understand caveats.
Issue title should be prefixed with [Bug]
.
Please include following details if you have:
- Reproducible steps to cause the issue
- What qulacs expected to do, and actually done
- code snippet to demonstorate issue
- Version of qulacs, OS info, etc...
Have a feature request you want? Post it in Issue!
Issue title should be prefixed with [Feat]
.
PR is always welcome!
Writing to Issue is not necessary (but recommended) to create single PR. Just create PR to the main
branch.
However, if you want to make changes that requires multiple PR, please discuss the change you wish to make via Issue.
When you want to create PR, non-automatically created diff should not be more than about 300 lines.
If you want to make large PR, then first ask to maintainers and feature branch will be created for review.
- Patch is legal under the LICENSE.
- Pass GitHub Actions' check.
- Approve of at least 1 maintainer.
Testing locally is recommended before submitting PR. First you have to install dependecies to your computer before you build and test your patch. And you execute these commands at the root directory of this project:
$ ./script/build_gcc.sh
$ python setup.py install
$ cd build
$ make test
$ make pythontest
$ ./script/build_msvc_2015.bat
$ python setup.py install
$ cmake --build ./visualstudio --target test --config Release
$ cmake --build ./visualstudio --target pythontest --config Release
- We recommend use Python from pyenv and virtualenv for the local test.
- Since we run
python setup.py install
at global Python unstable qulacs would be installed unintentionally. - And it would be difficult to show dependencies version when we need for debug
- Since we run