diff --git a/doc/development.rst b/doc/development.rst index fa13418ca..04ec67d02 100644 --- a/doc/development.rst +++ b/doc/development.rst @@ -1,14 +1,47 @@ =========== Development =========== -The library is still experimental and under heavy development. + +The library is still experimental and under heavy 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 can be installed through: .. code-block:: bash git clone https://github.com/scikit-optimize/scikit-optimize.git cd scikit-optimize - pip install -r requirements.txt - python setup.py develop + 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 `__ -Run the tests by executing `pytest` in the top level directory. \ No newline at end of file +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. diff --git a/doc/install.rst b/doc/install.rst index 3778560da..e55961289 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -22,3 +22,18 @@ The newest development version of scikit-optimize can be installed by: .. code-block:: bash $ pip install git+https://github.com/scikit-optimize/scikit-optimize.git + +Development version +~~~~~~~~~~~~~~~~~~~ + +The library is still experimental and under heavy development. +The development version can be installed through: + +.. code-block:: bash + + git clone https://github.com/scikit-optimize/scikit-optimize.git + cd scikit-optimize + pip install -r requirements.txt + python setup.py develop + +Run the tests by executing `pytest` in the top level directory. \ No newline at end of file diff --git a/doc/templates/index.html b/doc/templates/index.html index 8116b74cc..9a27a411f 100644 --- a/doc/templates/index.html +++ b/doc/templates/index.html @@ -105,6 +105,7 @@

News

  • On-going development: What's new (Changelog)
  • +
  • Jan 2020. scikit-optimize 0.7 (Changelog).
  • April 2018. scikit-optimize 0.6 (Changelog).
  • Mar 2018. scikit-optimize 0.5 (Changelog).
  • Aug 2017. scikit-optimize 0.4 (Changelog). diff --git a/examples/interruptible-optimization.py b/examples/interruptible-optimization.py index f1e8f2a16..93d9f2384 100644 --- a/examples/interruptible-optimization.py +++ b/examples/interruptible-optimization.py @@ -20,12 +20,9 @@ This is useful, for example, -* if you don't know how long the process will take and cannot hog - computational resources forever -* if there might be system failures due to shaky infrastructure - (or colleagues...) -* if you want to adjust some parameters and continue with the already obtained - results +* if you don't know how long the process will take and cannot hog computational resources forever +* if there might be system failures due to shaky infrastructure (or colleagues...) +* if you want to adjust some parameters and continue with the already obtained results """ print(__doc__) @@ -123,10 +120,11 @@ def obj_fun(x, noise_level=noise_level): # ================= # # * **changes in search space:** You can use this technique to interrupt -# the search, tune the search space and continue the optimization. Note -# that the optimizers will complain if `x0` contains parameter values not -# covered by the dimension definitions, so in many cases shrinking the -# search space will not work without deleting the offending runs from -# `x0` and `y0`. +# the search, tune the search space and continue the optimization. Note +# that the optimizers will complain if `x0` contains parameter values not +# covered by the dimension definitions, so in many cases shrinking the +# search space will not work without deleting the offending runs from +# `x0` and `y0`. # * see :ref:`sphx_glr_auto_examples_store-and-load-results.py` +# # for more information on how the results get saved and possible caveats diff --git a/examples/parallel-optimization.py b/examples/parallel-optimization.py index 270ae3f9d..789bd3423 100644 --- a/examples/parallel-optimization.py +++ b/examples/parallel-optimization.py @@ -32,11 +32,9 @@ interface is as follows: 1. Initialize instance of the `Optimizer` class from skopt -2. Obtain n points for evaluation in parallel by calling the `ask` method of - an optimizer instance with the `n_points` argument set to n > 0 +2. Obtain n points for evaluation in parallel by calling the `ask` method of an optimizer instance with the `n_points` argument set to n > 0 3. Evaluate points -4. Provide points and corresponding objectives using the `tell` method of - an optimizer instance +4. Provide points and corresponding objectives using the `tell` method of an optimizer instance 5. Continue from step 2 until eg maximum number of evaluations reached """ @@ -72,14 +70,14 @@ ############################################################################# # Note that if `n_points` is set to some integer > 0 for the `ask` method, the -# result will be a list of points, even for `n_points`=1. If the argument is +# result will be a list of points, even for `n_points` = 1. If the argument is # set to `None` (default value) then a single point (but not a list of points) # will be returned. # # The default "minimum constant liar" [1] parallelization strategy is used in # the example, which allows to obtain multiple points for evaluation with a # single call to the `ask` method with any surrogate or acquisition function. -# Paralellization strategy can be set using the "strategy" argument of `ask`. +# Parallelization strategy can be set using the "strategy" argument of `ask`. # For supported parallelization strategies see the documentation of # scikit-optimize. #