| 
 | 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