Skip to main content
`Ctrl`+`K`

# Development

The library is still experimental and under development. Checkout the next milestone for the plans for the next release or look at some easy issues to get started contributing.

The development version from github can be installed through:

    git clone https://github.com/holgern/scikit-optimize.git
    cd scikit-optimize
    pip install -e .

Run all tests by executing `pytest` in the top level directory.

To only run the subset of tests with short run time, you can use `pytest -m 'fast_test'` (`pytest -m 'slow_test'` is also possible). To exclude all slow running tests try `pytest -m 'not slow_test'`.

This is implemented using pytest attributes. If a tests runs longer than 1 second, it is marked as slow, else as fast.

All contributors are welcome!

## Making a Release

The release procedure is almost completely automated. By tagging a new release travis will build all required packages and push them to PyPI. To make a release create a new issue and work through the following checklist:

- update the version tag in `__init__.py`

- update the version tag mentioned in the README

- check if the dependencies in `setup.py` are valid or need unpinning

- check that the `CHANGELOG.md` is up to date

- did the last build of master succeed?

- create a new release

- ping conda-forge

Before making a release we usually create a release candidate. If the next release is v0.X then the release candidate should be tagged v0.Xrc1 in `__init__.py`. Mark a release candidate as a “pre-release” on GitHub when you tag it.