This page explains how you can contribute to the development of scikit-opt by submitting patches, tests, new models, or examples.
scikit-opt is developed on Github using the Git version control system.
- Include a short, self-contained code snippet that reproduces the problem
- Ensure that the bug still exists on latest version.
For a pull request to be accepted, you must meet the below requirements. This greatly helps in keeping the job of maintaining and releasing the software a shared effort.
- One branch. One feature. Branches are cheap and github makes it easy to merge and delete branches with a few clicks. Avoid the temptation to lump in a bunch of unrelated changes when working on a feature, if possible. This helps us keep track of what has changed when preparing a release.
- Commit messages should be clear and concise. If your commit references or closes a specific issue, you can close it by mentioning it in the commit message. (For maintainers: These suggestions go for Merge commit comments too. These are partially the record for release notes.)
- Each function, class, method, and attribute needs to be documented.
- If you are adding new functionality, you need to add it to the
documentation by editing (or creating) the appropriate file in
docs/
.
So you want to submit a patch to scikit-opt but are not too familiar with github? Here are the steps you need to take.
- Fork the scikit-opt repository on Github.
- Create a new feature branch. Each branch must be self-contained, with a single new feature or bugfix.
- Make sure the test suite passes. This includes testing on Python 3. The easiest way to do this is to either enable Travis-CI on your fork, or to make a pull request and check there.
- If it is a big, new feature please submit an example to path
/examples/
or/tests/
and add it to.travis.yml
. - Submit a pull request
scikit-opt is released under the MIT license.