|
| 1 | +|release v0.6.0|_ |
| 2 | +================= |
| 3 | + |
| 4 | +This is a minor release from ``v0.5.4`` → ``v0.6.0``. |
| 5 | + |
| 6 | +Important Notes |
| 7 | +--------------- |
| 8 | + |
| 9 | +* Please note this release has **API breaking changes** and carefully read these |
| 10 | + notes while updating your code to the ``v0.6.0`` API. |
| 11 | + Perhaps most relevant is the changes to the :func:`pyhf.infer.hypotest` API, which now |
| 12 | + uses a ``calctype`` argument to differentiate between using an asymptotic calculator |
| 13 | + or a toy calculator, and a ``test_stat`` kwarg to specify which test statistic |
| 14 | + the calculator should use, with ``'qtilde'``, coresponding to |
| 15 | + :func:`pyhf.infer.test_statistics.qmu_tilde`, now the default option. |
| 16 | + It also relies more heavily on using kwargs to pass options through to the optimizer. |
| 17 | +* Support for the discovery test statistic, :math:`q_{0}`, has now been added through |
| 18 | + the :func:`pyhf.infer.test_statistics.q0` API. |
| 19 | +* Support for pseudoexperiments (toys) has been added through the |
| 20 | + :func:`pyhf.infer.calculators.ToyCalculator` API. |
| 21 | + Please see the corresponding `example notebook`_ for more detailed exploration |
| 22 | + of the API. |
| 23 | +* The ``minuit`` extra, ``python -m pip install pyhf[minuit]``, now uses and requries |
| 24 | + the |iminuit docs|_ ``v2.X`` release series and API. |
| 25 | + Note that ``iminuit`` ``v2.X`` can result in slight differences in minimization |
| 26 | + results from ``iminuit`` ``v1.X``. |
| 27 | +* The documentation will now be versioned with releases on ReadTheDocs. |
| 28 | + Please use `pyhf.readthedocs.io`_ to access the documentation for the latest |
| 29 | + stable realease of ``pyhf``. |
| 30 | +* ``pyhf`` is transtioning away from Stack Overflow to `GitHub Discussions`_ for |
| 31 | + resolving user questions not covered in the documentation. |
| 32 | + Please check the `GitHub Discussions`_ page to search for discussions addressing |
| 33 | + your questions and to open up a new discussion if your question is not covered. |
| 34 | +* ``pyhf`` has published a paper in the Journal of Open Source Software. |JOSS DOI| |
| 35 | + Please make sure to include the paper reference in all citations of ``pyhf``, as |
| 36 | + documented in the `Use and Citations`_ section of the documentation. |
| 37 | + |
| 38 | +Fixes |
| 39 | +----- |
| 40 | + |
| 41 | +* Fix bug where all extras triggered warning for installation of the ``contrib`` extra. |
| 42 | +* ``float``-like values are used in division for :func:`pyhf.writexml`. |
| 43 | +* ``Model.spec`` now supports building new models from existing models. |
| 44 | +* :math:`p`-values are now reported based on their quantiles, instead of interpolating |
| 45 | + test statistics and converting to :math:`p`-values. |
| 46 | +* Namespace collisions between ``uproot3`` and ``uproot``/``uproot4`` have been fixed |
| 47 | + for the ``xmlio`` extra. |
| 48 | +* The ``normsys`` modifier now uses the :mod:`pyhf.interpolators.code4` interpolation |
| 49 | + method by default. |
| 50 | +* The ``histosys`` modifier now uses the :mod:`pyhf.interpolators.code4p` interpolation |
| 51 | + method by default. |
| 52 | + |
| 53 | +Features |
| 54 | +-------- |
| 55 | + |
| 56 | +Python API |
| 57 | +~~~~~~~~~~ |
| 58 | + |
| 59 | +* The ``tensorlib`` API now supports a ``tensorlib.to_numpy`` and |
| 60 | + ``tensorlib.ravel`` API. |
| 61 | +* The :func:`pyhf.infer.calculators.ToyCalculator` API has been added to support |
| 62 | + pseudoexperiments (toys). |
| 63 | +* The emperical test statistic distribution API has been added to help support the |
| 64 | + ``ToyCalculator`` API. |
| 65 | +* Add a ``tolerance`` kwarg to the optimizer API to set a ``float`` value as a |
| 66 | + tolerance for termination of the fit. |
| 67 | +* The :func:`pyhf.optimize.opt_minuit.minuit_optimizer` optimizer now can return |
| 68 | + correlations of the fitted parameters through use of the ``return_correlation`` |
| 69 | + Boolean kwarg. |
| 70 | +* Add the ``pyhf.utils.citation`` API to get a ``str`` of the preferred BibTeX entry |
| 71 | + for citation of the version of ``pyhf`` installed. |
| 72 | + See the example for the CLI API for more information. |
| 73 | +* The :func:`pyhf.infer.hypotest` API now uses a ``calctype`` argument to differentiate |
| 74 | + between using an asymptotic calculator or a toy calculator, and a ``test_stat`` kwarg |
| 75 | + to specify which test statistic to use. |
| 76 | + It also relies more heavily on using kwargs to pass options through to the optimizer. |
| 77 | +* The default ``test_stat`` kwarg for :func:`pyhf.infer.hypotest` and the calculator |
| 78 | + APIs is ``'qtilde'``, which corresponds to the alternative test statistic |
| 79 | + :func:`pyhf.infer.test_statistics.qmu_tilde`. |
| 80 | +* The return type of :math:`p`-value like functions is now a 0-dimensional ``tensor`` |
| 81 | + (with shape ``()``) instead of a ``float``. |
| 82 | + This is required to support end-to-end automatic differenation in future releases. |
| 83 | + |
| 84 | +CLI API |
| 85 | +~~~~~~~ |
| 86 | + |
| 87 | +* The CLI API now suppoerts a ``--citation`` or ``--cite`` option to print the |
| 88 | + preferred BibTeX entry for citation of the version of ``pyhf`` installed. |
| 89 | + |
| 90 | +.. code-block:: shell |
| 91 | +
|
| 92 | + $ pyhf --citation |
| 93 | + @software{pyhf, |
| 94 | + author = "{Heinrich, Lukas and Feickert, Matthew and Stark, Giordon}", |
| 95 | + title = "{pyhf: v0.6.0}", |
| 96 | + version = {0.6.0}, |
| 97 | + doi = {10.5281/zenodo.1169739}, |
| 98 | + url = {https://github.com/scikit-hep/pyhf}, |
| 99 | + } |
| 100 | +
|
| 101 | + @article{pyhf_joss, |
| 102 | + doi = {10.21105/joss.02823}, |
| 103 | + url = {https://doi.org/10.21105/joss.02823}, |
| 104 | + year = {2021}, |
| 105 | + publisher = {The Open Journal}, |
| 106 | + volume = {6}, |
| 107 | + number = {58}, |
| 108 | + pages = {2823}, |
| 109 | + author = {Lukas Heinrich and Matthew Feickert and Giordon Stark and Kyle Cranmer}, |
| 110 | + title = {pyhf: pure-Python implementation of HistFactory statistical models}, |
| 111 | + journal = {Journal of Open Source Software} |
| 112 | + } |
| 113 | +
|
| 114 | +Contributors |
| 115 | +------------ |
| 116 | + |
| 117 | +``v0.6.0`` benefited from contributions from: |
| 118 | + |
| 119 | +* Alexander Held |
| 120 | +* Marco Gorelli |
| 121 | +* Pradyumna Rahul K |
| 122 | +* Eric Schanet |
| 123 | +* Henry Schreiner |
| 124 | + |
| 125 | +.. |release v0.6.0| replace:: ``v0.6.0`` |
| 126 | +.. _`release v0.6.0`: https://github.com/scikit-hep/pyhf/releases/tag/v0.6.0 |
| 127 | + |
| 128 | +.. _`example notebook`: https://pyhf.readthedocs.io/en/latest/examples/notebooks/toys.html |
| 129 | + |
| 130 | +.. |iminuit docs| replace:: ``iminuit`` |
| 131 | +.. _`iminuit docs`: https://iminuit.readthedocs.io/ |
| 132 | + |
| 133 | +.. _`pyhf.readthedocs.io`: https://pyhf.readthedocs.io/ |
| 134 | + |
| 135 | +.. _`GitHub Discussions`: https://github.com/scikit-hep/pyhf/discussions |
| 136 | + |
| 137 | +.. |JOSS DOI| image:: https://joss.theoj.org/papers/10.21105/joss.02823/status.svg |
| 138 | + :target: https://doi.org/10.21105/joss.02823 |
| 139 | + |
| 140 | +.. _`Use and Citations`: https://pyhf.readthedocs.io/en/latest/citations.html |
0 commit comments