Recent Releases of pyhf

pyhf - v0.7.6

This is a patch release from v0.7.5v0.7.6.

Fixes

  • For the JAX backend access jax.config from the jax top level API to avoid support issues with jax and jaxlib v0.4.20+. (PR #2376)
  • Add information in the warnings for pyhf.infer.test_statistics.qmu and pyhf.infer.test_statistics.qmu_tilde that provides users with the higher level pyhf.infer APIs kwarg to set the correct test statistic. (PR #2390)
  • Correct the variable assignment for the one-sigma and two-sigma limit band artists in pyhf.contrib.viz.brazil.plot_brazil_band to match the stated return structure. (PR #2411)
  • In the pyhf.infer module, correct the fixed_params type in the docs to be to tuple or list. (PR #2420)

Contributors

v0.7.6 benefited from contributions from:

  • Lorenz Gaertner (@lorenzennio)

What's Changed

  • ci(backport): Update GitHub Actions by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2421
  • ci: Use --find-links to install jax and jaxlib on Python 3.7 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2422
  • fix(backport): Access jax.config from jax by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2423
  • chore(backport): Update pre-commit hooks by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2424
  • docs(backport): Update citations and README by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2425
  • feat(backport): Improve warnings for qmu and qmu_tilde for the set POI bounds by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2426
  • fix(backport): Correct variable assignment for limit band artists by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2427
  • docs(backport): Correct fixed_params type to tuple or list by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2428
  • docs: Add v0.7.6 release notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2430

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.7.5...v0.7.6

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 2 years ago

pyhf - v0.7.5

This is a patch release from v0.7.4v0.7.5.

Fixes

  • Remove operating system dependent components of schema validation to allow for validation on Windows. (PR #2357)

What's Changed

  • chore(backport): Update GitHub Actions and pre-commit hooks by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2359
  • docs(backport): Update citations and docs by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2360
  • fix(backport): Remove os-dependent pieces of schema validation by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2361
  • docs: Add v0.7.5 release notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2362
  • docs(backport): Update citations references with journal pubs through 2023-10 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2368

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.7.4...v0.7.5

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert about 2 years ago

pyhf - v0.7.4

This is a patch release from v0.7.3v0.7.4.

Fixes

  • Skip callbacks with dead weakrefs while iterating over callbacks in pyhf events, like pyhf.set_backend, to avoid the possibility of accessing dead weakrefs before they could be garbage collected. (PR #2310)

The fixed bug was subtle and occurred nondeterministically when the pyhf.tensorlib was changed repeatedly causing dead weakrefs to be accessed before Python's garbage collection could remove them. Most users should be unaffected.

Contributors

v0.7.4 benefited from contributions from:

  • Daniel Werner
  • Jonas Rembser

What's Changed

  • chore(backport): Update pre-commit hooks by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2317
  • ci(backport): Update GitHub Actions by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2318
  • docs(backport): Update docs requirements and use citations by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2320
  • fix(backport): Skip callbacks with dead weakrefs while iterating over callbacks by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2321
  • docs: Add v0.7.4 release notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2322
  • docs(backport): Update citations references and model records by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2325

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.7.3...v0.7.4

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 2 years ago

pyhf - v0.7.3

This is a patch release from v0.7.2v0.7.3.

Fixes

The fixed bug was subtle and only occurred for specific configurations of settings and arguments where do_grad=False was used (either explicitly by provided kwarg or implicitly through defaults). To determine if you might have been affected by it, check your code for setups like the following.

```python # Bug is backend independent. JAX is selected as an example where # dograd=False might be selected in response to the backend's value of # pyhf.tensorlib.defaultdograd being True. pyhf.setbackend("jax", pyhf.optimize.minuit_optimizer(strategy=0))

...

fitresult, optresult = pyhf.infer.mle.fit( data, model, returnresultobj=True, dograd=False ) assert optresult.minuit.strategy.strategy == 0 # fails for pyhf v0.7.2 ```

Full example that fails in pyhf v0.7.2:

```python import pyhf

pyhf.setbackend("jax", pyhf.optimize.minuitoptimizer(strategy=0))

model = pyhf.simplemodels.uncorrelatedbackground( signal=[12.0, 11.0], bkg=[50.0, 52.0], bkguncertainty=[3.0, 7.0] ) data = [51, 48] + model.config.auxdata

# passing with strategy kwarg explicitly given fitresult, optresult = pyhf.infer.mle.fit( data, model, returnresultobj=True, dograd=False, strategy=0 ) minuitstrategy = optresult.minuit.strategy.strategy print(f"# Minuit minimization strategy: {minuitstrategy}") assert minuit_strategy == 0

# strategy kwarg not given fitresult, optresult = pyhf.infer.mle.fit( data, model, returnresultobj=True, dograd=False ) minuitstrategy = optresult.minuit.strategy.strategy print(f"# Minuit minimization strategy: {minuitstrategy}") assert minuit_strategy == 0 # fails for pyhf v0.7.2 ```

Contributors

v0.7.3 benefited from contributions from:

  • Alexander Held
  • Daniel Werner

What's Changed

  • fix(backport): Pass script_runner commands as a single sequence by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2222
  • docs(backport): Add sphinxrtdtheme to extensions by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2223
  • ci(backport): Update GitHub Actions workflows by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2279
  • fix: Support JAX array API before and after JAX v0.4.1 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2280
  • docs(backport): Update docs build requirements by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2281
  • chore(backport): Move to using Ruff for pre-commit by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2282
  • chore(backport): Update pre-commit hooks by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2283
  • fix(backport): Replace deprecated np.product by np.prod by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2284
  • docs(backport): Update use citations by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2285
  • docs(backport): Use SVG version of logo for docs by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2286
  • feat(backport): Use non-root default user for Docker image by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2287
  • fix(backport): Guard Minuit optimizer against provided strategy of None by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2288
  • docs: Add v0.7.3 release notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2290
  • docs(backport): Update models and journal publication citations by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2295
  • docs: Add v0.7.2 failing example to v0.7.3 release notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2294

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.7.2...v0.7.3

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 2 years ago

pyhf - v0.7.2

This is a patch release from v0.7.1v0.7.2.

Important Notes

Fixes

Contributors

v0.7.2 benefited from contributions from:

  • Alexander Held

What's Changed

  • ci(backport): Use gh-action-pypi-publish v1.7.0+ APIs by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2178
  • docs(backport): Add NumFOCUS Affiliated Project to README by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2180
  • docs(backport): Use Plausible for page visit statistics by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2188
  • docs(backport): Add use citations through April 2023 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2202
  • fix: Disallow TensorFlow Probability v0.20.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2203
  • ci(backport): Update CI workflows and use Trusted Publishers by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2204
  • docs(backport): Use jupyterlite-sphinx to embed JupyterLite in docs by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2205
  • docs(backport): Add dev instructions and fix typos by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2206
  • docs(backport): Update talk list and release checklist by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2211
  • fix(backport): Catch use of multi-component parameters as POI by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2212
  • fix(backport): Add TYPE_CHECKING guard for numpy.typing by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2213
  • docs: Add v0.7.2 release notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2214

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.7.1...v0.7.2

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 2 years ago

pyhf - v0.7.1

This is a patch release from v0.7.0v0.7.1.

Important Notes

  • All backends are now fully compatible and tested with Python 3.11. (PR #2145)
  • The tensorflow extra ('pyhf[tensorflow]') now automatically installs tensorflow-macos for Apple silicon machines. (PR #2119)

Fixes

  • Raise NotImplementedError when attempting to convert a XML workspace that contains no data. (PR #2109)

Contributors

v0.7.1 benefited from contributions from:

  • Alexander Held

What's Changed

  • fix: Skip ReadTheDocs verions during Sphinx link check by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2031
  • fix: Use jax.errors API as jax._src removed from public namespace by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2034
  • build(backport): Switch to using Hatchling as build backend by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2148
  • chore(backport): Update pre-commit hooks by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2150
  • ci: Run CI and packaging workflows on release branch PRs by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2151
  • docs(backport): Update JAX backend docstring types to jax.Array by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2152
  • ci(backport): Add workflow input for bump version branch by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2157
  • chore(backport): Update pre-commit hooks and dependabot updates by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2163
  • docs(backport): Add use citations and general citations by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2164
  • test(backport): Use pytest.raises match argument to check Error messages by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2165
  • fix(backport): Raise error when converting xml workspaces without data by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2166
  • docs: Add v0.7.1 release notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2168
  • docs(backport): Add ATLAS search for gluinos in multi-b final states statistical model record by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2170
  • docs(backport): Update use citations references to include journal publications by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2172
  • chore: Update codemeta by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2173

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.7.0...v0.7.1

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 2 years ago

pyhf - v0.7.0

This is a minor release from v0.6.3v0.7.0.

Important Notes

  • Please note this release has API breaking changes and carefully read these notes while updating your code to the v0.7.0 API.
  • All backends are now fully compatible and tested with Python 3.10. (PR #1809)
  • The pyhf.tensorlib.poisson API now allows for the expected rate parameter lam to be 0 in the case that the observed events n is 0 given that the limit $$\lim_{\lambda \to 0} \,\mathrm{Pois}(n | \lambda)$$ is well defined. (PR #1657)
  • pyhf.readxml.parse now supports reading of XML configurations with absolute paths. To support this, pyhf xlm2json now has a -v/--mount option. (PR #1909)
  • Support for model specifications without a parameter of interest defined is added. (PRs #1638, #1636)
  • The pyhf.parameters.paramsets classes suggested_fixed attribute behavior has been updated. To access the behavior used in pyhf v0.6.x use the suggested_fixed_as_bool attribute. (PR #1639)
  • pyhf.pdf._ModelConfig.par_names is changed to be a property attribute. (PR #2027)
  • The order of model parameters is now sorted by model parameter name. (PR #1625)
  • Support for writing user custom modifiers is added. (PRs #1625, #1644)
  • Performance in pyhf.readxml is increased by improvements to pyhf.readxml.import_root_histogram. (PR #1691)
  • pyhf.contrib.utils.download is now more robust to different target file types. (PRs #1697, #1704)
  • A pyhf.default_backend has been added that is configurable through a default kwarg in pyhf.set_backend. (PR #1646) This is part of work to make pyhf fully automatic differentiable. (Issue #882)
  • Schema validation now allows for both list and pyhf.tensorlib objects to exist in the model specification. (PR #1647)
  • The minimum required dependencies have been updated to support added features:

    • scipy>=1.2.0 (PR #1274)
    • click>=8.0.0 (PRs #1909, #1958)
    • jsonschema>=4.15.0 (PRs #1976, #1979)
    • importlib_resources>=1.4.0 (for Python 3.7, 3.8) (PR #1979)
    • typing_extensions>=3.7.4.3 (for Python 3.7 only) (PRs #1940, #1961)
  • The minimum required backend versions have been updated to support added features:

    • JAX backend requires jax>=0.2.10, jaxlib>=0.1.61 (PR #1962)
    • PyTorch backend requires torch>=1.10.0 (PR #1657)
    • TensorFlow backend requires tensorflow>=2.7.0, tensorflow-probability>=0.11.0 (PRs #1962, #1657)
    • iminuit optimizer requires iminuit>=2.7.0 (PR #1895)
    • 'xmlio' extra requires uproot>=4.1.1 (PR #1567)

Fixes

  • Use improvements to jsonschema.RefResolver to avoid jsonschema.exceptions.RefResolutionError. (PR #1976)

  • Use the conditional maximum likelihood estimators of the nuisance parameters to create the sampling distributions for pyhf.infer.calculators.ToyCalculator. (PR #1610) This follows the joint recommendations of the ATLAS and CMS experiments in Procedure for the LHC Higgs boson search combination in Summer 2011.

Features

Python API

  • The following functions have been added to the pyhf.tensorlib API:

    • pyhf.tensorlib.transpose (PR #1696)
    • pyhf.tensorlib.percentile (PR #817)
  • pyhf.readxml.parse now supports reading of XML configurations with absolute paths with the addition of the mounts optional argument. (PR #1909)

  • Support for overriding the paths for finding schemas is added, using the pyhf installed location as a base via pyhf.utils.schemas. (PRs #1753, #1818)

    ```pycon

    from pathlib import Path import pyhf.schema currentschemapath = pyhf.schema.path currentschemapath PosixPath('/path/to/your/venv/lib/python3.X/site-packages/pyhf/schemas') customschemapath = Path("/path/to/custom/pyhf/schema") with pyhf.schema(customschemapath): ... print(repr(pyhf.schema.path)) ... PosixPath('/path/to/custom/pyhf/schema') pyhf.schema.path PosixPath('/path/to/your/venv/lib/python3.X/site-packages/pyhf/schemas') ```

  • In pyhf.workspace.Workspace.model the parameter of interest specified in the measurement may now be overridden using the added poi_name kwarg. (PR #1636)

  • The pyhf.parameters.paramsets classes suggested_fixed attribute behavior has been updated to return a list of bool of length n_parameters. To access the behavior used in pyhf v0.6.x use the suggested_fixed_as_bool attribute. (PR #1639)

  • pyhf.pdf._ModelConfig.par_names is changed to be a property attribute. (PR #2027)

  • The order of model parameters is now sorted by model parameter name. (PR #1625)

    ```pycon

    import pyhf model = pyhf.simplemodels.correlatedbackground( ... signal=[12.0, 11.0], ... bkg=[50.0, 52.0], ... bkgup=[45.0, 57.0], ... bkgdown=[55.0, 47.0], ... ) model.config.parorder ['correlatedbkguncertainty', 'mu'] model.config.parnames ['correlatedbkg_uncertainty', 'mu'] ```

  • Support for writing user custom modifiers is added. (PRs #1625, #1644) This is still in the stage where it is targeted at expert users.

  • {modifier}_builder classes are added for all modifiers. (PRs #1625) For example, pyhf.modifiers.histosys.histosys_builder.

  • When using pyhf.writexml and the normfactor parameter config is missing inits or bounds, fall back to using default values. (PRs #1819)

  • Supported options for pyhf.infer.hypotest can now be passed as kwargs through the pyhf.infer.intervals.upper_limits.upper_limit API. (PR #1613) This now enables things like using pyhf.infer.calculators.ToyCalculator as the calculator used for the hypothesis test scan:

    ```pycon

    import numpy as np import pyhf pyhf.setbackend("jax") model = pyhf.simplemodels.uncorrelatedbackground( ... signal=[12.0, 11.0], bkg=[50.0, 52.0], bkguncertainty=[3.0, 7.0] ... ) observations = [51, 48] data = pyhf.tensorlib.astensor(observations + model.config.auxdata) scan = np.linspace(0, 5, 21) obslimit, explimits, (scan, results) = pyhf.infer.intervals.upperlimits.upperlimit( ... data, model, scan, returnresults=True, calctype="toybased", ntoys=3000 ... ) ```

  • Allow for fit parameter values from required fits in pyhf.infer.test_statistics functions to be returned by use of return_fitted_pars kwarg with the pyhf.infer.test_statistics functions and return_calculator kwarg with pyhf.infer.hypotest. (PR #1554)

  • A validate kwarg has been added to pyhf.workspace.Workspace and pyhf.pdf.Model to allow skipping validation. (PR #1646) This should only be used by expert users who understand the risks.

  • A pyhf.default_backend has been added that is configurable through a default kwarg in pyhf.set_backend. (PR #1646) This allows setting the pyhf.default_backend to be different from the value of pyhf.tensorlib returned by pyhf.get_backend, which can be useful in situations where differentiable model construction is needed.

    ```pycon

    import jax import pyhf pyhf.setbackend("jax", default=True) pyhf.setbackend("numpy") pyhf.getbackend() (<pyhf.tensor.numpybackend.numpybackend object at 0x...>, <pyhf.optimize.scipyoptimizer object at 0x...>) pyhf.defaultbackend <pyhf.tensor.jaxbackend.jaxbackend object at 0x...> def exampleop(x): ... return 2 * pyhf.defaultbackend.power(pyhf.defaultbackend.astensor(x), 3) ... exampleop([2.0]) DeviceArray([16.], dtype=float64) jax.jacrev(jax.jit(exampleop))([2.0]) [DeviceArray([24.], dtype=float64, weak_type=True)] ```

  • Schema validation now allows for both list and pyhf.tensorlib objects to exist in the model specification. (PR #1647)

    pycon >>> import pyhf >>> signal = pyhf.tensorlib.astensor([12.0, 11.0]) >>> background = pyhf.tensorlib.astensor([50.0, 52.0]) >>> background_uncertainty = pyhf.tensorlib.astensor([3.0, 7.0]) >>> model = pyhf.simplemodels.uncorrelated_background( ... signal=signal, bkg=background, bkg_uncertainty=background_uncertainty ... )

CLI API

  • The pyhf xlm2json CLI API now has a -v/--mount option to support reading XML configurations with absolute paths. (PR #1909) Similar to Docker volume mounts, the options allows a user to pass two fields separated by a colon (:). The first field is a local path and the second field is the absolute path specified in the XML configuration to be substituted. Without the -v/--mount option a user would have to manually edit the absolute path in each XML file it appeared in!

    console pyhf xml2json \ --mount /local/path/to/workspace:/absolute/path/to/replace/inside/xml \ --output-file workspace.json \ workspace/analysis_config.xml

Deprecations

Python API

  • The pyhf.infer.intervals.upperlimit API has been deprecated in favor of pyhf.infer.intervals.upper_limits.upper_limit. The pyhf.infer.intervals.upperlimit API will removed in pyhf v0.9.0. (PR #1274)

Removals

Python API

  • The pyhf.simplemodels.hepdata_like API, deprecated since pyhf v0.6.2, has been removed. (PR #1670) Use the pyhf.simplemodels.uncorrelated_background API instead.

  • pyhf.workspace.Workspace's parameters attribute is removed in favor of using pyhf.pdf._ModelConfig's parameters. (PR #1625)

  • pyhf.workspace.Workspace.get_measurement has the poi_name kwarg removed. (PR #1636)

Contributors

v0.7.0 benefited from contributions from:

  • Alexander Held
  • Mason Proffitt
  • Lars Henkelmann
  • Aryan Roy
  • Graeme Watt
  • Jerry Ling
  • Nathan Simpson
  • Beojan Stanislaus

Changes

  • fix: Update notebooks to use include_auxdata kwarg for pyhf.Workspace.data by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1588
  • ci: Skip doctest for 'Minimum supported dependencies' workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1589
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1593
  • docs: Correct v0.6.3 release notes to note pyhf.pdf._ModelConfig.channels is a list by @RhnSharma in https://github.com/scikit-hep/pyhf/pull/1592
  • ci: Add Python 3.9 to 'Current Release' workflow tests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1596
  • docs: Update maintainer release checklist with v0.6.3 notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1597
  • ci: Use jupyter-black pre-commit hook over nbqa-black by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1598
  • docs: Add use citation from publishing statistical models white paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1600
  • docs: Add uproot4 writing speedup to v0.6.3 release notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1601
  • docs: Add use citation from collider signatures of coannihilating dark matter paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1604
  • fix: Use MLEs of NPs to create sampling distributions in ToyCalculator by @masonproffitt in https://github.com/scikit-hep/pyhf/pull/1610
  • docs: Add use citation from simplified likelihoods ATLAS PUB note by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1614
  • docs: Use sphinxcontrib-bibtex style 'unsrt' to sort citations in reverse chronological order by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1615
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1616
  • docs: Use sphinx-copybutton prompt regex to fully capture examples by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1617
  • ci: Allow reporting of coverage on PRs from forks by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1622
  • ci: Update codecov-action to v2 API by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1623
  • ci: Report coverage to Codecov without token by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1628
  • feat: Add hypotest kwargs to pyhf.infer.intervals.upperlimit by @aryan26roy in https://github.com/scikit-hep/pyhf/pull/1613
  • feat: Expose fitted parameter values of implicit fits in test statistic calls by @lhenkelm in https://github.com/scikit-hep/pyhf/pull/1554
  • ci: Add absolufy-imports pre-commit hook by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1635
  • feat: Add setup for custom modifiers by @lukasheinrich in https://github.com/scikit-hep/pyhf/pull/1625
  • feat: Allow POI-less models via Workspace.model by @kratsg in https://github.com/scikit-hep/pyhf/pull/1636
  • fix: Fix bug in impact plot visualization by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1642
  • feat: Add POI-less specification support by @kratsg in https://github.com/scikit-hep/pyhf/pull/1638
  • docs: Add and apply codespell as a pre-commit hook by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1645
  • fix: custom modifier / new parameter support and test by @lukasheinrich in https://github.com/scikit-hep/pyhf/pull/1644
  • test: Use netlocs that are known to not exist or give known return by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1651
  • feat: Add support for arrayful JSON by @lukasheinrich in https://github.com/scikit-hep/pyhf/pull/1647
  • test: Remove 'src' from pytest test testpaths to allow for non-editable install in CI by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1467
  • feat: Allow zero rate Poisson by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1657
  • ci: Add release candidates to HEAD of dependencies workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1660
  • feat: Configurable default backend by @kratsg in https://github.com/scikit-hep/pyhf/pull/1646
  • refactor: Simplified parameters by @lukasheinrich in https://github.com/scikit-hep/pyhf/pull/1639
  • ci: Turn off PyPI release tests on pull requests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1664
  • build: Set lower bound of scipy v1.1.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1661
  • build: Update lower bound on jax to v0.2.10 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1666
  • feat: Remove pyhf.simplemodels.hepdata_like from API by @aryan26roy in https://github.com/scikit-hep/pyhf/pull/1670
  • docs: Update 2021 published ATLAS probability models by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1671
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1679
  • refactor: Pass Accept header to requests in contrib.utils.download by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1673
  • fix: Use https protocol as unauthenticated git protocol is no longer supported by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1680
  • docs: Add ATLAS top group probability model records through June 2021 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1681
  • docs: Add ATLAS third-generation scalar leptoquarks search statistical model record by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1682
  • fix: Speed-up readxml by caching key lookup instead of using try/except by @kratsg in https://github.com/scikit-hep/pyhf/pull/1691
  • feat: Add percentile function to tensorlib by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/817
  • docs: only lists are accepted when specifying objects to prune by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1692
  • feat: Add transpose function to tensorlib by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1696
  • refactor: Use jax.numpy for JAX backend tensorlib.tolist by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1138
  • refactor: Use tensorlib.percentile in calculators by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1694
  • test: Use xfail for tests that fail for upstream problems by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1702
  • build: Set only lower bounds on backend dependencies by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1698
  • docs: Ensure docstring examples are contiguous by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1703
  • refactor: Make contrib.utils.download robust to archive file types by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1697
  • fix: Accept tar and zip headers in contrib.utils.download requests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1704
  • fix: Ensure _ModelConfig.suggested_fixed list contains only booleans for all modifiers by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1706
  • ci: Quote GitHub Action python-version number as YAML strings by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1707
  • feat: Raise exception if bin-wise modifier data length doesn't match sample data by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1708
  • feat: Catch unexpected keyword arguments in workspace construction by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1709
  • test: Use scikit-hep-testdata to provide probability models for regression tests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1711
  • fix: Skip doctest of pyhf.contrib.utils.download by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1715
  • chore: Use constraints.txt for lower bound testing by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1713
  • docs: Fix download method of probability models archive in impact plot notebook by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1721
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1723
  • docs: Fix download method of probability models archive in pull plot notebook by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1724
  • feat: Allow skipping validation when constructing workspaces by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1710
  • test: Make failbackend markers add pytest.mark.xfail and remove failjax marker on percentile tests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1730
  • ci: Publish to TestPyPI on tag or by workflow dispatch trigger by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1727
  • docs: Truncate floating point docstring examples to 8 decimal places by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1726
  • docs: Add GitHub Release Radar check to release checklist by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1733
  • docs: Update citation references publication status by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1738
  • docs: Add milestone for 1000 project commits to README by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1739
  • fix: Disallow nbsphinx v0.8.8 to avoid empty "raw" directive bug by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1742
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1741
  • docs: Note shapesys and staterror modifier set to 1 for modifier data of 0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1740
  • ci: Limit concurrent workflow jobs to one per workflow per branch by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1632
  • ci: Update gh-action-pypi-publish to use print_hash by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1743
  • docs: Add use citation from revisiting mono-tau tails at the LHC paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1744
  • fix: Accept ValueError for JAX backend tolist fallback by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1746
  • ci: Launch tmate session if pytest fails on workflow dispatch run by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1748
  • chore: Update black to first stable release v22.1.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1754
  • test: Avoid tensorflow macOS floating point deviation with pytest.approx by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1761
  • ci: Add macos-latest to dependency release candidates testing by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1760
  • docs: Update scipy intersphinx url to drop 'reference' by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1767
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1765
  • test: Add html coverage reports from pytest by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1771
  • test: Consolidate and update pytest options in pyproject.toml by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1773
  • docs: fix link to TRExFitter documentation by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1777
  • docs: Add citation from 'HL-LHC Computing Review Stage 2' paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1779
  • build: Require setuptools v42.0.0+ for stability by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1783
  • build: Remove wheel and attrs from build-system requires by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1788
  • docs: Add section for tutorial and docs to README by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1789
  • feat: Use tbump over bump2version by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1790
  • docs: Add general citation from MadJAX paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1799
  • docs: Update Lukas's affiliation to Technical University of Munich by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1798
  • docs: Add use citation from ATLAS UEH MS displaced jet paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1800
  • docs: Correct Giordon's affiliation to SCIPP in CITATON.cff by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1801
  • docs: Add use citation from ATLAS UEH displaced jets CalRatio paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1802
  • docs: Fix tiny typo in MC Stat Error documentation by @kratsg in https://github.com/scikit-hep/pyhf/pull/1803
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1805
  • refactor: Clarify exception message applies only to profile likelihood ratio by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1806
  • ci: Add CPython 3.10 to testing by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1808
  • build: Add support for Python 3.10 across all backends by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1809
  • docs: Add use citation from neos paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1812
  • docs: Update JAX backend normal docstring to jax v0.3.2 returns by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1813
  • feat: Alternative Schema Locations by @kratsg in https://github.com/scikit-hep/pyhf/pull/1753
  • ci: Report coverage for oldest and newest Python tested by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1817
  • fix: writexml handles missing parameter configs for normfactor by @kratsg in https://github.com/scikit-hep/pyhf/pull/1819
  • feat: Add contextlib support to pyhf.schema API by @kratsg in https://github.com/scikit-hep/pyhf/pull/1818
  • test: Assert exported StatError has no name attribute by @kratsg in https://github.com/scikit-hep/pyhf/pull/1821
  • fix: Disallow Jinja2 v3.1.0 to avoid nbsphinx triggering attribute error by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1824
  • docs: Add JupyterLite REPL for interactive pyhf in docs by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1820
  • fix: bump black to 22.3.0 due to click 8.1 release by @henryiii in https://github.com/scikit-hep/pyhf/pull/1827
  • ci: Use actions/setup-python v3 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1828
  • fix: Add filterwarnings ignore for Pillow DeprecationWarning by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1834
  • ci: Update GitHub Actions to next stable version by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1833
  • ci: Add matplotlib nightly wheels to HEAD of dependencies testing by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1835
  • ci: Add concurrency group to HEAD of dependencies workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1836
  • revert: Remove Jinja2 restrictions given nbconvert v6.4.5 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1837
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1839
  • fix: Override error on filterwarnings to pass notebook tests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1841
  • docs: Add general use citation from SimpleAnalysis ATLAS PUB note by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1842
  • docs: Add general use citation from End-to-End Optimization paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1843
  • docs: Add general use citation from Survey of Open Data Concepts paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1844
  • ci: Add bump version workflow for release tags by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1846
  • refactor: Deprecate distutils in favor of setuptools._distutils by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1849
  • docs: Update developer documentation by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1847
  • docs: Deprecate use of git.io URL shortener by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1851
  • docs: Fix broken links identified by Sphinx linkcheck by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1854
  • ci: Add sphinx linkcheck builder to docs build workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1855
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1859
  • ci: Update ReadTheDocs build to Ubuntu 22.04 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1860
  • docs: Add use citation from strange quark probe Snowmass paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1861
  • docs: Add use citation from ATLAS dE/dX long-lived particle paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1863
  • feat: Allow readxml to demote validation exception to warning by @kratsg in https://github.com/scikit-hep/pyhf/pull/1865
  • docs: Clarify staterror modifier specification by @Moelf in https://github.com/scikit-hep/pyhf/pull/1856
  • test: Ignore LHEP DOI URLs during Sphinx linkcheck by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1866
  • ci: Add semantic PR check GHA workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1868
  • test: Ignore EPJ Web of Conferences DOI URLs during Sphinx linkcheck by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1870
  • test: Restrict tf dependency protobuf to ABI compatible releases by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1869
  • build: Update lower bound on tensorflow to v2.6.5 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1874
  • fix: Allow for true_divide or divide RuntimeWarning from NumPy by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1873
  • docs: Set English as language for Sphinx by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1875
  • docs: Update Matthew's affiliation to University of Wisconsin-Madison by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1876
  • ci: Add 'name-tests-test' to pre-commit hooks by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1877
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1878
  • ci: Use github.workflow property to ensure unique concurrency group by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1879
  • build: Use find_namespace: to ensure discovery of package data by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1881
  • build: Use license_files in setup.cfg by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1883
  • feat: Allow for clipping negative yields in the main model by @kratsg in https://github.com/scikit-hep/pyhf/pull/1845
  • ci: Use '--pytest-test-first' option for naming clarity by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1892
  • build: Update lower bound on iminuit to v2.7.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1895
  • docs: Add use citation from Audrey Kvam's Ph.D. thesis by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1896
  • docs: Update use citations published in journals in June 2022 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1897
  • chore: Use actions/setup-python v4 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1898
  • ci: Enable Dependabot version updates for GitHub Actions by @henryiii in https://github.com/scikit-hep/pyhf/pull/1900
  • chore: Update Docker GitHub Actions to Dependabot bumped versions by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1906
  • build(deps): bump codecov/codecov-action from 2 to 3 by @dependabot in https://github.com/scikit-hep/pyhf/pull/1903
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1913
  • fix: Disallow Sphinx v5.1.0 to avoid 'exception: pop from an empty deque' by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1925
  • build(deps): bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1 by @dependabot in https://github.com/scikit-hep/pyhf/pull/1924
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1927
  • docs: Update lower bound on Sphinx to v5.1.1 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1926
  • fix: Manually set uncertainties for fixed parameters to 0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1919
  • docs: Add July 2022 use citations by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1929
  • docs: Add use citation from Lucas Santiago Borgna's Ph.D. thesis by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1930
  • ci: Add yesqa pre-commit hook by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1932
  • fix: Coverage for importing XML channels with no data by @kratsg in https://github.com/scikit-hep/pyhf/pull/1931
  • fix: Handle importing XML measurements with no POI attribute by @kratsg in https://github.com/scikit-hep/pyhf/pull/1933
  • feat: Handle absolute paths in XML config files (xml2json / readxml) by @kratsg in https://github.com/scikit-hep/pyhf/pull/1909
  • ci: Report coverage for all Python versions by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1936
  • feat: Enable typehints in pre-commit and add typehints to readxml by @kratsg in https://github.com/scikit-hep/pyhf/pull/1934
  • test: Ignore TYPE_CHECKING for coverage by @kratsg in https://github.com/scikit-hep/pyhf/pull/1937
  • build: Set lower bound of typing-extensions to v3.7.4 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1938
  • ci: Make build error on warnings by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1887
  • chore: Remove 'lint' extra from setup.py by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1943
  • refactor: Use string literal types of generic builtins for type checking by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1942
  • build: Update git archival options to support auto versioning by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1951
  • ci: Use 'strict' option for twine check by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1954
  • feat: Validate workspace specification before accessing parts of it by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1953
  • ci: Deploy GitHub Pages docs directly using GitHub Actions by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1955
  • fix: Populate the schema cache with local defs.json again by @lhenkelm in https://github.com/scikit-hep/pyhf/pull/1917
  • feat: Add typehints to pyhf.tensor by @kratsg in https://github.com/scikit-hep/pyhf/pull/1940
  • build: Update lower bound of click to v8.0.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1958
  • build: Update lower bound of typing-extensions to v3.7.4.3 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1961
  • build: Update lower bounds to tensorflow v2.7.0, jaxlib v0.1.61 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1962
  • ci: Restrict deployments of environments to PR merges by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1960
  • docs: Add link to public-probability-models website by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1956
  • fix: Keep staterror from affecting multiple samples by @lukasheinrich in https://github.com/scikit-hep/pyhf/pull/1965
  • ci: Publish to PyPI on publish of GitHub release by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1968
  • docs: Add typehint aliases by @kratsg in https://github.com/scikit-hep/pyhf/pull/1969
  • fix: Base URI for jsonschema.RefResolver has better behavior by @kratsg in https://github.com/scikit-hep/pyhf/pull/1976
  • build: Update lower bounds to jsonschema v4.15.0, importlib-resources v1.4.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1979
  • fix: Add PR number to Semantic PR Title Check concurrency group by @kratsg in https://github.com/scikit-hep/pyhf/pull/1981
  • feat: Promote validate kwarg to top-level functions in pyhf.simplemodels by @phinate in https://github.com/scikit-hep/pyhf/pull/1858
  • docs: Clarify absolute/relative for histosys by @kratsg in https://github.com/scikit-hep/pyhf/pull/1971
  • docs: Document Channel Summary Mixin by @kratsg in https://github.com/scikit-hep/pyhf/pull/1972
  • docs: Harmonize docstring for test_stat in ToyCalculator by @kratsg in https://github.com/scikit-hep/pyhf/pull/1970
  • feat: Add support for _ModelConfig.set_poi(None) to unset model POI by @kratsg in https://github.com/scikit-hep/pyhf/pull/1985
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1989
  • fix: Add guards against shared shapesys paramsets by @kratsg in https://github.com/scikit-hep/pyhf/pull/1977
  • feat: Add type hints for tensor manager by @kratsg in https://github.com/scikit-hep/pyhf/pull/1963
  • fix: Form data through loop over channels for multichannel coupled histo notebook by @kratsg in https://github.com/scikit-hep/pyhf/pull/1974
  • feat: Allow schema validation with tensor types by @kratsg in https://github.com/scikit-hep/pyhf/pull/1665
  • fix: Guard against nan in test stat calculation by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1993
  • fix: Pin codemetapy to v0.3.5 for --no-extras functionality by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1995
  • ci: Install release candidates for 'current release' test workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1996
  • refactor: Use urllib.parse.urlsplit over urlparse by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1997
  • docs: Add Binder Python runtime environment specification by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1998
  • fix: Update codemeta lower bounds for jsonschema, importlib-resources by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2000
  • docs: Add milestone for 2000 project GitHub items by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2001
  • fix: Use codemetapy v2.2.2+ API by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2002
  • fix: Add filterwarnings ignore for protobuf DeprecationWarning by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2005
  • fix: Specify encoding as utf-8 to enforce PEP 597 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2007
  • docs: Add FAQ on reasons for need to downgrade dependencies by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1529
  • test: Update testplotresultsnoaxis baseline image by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2009
  • feat: Add internal API to warn of deprecation and future removal by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2012
  • fix: Use function scope to avoid altering hypotest_args fixture by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2011
  • test: Discover pytest fixtures during doctest by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2017
  • feat: Add autoscan for upper limit using TOMS Algorithm 748 by @beojan in https://github.com/scikit-hep/pyhf/pull/1274
  • ci: Ignore Dependabot PRs to update tests/constraints.txt by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2010
  • chore: Update references to default branch to 'main' by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2019
  • docs: Remove requests install from JupyterLite REPL setup by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2020
  • docs: Update list of statistical models for 2022 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2018
  • docs: Update release checklist notes for Conda-forge and LCG views by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2021
  • chore: Update codemeta.json for scipy lower bounds by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2023
  • docs: Add versionadded to new tensorlib methods by @kratsg in https://github.com/scikit-hep/pyhf/pull/2025
  • docs: Update use citations and general citations to latest distribution by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2026
  • feat: Make par_names a _ModelConfig property attribute by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/2027
  • docs: Add v0.7.0 release notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1705

New Contributors

  • @RhnSharma made their first contribution in https://github.com/scikit-hep/pyhf/pull/1592
  • @masonproffitt made their first contribution in https://github.com/scikit-hep/pyhf/pull/1610
  • @aryan26roy made their first contribution in https://github.com/scikit-hep/pyhf/pull/1613
  • @lhenkelm made their first contribution in https://github.com/scikit-hep/pyhf/pull/1554
  • @Moelf made their first contribution in https://github.com/scikit-hep/pyhf/pull/1856
  • @phinate made their first contribution in https://github.com/scikit-hep/pyhf/pull/1858
  • @beojan made their first contribution in https://github.com/scikit-hep/pyhf/pull/1274

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.6.3...v0.7.0

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 3 years ago

pyhf - v0.7.0rc4

Notes

This is the fourth v0.7.0 release candidate. Please use this for API testing, and for testing correctness or performance for v0.7.0.

To install the release candidate you can either use pip install's --pre flag

python -m pip install --upgrade --pre pyhf

or specify the version number exactly

python -m pip install --upgrade 'pyhf==0.7.0rc4'

What's Changed

  • docs: Document Channel Summary Mixin by @kratsg in https://github.com/scikit-hep/pyhf/pull/1972
  • docs: Harmonize docstring for test_stat in ToyCalculator by @kratsg in https://github.com/scikit-hep/pyhf/pull/1970
  • feat: Add support for _ModelConfig.set_poi(None) to unset model POI by @kratsg in https://github.com/scikit-hep/pyhf/pull/1985
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1989
  • fix: Add guards against shared shapesys paramsets by @kratsg in https://github.com/scikit-hep/pyhf/pull/1977
  • feat: Add type hints for tensor manager by @kratsg in https://github.com/scikit-hep/pyhf/pull/1963
  • fix: Form data through loop over channels for multichannel coupled histo notebook by @kratsg in https://github.com/scikit-hep/pyhf/pull/1974
  • feat: Allow schema validation with tensor types by @kratsg in https://github.com/scikit-hep/pyhf/pull/1665
  • fix: Guard against nan in test stat calculation by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1993
  • fix: Pin codemetapy to v0.3.5 for --no-extras functionality by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1995
  • ci: Install release candidates for 'current release' test workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1996
  • refactor: Use urllib.parse.urlsplit over urlparse by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1997

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.7.0rc3...v0.7.0rc4

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 3 years ago

pyhf - v0.7.0rc3

Notes

This is the third v0.7.0 release candidate. Please use this for API testing, and for testing correctness or performance for v0.7.0.

To install the release candidate you can either use pip install's --pre flag

python -m pip install --upgrade --pre pyhf

or specify the version number exactly

python -m pip install --upgrade 'pyhf==0.7.0rc3'

What's Changed

  • docs: Add typehint aliases by @kratsg in https://github.com/scikit-hep/pyhf/pull/1969
  • fix: Base URI for jsonschema.RefResolver has better behavior by @kratsg in https://github.com/scikit-hep/pyhf/pull/1976
  • build: Update lower bounds to jsonschema v4.15.0, importlib-resources v1.4.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1979
  • fix: Add PR number to Semantic PR Title Check concurrency group by @kratsg in https://github.com/scikit-hep/pyhf/pull/1981
  • feat: Promote validate kwarg to top-level functions in pyhf.simplemodels by @phinate in https://github.com/scikit-hep/pyhf/pull/1858
  • docs: Clarify absolute/relative for histosys by @kratsg in https://github.com/scikit-hep/pyhf/pull/1971

New Contributors

  • @phinate made their first contribution in https://github.com/scikit-hep/pyhf/pull/1858

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.7.0rc2...v0.7.0rc3

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 3 years ago

pyhf - v0.7.0rc2

Notes

This is the second v0.7.0 release candidate. Please use this for API testing, and for testing correctness or performance for v0.7.0.

To install the release candidate you can either use pip install's --pre flag

python -m pip install --upgrade --pre pyhf

or specify the version number exactly

python -m pip install --upgrade 'pyhf==0.7.0rc2'

What's Changed

  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1913
  • fix: Disallow Sphinx v5.1.0 to avoid 'exception: pop from an empty deque' by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1925
  • build(deps): bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1 by @dependabot in https://github.com/scikit-hep/pyhf/pull/1924
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1927
  • docs: Update lower bound on Sphinx to v5.1.1 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1926
  • fix: Manually set uncertainties for fixed parameters to 0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1919
  • docs: Add July 2022 use citations by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1929
  • docs: Add use citation from Lucas Santiago Borgna's Ph.D. thesis by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1930
  • ci: Add yesqa pre-commit hook by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1932
  • fix: Coverage for importing XML channels with no data by @kratsg in https://github.com/scikit-hep/pyhf/pull/1931
  • fix: Handle importing XML measurements with no POI attribute by @kratsg in https://github.com/scikit-hep/pyhf/pull/1933
  • feat: Handle absolute paths in XML config files (xml2json / readxml) by @kratsg in https://github.com/scikit-hep/pyhf/pull/1909
  • ci: Report coverage for all Python versions by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1936
  • feat: Enable typehints in pre-commit and add typehints to readxml by @kratsg in https://github.com/scikit-hep/pyhf/pull/1934
  • test: Ignore TYPE_CHECKING for coverage by @kratsg in https://github.com/scikit-hep/pyhf/pull/1937
  • build: Set lower bound of typing-extensions to v3.7.4 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1938
  • ci: Make build error on warnings by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1887
  • chore: Remove 'lint' extra from setup.py by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1943
  • refactor: Use string literal types of generic builtins for type checking by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1942
  • build: Update git archival options to support auto versioning by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1951
  • ci: Use 'strict' option for twine check by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1954
  • feat: Validate workspace specification before accessing parts of it by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1953
  • ci: Deploy GitHub Pages docs directly using GitHub Actions by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1955
  • fix: Populate the schema cache with local defs.json again by @lhenkelm in https://github.com/scikit-hep/pyhf/pull/1917
  • feat: Add typehints to pyhf.tensor by @kratsg in https://github.com/scikit-hep/pyhf/pull/1940
  • build: Update lower bound of click to v8.0.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1958
  • build: Update lower bound of typing-extensions to v3.7.4.3 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1961
  • build: Update lower bounds to tensorflow v2.7.0, jaxlib v0.1.61 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1962
  • ci: Restrict deployments of environments to PR merges by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1960
  • docs: Add link to public-probability-models website by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1956
  • fix: Keep staterror from affecting multiple samples by @lukasheinrich in https://github.com/scikit-hep/pyhf/pull/1965
  • ci: Publish to PyPI on publish of GitHub release by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1968

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.7.0rc1...v0.7.0rc2

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 3 years ago

pyhf - v0.7.0rc1

Notes

This is the first v0.7.0 release candidate and contains a known bugs related to staterror (Issue #1720) and shapesys correlation (Issue #1908) that were introduced after v0.6.3. While this is suitable for API testing, please wait for v0.7.0rc2 before testing correctness or performance.

To install the release candidate you can either use pip install's --pre flag

python -m pip install --upgrade --pre pyhf

or specify the version number exactly

python -m pip install --upgrade 'pyhf==0.7.0rc1'

What's Changed

  • fix: Update notebooks to use include_auxdata kwarg for pyhf.Workspace.data by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1588
  • ci: Skip doctest for 'Minimum supported dependencies' workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1589
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1593
  • docs: Correct v0.6.3 release notes to note pyhf.pdf._ModelConfig.channels is a list by @RhnSharma in https://github.com/scikit-hep/pyhf/pull/1592
  • ci: Add Python 3.9 to 'Current Release' workflow tests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1596
  • docs: Update maintainer release checklist with v0.6.3 notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1597
  • ci: Use jupyter-black pre-commit hook over nbqa-black by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1598
  • docs: Add use citation from publishing statistical models white paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1600
  • docs: Add uproot4 writing speedup to v0.6.3 release notes by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1601
  • docs: Add use citation from collider signatures of coannihilating dark matter paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1604
  • fix: Use MLEs of NPs to create sampling distributions in ToyCalculator by @masonproffitt in https://github.com/scikit-hep/pyhf/pull/1610
  • docs: Add use citation from simplified likelihoods ATLAS PUB note by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1614
  • docs: Use sphinxcontrib-bibtex style 'unsrt' to sort citations in reverse chronological order by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1615
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1616
  • docs: Use sphinx-copybutton prompt regex to fully capture examples by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1617
  • ci: Allow reporting of coverage on PRs from forks by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1622
  • ci: Update codecov-action to v2 API by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1623
  • ci: Report coverage to Codecov without token by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1628
  • feat: Add hypotest kwargs to pyhf.infer.intervals.upperlimit by @aryan26roy in https://github.com/scikit-hep/pyhf/pull/1613
  • feat: Expose fitted parameter values of implicit fits in test statistic calls by @lhenkelm in https://github.com/scikit-hep/pyhf/pull/1554
  • ci: Add absolufy-imports pre-commit hook by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1635
  • feat: Add setup for custom modifiers by @lukasheinrich in https://github.com/scikit-hep/pyhf/pull/1625
  • feat: Allow POI-less models via Workspace.model by @kratsg in https://github.com/scikit-hep/pyhf/pull/1636
  • fix: Fix bug in impact plot visualization by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1642
  • feat: Add POI-less specification support by @kratsg in https://github.com/scikit-hep/pyhf/pull/1638
  • docs: Add and apply codespell as a pre-commit hook by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1645
  • fix: custom modifier / new parameter support and test by @lukasheinrich in https://github.com/scikit-hep/pyhf/pull/1644
  • test: Use netlocs that are known to not exist or give known return by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1651
  • feat: Add support for arrayful JSON by @lukasheinrich in https://github.com/scikit-hep/pyhf/pull/1647
  • test: Remove 'src' from pytest test testpaths to allow for non-editable install in CI by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1467
  • feat: Allow zero rate Poisson by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1657
  • ci: Add release candidates to HEAD of dependencies workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1660
  • feat: Configurable default backend by @kratsg in https://github.com/scikit-hep/pyhf/pull/1646
  • refactor: Simplified parameters by @lukasheinrich in https://github.com/scikit-hep/pyhf/pull/1639
  • ci: Turn off PyPI release tests on pull requests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1664
  • build: Set lower bound of scipy v1.1.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1661
  • build: Update lower bound on jax to v0.2.10 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1666
  • feat: Remove pyhf.simplemodels.hepdata_like from API by @aryan26roy in https://github.com/scikit-hep/pyhf/pull/1670
  • docs: Update 2021 published ATLAS probability models by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1671
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1679
  • refactor: Pass Accept header to requests in contrib.utils.download by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1673
  • fix: Use https protocol as unauthenticated git protocol is no longer supported by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1680
  • docs: Add ATLAS top group probability model records through June 2021 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1681
  • docs: Add ATLAS third-generation scalar leptoquarks search statistical model record by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1682
  • fix: Speed-up readxml by caching key lookup instead of using try/except by @kratsg in https://github.com/scikit-hep/pyhf/pull/1691
  • feat: Add percentile function to tensorlib by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/817
  • docs: only lists are accepted when specifying objects to prune by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1692
  • feat: Add transpose function to tensorlib by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1696
  • refactor: Use jax.numpy for JAX backend tensorlib.tolist by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1138
  • refactor: Use tensorlib.percentile in calculators by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1694
  • test: Use xfail for tests that fail for upstream problems by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1702
  • build: Set only lower bounds on backend dependencies by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1698
  • docs: Ensure docstring examples are contiguous by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1703
  • refactor: Make contrib.utils.download robust to archive file types by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1697
  • fix: Accept tar and zip headers in contrib.utils.download requests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1704
  • fix: Ensure _ModelConfig.suggested_fixed list contains only booleans for all modifiers by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1706
  • ci: Quote GitHub Action python-version number as YAML strings by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1707
  • feat: Raise exception if bin-wise modifier data length doesn't match sample data by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1708
  • feat: Catch unexpected keyword arguments in workspace construction by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1709
  • test: Use scikit-hep-testdata to provide probability models for regression tests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1711
  • fix: Skip doctest of pyhf.contrib.utils.download by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1715
  • chore: Use constraints.txt for lower bound testing by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1713
  • docs: Fix download method of probability models archive in impact plot notebook by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1721
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1723
  • docs: Fix download method of probability models archive in pull plot notebook by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1724
  • feat: Allow skipping validation when constructing workspaces by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1710
  • test: Make failbackend markers add pytest.mark.xfail and remove failjax marker on percentile tests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1730
  • ci: Publish to TestPyPI on tag or by workflow dispatch trigger by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1727
  • docs: Truncate floating point docstring examples to 8 decimal places by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1726
  • docs: Add GitHub Release Radar check to release checklist by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1733
  • docs: Update citation references publication status by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1738
  • docs: Add milestone for 1000 project commits to README by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1739
  • fix: Disallow nbsphinx v0.8.8 to avoid empty "raw" directive bug by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1742
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1741
  • docs: Note shapesys and staterror modifier set to 1 for modifier data of 0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1740
  • ci: Limit concurrent workflow jobs to one per workflow per branch by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1632
  • ci: Update gh-action-pypi-publish to use print_hash by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1743
  • docs: Add use citation from revisiting mono-tau tails at the LHC paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1744
  • fix: Accept ValueError for JAX backend tolist fallback by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1746
  • ci: Launch tmate session if pytest fails on workflow dispatch run by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1748
  • chore: Update black to first stable release v22.1.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1754
  • test: Avoid tensorflow macOS floating point deviation with pytest.approx by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1761
  • ci: Add macos-latest to dependency release candidates testing by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1760
  • docs: Update scipy intersphinx url to drop 'reference' by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1767
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1765
  • test: Add html coverage reports from pytest by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1771
  • test: Consolidate and update pytest options in pyproject.toml by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1773
  • docs: fix link to TRExFitter documentation by @alexander-held in https://github.com/scikit-hep/pyhf/pull/1777
  • docs: Add citation from 'HL-LHC Computing Review Stage 2' paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1779
  • build: Require setuptools v42.0.0+ for stability by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1783
  • build: Remove wheel and attrs from build-system requires by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1788
  • docs: Add section for tutorial and docs to README by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1789
  • feat: Use tbump over bump2version by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1790
  • docs: Add general citation from MadJAX paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1799
  • docs: Update Lukas's affiliation to Technical University of Munich by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1798
  • docs: Add use citation from ATLAS UEH MS displaced jet paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1800
  • docs: Correct Giordon's affiliation to SCIPP in CITATON.cff by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1801
  • docs: Add use citation from ATLAS UEH displaced jets CalRatio paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1802
  • docs: Fix tiny typo in MC Stat Error documentation by @kratsg in https://github.com/scikit-hep/pyhf/pull/1803
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1805
  • refactor: Clarify exception message applies only to profile likelihood ratio by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1806
  • ci: Add CPython 3.10 to testing by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1808
  • build: Add support for Python 3.10 across all backends by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1809
  • docs: Add use citation from neos paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1812
  • docs: Update JAX backend normal docstring to jax v0.3.2 returns by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1813
  • feat: Alternative Schema Locations by @kratsg in https://github.com/scikit-hep/pyhf/pull/1753
  • ci: Report coverage for oldest and newest Python tested by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1817
  • fix: writexml handles missing parameter configs for normfactor by @kratsg in https://github.com/scikit-hep/pyhf/pull/1819
  • feat: Add contextlib support to pyhf.schema API by @kratsg in https://github.com/scikit-hep/pyhf/pull/1818
  • test: Assert exported StatError has no name attribute by @kratsg in https://github.com/scikit-hep/pyhf/pull/1821
  • fix: Disallow Jinja2 v3.1.0 to avoid nbsphinx triggering attribute error by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1824
  • docs: Add JupyterLite REPL for interactive pyhf in docs by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1820
  • fix: bump black to 22.3.0 due to click 8.1 release by @henryiii in https://github.com/scikit-hep/pyhf/pull/1827
  • ci: Use actions/setup-python v3 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1828
  • fix: Add filterwarnings ignore for Pillow DeprecationWarning by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1834
  • ci: Update GitHub Actions to next stable version by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1833
  • ci: Add matplotlib nightly wheels to HEAD of dependencies testing by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1835
  • ci: Add concurrency group to HEAD of dependencies workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1836
  • revert: Remove Jinja2 restrictions given nbconvert v6.4.5 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1837
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1839
  • fix: Override error on filterwarnings to pass notebook tests by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1841
  • docs: Add general use citation from SimpleAnalysis ATLAS PUB note by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1842
  • docs: Add general use citation from End-to-End Optimization paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1843
  • docs: Add general use citation from Survey of Open Data Concepts paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1844
  • ci: Add bump version workflow for release tags by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1846
  • refactor: Deprecate distutils in favor of setuptools._distutils by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1849
  • docs: Update developer documentation by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1847
  • docs: Deprecate use of git.io URL shortener by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1851
  • docs: Fix broken links identified by Sphinx linkcheck by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1854
  • ci: Add sphinx linkcheck builder to docs build workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1855
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1859
  • ci: Update ReadTheDocs build to Ubuntu 22.04 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1860
  • docs: Add use citation from strange quark probe Snowmass paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1861
  • docs: Add use citation from ATLAS dE/dX long-lived particle paper by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1863
  • feat: Allow readxml to demote validation exception to warning by @kratsg in https://github.com/scikit-hep/pyhf/pull/1865
  • docs: Clarify staterror modifier specification by @Moelf in https://github.com/scikit-hep/pyhf/pull/1856
  • test: Ignore LHEP DOI URLs during Sphinx linkcheck by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1866
  • ci: Add semantic PR check GHA workflow by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1868
  • test: Ignore EPJ Web of Conferences DOI URLs during Sphinx linkcheck by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1870
  • test: Restrict tf dependency protobuf to ABI compatible releases by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1869
  • build: Update lower bound on tensorflow to v2.6.5 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1874
  • fix: Allow for true_divide or divide RuntimeWarning from NumPy by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1873
  • docs: Set English as language for Sphinx by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1875
  • docs: Update Matthew's affiliation to University of Wisconsin-Madison by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1876
  • ci: Add 'name-tests-test' to pre-commit hooks by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1877
  • chore: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/scikit-hep/pyhf/pull/1878
  • ci: Use github.workflow property to ensure unique concurrency group by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1879
  • build: Use find_namespace: to ensure discovery of package data by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1881
  • build: Use license_files in setup.cfg by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1883
  • feat: Allow for clipping negative yields in the main model by @kratsg in https://github.com/scikit-hep/pyhf/pull/1845
  • ci: Use '--pytest-test-first' option for naming clarity by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1892
  • build: Update lower bound on iminuit to v2.7.0 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1895
  • docs: Add use citation from Audrey Kvam's Ph.D. thesis by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1896
  • docs: Update use citations published in journals in June 2022 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1897
  • chore: Use actions/setup-python v4 by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1898
  • ci: Enable Dependabot version updates for GitHub Actions by @henryiii in https://github.com/scikit-hep/pyhf/pull/1900
  • chore: Update Docker GitHub Actions to Dependabot bumped versions by @matthewfeickert in https://github.com/scikit-hep/pyhf/pull/1906
  • build(deps): bump codecov/codecov-action from 2 to 3 by @dependabot in https://github.com/scikit-hep/pyhf/pull/1903

New Contributors

  • @RhnSharma made their first contribution in https://github.com/scikit-hep/pyhf/pull/1592
  • @masonproffitt made their first contribution in https://github.com/scikit-hep/pyhf/pull/1610
  • @aryan26roy made their first contribution in https://github.com/scikit-hep/pyhf/pull/1613
  • @lhenkelm made their first contribution in https://github.com/scikit-hep/pyhf/pull/1554
  • @Moelf made their first contribution in https://github.com/scikit-hep/pyhf/pull/1856

Full Changelog: https://github.com/scikit-hep/pyhf/compare/v0.6.3...v0.7.0rc1

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 3 years ago

pyhf - v0.6.3

This is a patch release from v0.6.2v0.6.3.

Important Notes

  • With the addition of writing ROOT files in uproot v4.1.0 the xmlio extra no longer requires uproot3 and all dependencies on uproot3 and uproot3-methods have been dropped. (PR #1567). uproot4 additionally brings large speedups to writing, which results in an order of magnitude faster conversion time for most workspace conversions from JSON back to XML + ROOT with pyhf json2xml.
  • All backends are now fully compatible and tested with Python 3.9. (PR #1574)
  • The TensorFlow backend now supports compatibility with TensorFlow v2.2.1 and later and TensorFlow Probability v0.10.1 and later. (PR #1001)
  • The pyhf.workspace.Workspace.data() with_aux keyword arg has been renamed to include_auxdata to improve API consistency. (PR #1562)

Fixes

  • The weakref bug with Click v8.0+ was resolved. pyhf is now fully compatible with Click v7 and v8 releases. (PR #1530)

Features

Python API

```python

import pyhf model = pyhf.simplemodels.uncorrelatedbackground( ... signal=[12.0, 11.0], bkg=[50.0, 52.0], bkguncertainty=[3.0, 7.0] ... ) model.config.parameters ['mu', 'uncorrbkguncrt'] model.config.npars 3 model.config.parnames() ['mu', 'uncorrbkguncrt[0]', 'uncorrbkguncrt[1]'] ```

Changes

  • docs: Add v0.6.3 release notes (#1583)
  • docs: Update JAX backend poisson docstring to jax v0.2.20 returns (#1584)
  • docs: Fix links to existing issues for 'docs' and 'feat' labels (#1582)
  • docs: Use GitHub Issue forms as Issue templates (#1576)
  • feat: Add support for Python 3.9 across all backends (#1574)
  • fix: Ensure TensorFlow backend Poisson compatibility with other backends (#1001)
  • ci: Use Google Cloud Storage buckets for long term JAX wheel stability (#1579)
  • docs: Add use citations from vCHEP 2021 (#1572)
  • chore: Remove unnecessary str conversions of pathlib.Path objects (#1568)
  • feat: Drop uproot3 for uproot4 for writing ROOT files (#1567)
  • fix: Remove .dockerignore to give clean working tree during Docker build (#1569)
  • style: Update validation scripts to be more Pythonic (#1565)
  • feat: Rename kwarg withaux to includeauxdata in pyhf.Workspace.data API (#1562)
  • ci: Check sdist and wheel listed contents with python -m CLI (#1563)
  • feat: par_names handles non-scalar modifiers with 1 parameter (#1560)
  • docs: Promote comments to docstring examples for pyhf.event (#1556)
  • fix: Remove WeakList in favor of built-ins (#1530)
  • chore: Define OS in base image tag of Dockerfile (#1552)
  • docs: Add CITATION.cff Citation File Format file (#1551)
  • refactor: Use absolute imports over explicit relative imports (#1539)
  • feat: Sort _ChannelSummaryMixin.channel_nbins by keys to match channels order (#1546)
  • docs: Separate citations into 'use' and 'general' (#1540)
  • chore: [pre-commit.ci] pre-commit autoupdate (#1542)
  • docs: Add citation from heavy neutral leptons neutrino oscillation model paper (#1537)
  • docs: Add project origin summary (#1415)
  • feat: Propagate model parameter names to optimizers (#1536)
  • fix: Use nightly SciPy wheels from Anaconda in HEAD of dependencies testing (#1533)
  • test: Temporarily move to testing against SciPy pre-releases (#1532)
  • fix: Unrestrict jaxlib upper bound and exclude jaxlib v0.1.68 (#524)
  • test: Remove tests of deprecated simplemodels.hepdata_like API (#1521)
  • chore: [pre-commit.ci] pre-commit autoupdate (#1520)
  • docs: Update citation for 'Charged Lepton Flavor Violation at the EIC' paper (#1518)
  • docs: Add release notes URL to PyPI project urls metadata (#1512)
  • test: Remove 32b test_minimize tests from optim tests (#1504)
  • fix: Temporarily restrict jaxlib to below v0.1.68 (#1502)

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 4 years ago

pyhf - v0.6.2

This is a patch release from v0.6.1v0.6.2.

Important Notes

  • The pyhf.simplemodels.hepdata_like() API has been deprecated in favor of pyhf.simplemodels.uncorrelated_background(). The pyhf.simplemodels.hepdata_like() API will be removed in pyhf v0.7.0. (PR #1438)
  • There is a small breaking API change for pyhf.contrib.viz.brazil.plot_results(). See the Python API changes section for more information.
  • The pyhf.patchset.PatchSet schema now allows string types for patch values in patchsets. (PR #1488)
  • Only lower bounds on core dependencies are now set. This allows for greater developer freedom and reduces the risk of breaking user’s applications by unnecessarily constraining libraries. This also means that users will be responsible for ensuring that their installed dependencies do not conflict with or break pyhf. c.f. Hynek Schlawack’s blog post Semantic Versioning Will Not Save You for more in-depth coverage on this topic. For most users nothing should change. This mainly affects developers of other libraries in which pyhf is a dependency. (PR #1382)
  • Calling dir() on any pyhf module or trying to tab complete an API will now provide a more helpfully restricted view of the available APIs. This should help provide better exploration of the pyhf API. (PR #1403) python >>> import pyhf >>> pyhf. # Tab complete pyhf.Model( pyhf.Workspace( pyhf.exceptions pyhf.infer pyhf.modifiers pyhf.parameters pyhf.pdf pyhf.set_backend( pyhf.tensor pyhf.utils pyhf.PatchSet( pyhf.compat pyhf.get_backend( pyhf.interpolators pyhf.optimizer pyhf.patchset pyhf.probability pyhf.simplemodels pyhf.tensorlib pyhf.workspace
  • Docker images of releases are now published to both Docker Hub and to the GitHub Container Registry. (PR #1444)
  • CUDA enabled Docker images are now available for release v0.6.1 and later on Docker Hub and the GitHub Container Registry. Visit https://github.com/pyhf/cuda-images for more information.

Fixes

  • Allow for precision to be properly set for the tensorlib ones and zeros methods through a dtype argument. This allows for precision to be properly set through the pyhf.set_backend() precision argument. (PR #1369)
  • The default precision for all backends is now 64b. (PR #1400)
  • Add check to ensure that POIs are not fixed during a fit. (PR #1409)
  • Parameter name strings are now normalized to remove trailing spaces. (PR #1436)
  • The logging level is now not automatically set in pyhf.contrib.utils. (PR #1460)

Features

Python API

api_example

  • The pyhf.compat module has been added to aid in translating to and from ROOT names. (PR #1439)

CLI API

  • The CLI API now supports a patchset inspect API to list the individual patches in a PatchSet. (PR #1412)

console pyhf patchset inspect [OPTIONS] [PATCHSET]

Contributors

v0.6.2 benefited from contributions from:

  • Alexander Held (@alexander-held)

Changes:

  • chore: Update codemeta softwareRequirements to match setup.cfg (#1498)
  • docs: Add v0.6.2 release notes (#1495)
  • docs: Add developer release checklist Issue template (#1493)
  • docs: Improve badge layout and fix broken Docker badge (#1497)
  • docs: Add squarks and gluinos search statistical model record (#1496)
  • ci: Remove distribution options to enable default build v0.5.0 behavior (#1492)
  • chore: Update pre-commit hooks versions and run order (#1490)
  • feat: Allow strings in patch values for patchset (#1488)
  • chore: Use tmpdir fixture over datadir in pyhf contrib download tests (#1487)
  • docs: Add use citation from ATLAS SUSY 3L+compressed combination paper (#1483)
  • chore: Add default virtual environment on PATH for Docker image (#1484)
  • chore: Use version.py to follow setuptoolsscm recommendations (#1480)
  • feat: Add 'contrib' extra to Docker images (#1479)
  • docs: Add use citation from Belle II in Moriond EW 2021 contribution (#1475)
  • chore: Use newer setuptools_scm for versioning (#1450)
  • fix: Do not configure logging in contrib.utils (#1460)
  • ci: Don't login to Docker container registries on PRs (#1463)
  • chore: Trial pip in-tree-build before release in pip 21.3 (#1453)
  • fix: Update to mathjax3_config to support math rendering in Sphinx v4.x+ (#1457)
  • build: Revise MANIFEST.in strategy to properly use prune (#1449)
  • feat: ROOT parameter name compatibility module (#1439)
  • ci: Publish Docker images to GitHub Container Registry (#1444)
  • ci: Set pre-commit.ci autoupdate schedule to monthly (#1440)
  • chore: [pre-commit.ci] pre-commit autoupdate (#1445)
  • refactor: Deprecate simplemodels.hepdatalike API for uncorrelatedbackground (#1438)
  • fix: Remove load option from Docker workflow publish steps (#1442)
  • ci: Update Docker workflow to build-push-action v2 (#1441)
  • fix: Remove trailing spaces in parameter names (#1436)
  • feat: Add correlated_background API to simplemodels (#1435)
  • ci: Add custom commit message for pre-commit.ci autoupdate (#1432)
  • docs: Add CERN Courier article to media listing (#1429)
  • chore: [pre-commit.ci] pre-commit autoupdate (#1428)
  • chore: Use module level dir to restrict public API views (#1403)
  • docs: Add docstrings to _ModelConfig methods (#1420)
  • docs: Update software citation URL to Zenodo DOI (#1424)
  • docs: Add utils.citation to Python API docs (#1419)
  • docs: Add use citation from Belle II B⁺→ K⁺νν̅ decays search paper (#1421)
  • feat: Add CLs component plotting kwargs to contrib.viz.brazil.plot_results (#1377)
  • chore: Update Black to release v21.4b1 (#1418)
  • chore: Update Black to release v21.4b0 (#1417)
  • docs: Add use citation from single leptoquark B-physics anomalies paper (#1416)
  • feat: pyhf patchset inspect (#1412)
  • chore: Update flake8 and nbQA in pre-commit (#1411)
  • fix: check POIs floating (#1409)
  • chore: Update to pyupgrade v2.12.0 in pre-commit (#1404)
  • refactor: Set default precision to 64b (#1400)
  • fix: Ensure tensorlib precision used throughout TensorFlow backend (#1399)
  • fix: Stricter schema definitions for histosys and normsys (#1388)
  • chore: Update to nbQA v0.6.0 in pre-commit (#1395)
  • fix: Loosen iminuit tolerances for optimization tests (#1306)
  • feat: Use PyYAML's safe_load for better security (#1383)
  • build: Set only lower bounds on core dependencies (#1382)
  • ci: Simplify CodeQL scan setup (#1384)
  • chore: Ignore JAX tensor type in doctest (#1379)
  • ci: Upload coverage to Codecov in flagged stages for complete coverage report (#1380)
  • fix: Correct JAX tensor type in docstring (#1375)
  • fix: Set precision for ones and zeros through dtype arg (#1369)
  • chore: Update to pyupgrade 2.11.0 in pre-commit (#1370)
  • fix: Adjust sbottom region A regression test tolerance for GHA runner change (#1364)
  • chore: Update to flake8 3.9.0 in pre-commit (#1363)

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 4 years ago

pyhf - v0.6.1

This is a patch release from v0.6.0v0.6.1.

Important Notes

  • As a result of changes to the default behavior of torch.distributions in PyTorch v1.8.0, accommodating changes have been made in the underlying implementations for pyhf.tensor.pytorch_backend.pytorch_backend. These changes require a new lower bound of torch v1.8.0 for use of the PyTorch backend.

Fixes

  • In the PyTorch backend the validate_args kwarg is used with torch.distributions to ensure a continuous approximation of the Poisson distribution in torch v1.8.0+.

Features

Python API

  • The solver_options kwarg can be passed to the pyhf.optimize.opt_scipy.scipy_optimizer optimizer for additional configuration of the minimization. See scipy.optimize.show_options for additional options of optimization solvers.
  • The torch API is now used to provide the implementations of the ravel, tile, and outer tensorlib methods for the PyTorch backend.

Changes

  • docs: Add v0.6.1 release notes (#1357)
  • test: Test lower bounds of dependencies (#1355)
  • refactor: Use torch APIs for ravel, tile, and outer tensorlib methods (#1354)
  • ci: Run docs CI on push events only from PR merges (#1353)
  • docs: Add use citation for Artificial Proto-Modelling paper (#1347)
  • fix: Retain continuous approximation of Poisson in torch v1.8.0 (#1351)
  • docs: Add and apply blacken-docs as a pre-commit hook (#1345)
  • docs: Clarify and harmonize docstrings for fit parameters (#1344)
  • docs: Add record for published ATLAS likelihoods from November 2020 (#1343)
  • docs: Add use citation for wino and higgsino dark matter at muon collider (#1340)
  • feat: Solver options for scipy (#1337)
  • docs: Drop modifierclass and improve autosummary (#1338)
  • chore: Update to nbQA 0.5.9 in pre-commit (#1333)
  • docs: Update CONTRIBUTING.md to disincentivize 'drive by PRs' (#1332)
  • docs: Fix typo in Using Calculator learn notebook (#1331)
  • docs: Update ATLAS 3G tt 2L citation (#1330)
  • chore: Apply minor code quality revisions (#1325)
  • docs: Add use citations for QCD instantons and charged lepton flavor violation (#1329)
  • docs: Add CPython implementation and Python 3 only metadata (#1324)
  • docs: Update Zenodo BibTeX author field in citation in docs (#1323)
  • docs: Use more flexible BibTeX syntax for Zenodo DOI (#1322)
  • docs: Add dropping of Python 3.6 support to v0.6.0 release notes (#1317)
  • chore: Update codemeta to include v0.6.0 software requirements (#1318)
  • docs: Correct typos in v0.6.0 release notes (#1316)

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 5 years ago

pyhf - v0.6.0

This is a minor release from v0.5.4v0.6.0.

Important Notes

  • Please note this release has API breaking changes and carefully read these notes while updating your code to the v0.6.0 API. Perhaps most relevant is the changes to the pyhf.infer.hypotest API, which now uses a calctype argument to differentiate between using an asymptotic calculator or a toy calculator, and a test_stat kwarg to specify which test statistic the calculator should use, with 'qtilde', corresponding to pyhf.infer.test_statistics.qmu_tilde, now the default option. It also relies more heavily on using kwargs to pass options through to the optimizer.
  • Following the recommendations of NEP 29 — Recommend Python and NumPy version support as a community policy standard pyhf v0.6.0 drops support for Python 3.6. PEP 494 -- Python 3.6 Release Schedule also notes that Python 3.6 will be end of life in December 2021, so pyhf is moving forward with a minimum required runtime of Python 3.7.
  • Support for the discovery test statistic, q0, has now been added through the pyhf.infer.test_statistics.q0 API.
  • Support for pseudoexperiments (toys) has been added through the pyhf.infer.calculators.ToyCalculator API. Please see the corresponding example notebook for more detailed exploration of the API.
  • The minuit extra, python -m pip install pyhf[minuit], now uses and requires the iminuit v2.X release series and API. Note that iminuit v2.X can result in slight differences in minimization results from iminuit v1.X.
  • The documentation will now be versioned with releases on ReadTheDocs. Please use pyhf.readthedocs.io to access the documentation for the latest stable release of pyhf.
  • pyhf is transitioning away from Stack Overflow to GitHub Discussions for resolving user questions not covered in the documentation. Please check the GitHub Discussions page to search for discussions addressing your questions and to open up a new discussion if your question is not covered.
  • pyhf has published a paper in the Journal of Open Source Software. JOSS DOI Please make sure to include the paper reference in all citations of pyhf, as documented in the Use and Citations section of the documentation.

Fixes

  • Fix bug where all extras triggered warning for installation of the contrib extra.
  • float-like values are used in division for pyhf.writexml.
  • Model.spec now supports building new models from existing models.
  • p-values are now reported based on their quantiles, instead of interpolating test statistics and converting to p-values.
  • Namespace collisions between uproot3 and uproot/uproot4 have been fixed for the xmlio extra.
  • The normsys modifier now uses the pyhf.interpolators.code4 interpolation method by default.
  • The histosys modifier now uses the pyhf.interpolators.code4p interpolation method by default.

Features

Python API

  • The tensorlib API now supports a tensorlib.to_numpy and tensorlib.ravel API.
  • The pyhf.infer.calculators.ToyCalculator API has been added to support pseudoexperiments (toys).
  • The empirical test statistic distribution API has been added to help support the ToyCalculator API.
  • Add a tolerance kwarg to the optimizer API to set a float value as a tolerance for termination of the fit.
  • The pyhf.optimize.opt_minuit.minuit_optimizer optimizer now can return correlations of the fitted parameters through use of the return_correlation Boolean kwarg.
  • Add the pyhf.utils.citation API to get a str of the preferred BibTeX entry for citation of the version of pyhf installed. See the example for the CLI API for more information.
  • The pyhf.infer.hypotest API now uses a calctype argument to differentiate between using an asymptotic calculator or a toy calculator, and a test_stat kwarg to specify which test statistic to use. It also relies more heavily on using kwargs to pass options through to the optimizer.
  • The default test_stat kwarg for pyhf.infer.hypotest and the calculator APIs is 'qtilde', which corresponds to the alternative test statistic pyhf.infer.test_statistics.qmu_tilde.
  • The return type of p-value like functions is now a 0-dimensional tensor (with shape ()) instead of a float. This is required to support end-to-end automatic differentiation in future releases.

CLI API

  • The CLI API now supports a --citation or --cite option to print the preferred BibTeX entry for citation of the version of pyhf installed.

```shell $ pyhf --citation @software{pyhf, author = {Lukas Heinrich and Matthew Feickert and Giordon Stark}, title = "{pyhf: v0.6.0}", version = {0.6.0}, doi = {10.5281/zenodo.1169739}, url = {https://github.com/scikit-hep/pyhf}, }

@article{pyhf_joss, doi = {10.21105/joss.02823}, url = {https://doi.org/10.21105/joss.02823}, year = {2021}, publisher = {The Open Journal}, volume = {6}, number = {58}, pages = {2823}, author = {Lukas Heinrich and Matthew Feickert and Giordon Stark and Kyle Cranmer}, title = {pyhf: pure-Python implementation of HistFactory statistical models}, journal = {Journal of Open Source Software} } ```

Contributors

v0.6.0 benefited from contributions from:

  • Alexander Held
  • Marco Gorelli
  • Pradyumna Rahul K
  • Eric Schanet
  • Henry Schreiner

Changes:

  • docs: Add v0.6.0 release notes (#1314)
  • docs: Update API in notebooks to v0.6.0 (#1312)
  • fix: Make p-value-like values 0-d tensors (#1311)
  • feat: Add kwarg for AsymptoticCalculator base distribution (#993)
  • docs: Add release notes to website (#1304)
  • fix: Restrict iminuit to compatible releases below 2.4.0 (#1307)
  • build: Drop support for Python 3.6 (#1272)
  • build: Update minimum required tqdm release to avoid repr crash (#1302)
  • docs: Add syntax highlighting for bash snippets (#1300)
  • ci: Update PyPI publish GitHub Action to v1.4.2 (#1299)
  • chore: Update to pyupgrade 2.10.0 in pre-commit (#1298)
  • docs: Add use citation from MadAnalysis 5 workshop (#1297)
  • fix: Make wheel naming indicate wheels are not Python 2 compatible (#1295)
  • docs: Widen the content box of docs (#1292)
  • docs: Add JOSS paper to preferred citation and DOI Badge (#1291)
  • ci: Drop GESIS from Binder trigger (#1293)
  • docs: Make 'Statement of Need' explicit section in JOSS paper (#1290)
  • docs: Correct TestPyPI install instructions (#1289)
  • docs: Add warning banners for dev versions on docs (#1288)
  • docs: Make docs badge link to latest stable version on ReadTheDocs (#1287)
  • docs: Redirect questions to GitHub Discussions (#1283)
  • chore: Update to pyupgrade 2.9.0 and nbQA v0.5.7 in pre-commit (#1282)
  • docs: Explicitly give version number in JOSS paper (#1280)
  • feat: Provide support for returning correlations from minuit (#988)
  • fix: Model.spec should be self-consistent and reproducible (#1281)
  • ci: Add pre-commit hooks from pre-commit-hooks recommended by Scikit-HEP (#1276)
  • docs: Add JOSS paper (#1089)
  • docs: Add commas to infer.mle.fixedpoifit docstring for clarity (#1273)
  • fix: Report expected p-values based on their quantiles under background hypotheses (#1162)
  • docs: Update README to address JOSS reviewer changes (#1266)
  • feat: Add discovery p0 test statistic (#1232)
  • docs: Add Symmetry Magazine article on likelihood publication (#1263)
  • docs: Add learn notebook on using calculators (#1258)
  • chore: Remove duplicated and unused dependencies (#1261)
  • docs: Build docs with sphinx-build via Sphinx Makefile (#1257)
  • docs: Use sphinxcontrib-bibtex v2.1 and bibtex_bibfiles setting (#1221)
  • docs: Add talks and use citations from 2020 (#1254)
  • fix: Don't use exact assert for test_probability.py (#1252)
  • docs: Fix data ordering bug in ShapeFactor (#1245)
  • docs: Fix math mode syntax in contrib.viz.brazil.plot_results docstring (#1243)
  • docs: Add readxml and writexml (#1242)
  • build: Begin move to uproot4 (#1002)
  • feat: Add to_numpy API to tensorlib (#1226)
  • feat: Use iminuit v2.0 API (#1208)
  • chore: Update to nbQA v0.5.6 in pre-commit (#1240)
  • feat: Test statistic specified by string instead of using qtilde kwarg (#1231)
  • refactor: Clean up docstrings and remove qtilde from hypotest (#1230)
  • build: Use compatible release syntax to give ranges for install_requires (#1229)
  • fix: Control utils.py docstring example with .bumpversion.cfg (#1218)
  • ci: Uninstall dependencies before installed HEAD versions (#1227)
  • chore: Update to nbQA v0.5.5 in pre-commit (#1222)
  • fix: Ensure pytest.approx only compares floats (#1220)
  • docs: Link to conda-forge feedstock and link banner to repo (#1217)
  • chore: Use exc_info in log.error, re-raise last exceptions (#1209)
  • feat: Add utility to get software citation and CLI interface (#1210)
  • chore: Update nbQA in pre-commit (#1207)
  • fix: Update JAX DeviceArray type in docstrings for doctest (#1206)
  • ci: Test only latest Python runtime on MacOS (#1203)
  • feat: Use iminuit v1.5.X API (#1202)
  • docs: Correct spelling of continuous (#1201)
  • chore: Specify exceptions to remove inline ignores of E722 (#1194)
  • chore: Update nbQA in pre-commit (#1199)
  • fix: Use uproot3-methods with uproot3 (#1200)
  • test: Verify NLL values and Minuit parameter uncertainties (#1197)
  • chore: Use flake8 for linting (#1191)
  • fix: Use uproot3 namespace (#1192)
  • chore: Update nbQA in pre-commit (#1190)
  • refactor: Drop 'modifier' from parameter set requirements (#1189)
  • fix: Isolate pyhf contrib commands from rest of CLI (#1186)
  • feat: Configurable optimizer tolerance for termination (#1184)
  • docs: Add CHEP 2019 proceedings use citation (#1185)
  • feat: Set minuit strategy automatically for gradient/non-gradient mode (#1183)
  • docs: Add ATLAS SUSY+Exotics Tutorial (#1181)
  • fix: Ensure float-like values used in division in writexml (#1179)
  • chore: Update pyupgrade and nbQA in pre-commit (#1178)
  • feat: Add default axis labels to contrib.viz.brazil.plot_results (#1176)
  • fix: Pin additional dependencies in pre-commit hooks (#1167)
  • feat: Add nbQA to pre-commit hooks (#1165)
  • chore: Run pyupgrade on codebase (3.6+) (#1164)
  • feat: Add toy calculator, empirical distribution, and toy example notebook (#790)
  • feat: Update model and inference defaults (#1114)
  • feat: Tensorlib ravel functionality (#1147)

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 5 years ago

pyhf - v0.5.4

This is a patch release from v0.5.3 → v0.5.4.

Fixes

  • Require uproot3 instead of uproot v3.X releases to avoid conflicts when uproot4 is installed in an environment with uproot v3.X installed and namespace conflicts with uproot-methods. Adoption of uproot3 in v0.5.4 will ensure v0.5.4 works far into the future if XML and ROOT I/O through uproot is required.

Example:

Without the v0.5.4 patch release there is a regression in using uproot v3.X and uproot4 in the same environment (which was swiftly identified and patched by the fantastic uproot team)

$ python -m pip install "pyhf[xmlio]<0.5.4" $ python -m pip list | grep "pyhf\|uproot" pyhf 0.5.3 uproot 3.13.1 uproot-methods 0.8.0 $ python -m pip install uproot4 $ python -m pip list | grep "pyhf\|uproot" pyhf 0.5.3 uproot 4.0.0 uproot-methods 0.8.0 uproot4 4.0.0

this is resolved in v0.5.4 with the requirement of uproot3

$ python -m pip install "pyhf[xmlio]>=0.5.4" $ python -m pip list | grep "pyhf\|uproot" pyhf 0.5.4 uproot3 3.14.1 uproot3-methods 0.10.0 $ python -m pip install uproot4 # or uproot $ python -m pip list | grep "pyhf\|uproot" pyhf 0.5.4 uproot 4.0.0 uproot3 3.14.1 uproot3-methods 0.10.0 uproot4 4.0.0

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert about 5 years ago

pyhf - v0.5.3

This is a patch release from v0.5.2 → v0.5.3.

Fixes

  • Workspaces are now immutable
  • ShapeFactor support added to XML reading and writing
  • An error is raised if a fit initialization parameter is outside of its bounds (preventing hypotest with POI outside of bounds)

Features

Python API

  • Inverting hypothesis tests to get upper limits now has an API with pyhf.infer.intervals.upperlimit
  • Building workspaces from a model and data added with pyhf.workspace.build

CLI API

  • Added CLI API for pyhf.infer.fit: pyhf fit
  • pyhf combine now allows for merging channels: pyhf combine --merge-channels --join <join option>
  • Added utility to download archived pyhf pallets (workspaces + patchsets) to contrib module: pyhf contrib download

Changes

  • chore: Migrate to new way to set environment variables in GHA (#1139)
  • feat: Support ShapeFactor for import/export (#1136)
  • style: Adopt new JAX style of np and jnp (#1135)
  • docs: Add ss3L hepdata likelihood record (#1133)
  • fix: Use JAX v0.2.4+ API (#1134)
  • chore: Add file types for diff to .gitattributes (#1130)
  • fix: Fixed parameter naming for compatibility with ROOT import/export (#1125)
  • fix: Make workspaces immutable (#1132)
  • fix: Logic bug for outer joins of merge channels (#1128)
  • fix: Validate fit initialization parameters (#1126)
  • fix: Use functools.wraps with events.register to render docstrings (#1124)
  • docs: Use sphinx obj scope in docs by default (#1122)
  • feat: Merge channel functionality in pyhf combine (#1088)
  • ci: Make docs separate workflow (#1120)
  • refactor: Migrate contrib download to contrib module (#1119)
  • docs: Add importance of Issues to CONTRIBUTING.md (#1113)
  • refactor: Rename paramset.fixed to paramset.suggested_fixed (#1110)
  • feat: Add pyhf.workspace.build (#1101)
  • fix: Import all infer submodules (#1104)
  • docs: Use 1Lbb DOI in contrib download docstring (#1109)
  • fix: Remove improper defaults for contrib download (#1105)
  • docs: Add JSON example to README (#1102)
  • docs: Add CodeMeta JSON-LD Context File (#1091)
  • feat: Add API to download likelihood patchset archives (#1046)
  • fix: Avoid deprecation warnings due to invalid escape sequences (#1047)
  • docs: Add contributors to website (#1095)
  • docs: Remove fixed parameters caveat for TRexFitter in babel (#1093)
  • feat: Add test inversion / interval inference API (#953)
  • ci: Add code scanning CodeQL workflow (#1085)
  • test: Ensure continuous approximation of Poisson implemented (#1084)
  • chore: Migrate from bumpversion to bump2version (#1083)
  • docs: Add citations from 2019 and 2020 papers (#1081)
  • docs: Add information on announcement mailing list (#1079)
  • ci: Add workflow for nightly tests of notebooks (#1078)
  • ci: Add workflow dispatch support (#1076)
  • chore: Update GitHub Action releases and Python runtimes in CI (#1074)
  • ci: Add nightly tests using HEAD of dependencies (#1071)
  • fix: Restrict iminuit to v1.4.X releases (#1070)
  • chore: Migrate from pep517 to python-build (#1066)
  • refactor: Remove unused fixtures, refactor validation tests (#1063)
  • feat: Add fit to infer CLI API (#1060)
  • feat: Add erf and erfinv to tensorlib (#1061)
  • feat: Bump to modern pytest (6.0+) (#1049)

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert about 5 years ago

pyhf - v0.5.2

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 5 years ago

pyhf - v0.5.1

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 5 years ago

pyhf - v0.5.0

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 5 years ago

pyhf - v0.4.4

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 5 years ago

pyhf - v0.4.3

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 5 years ago

pyhf - v0.4.2

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert over 5 years ago

pyhf - v0.4.1

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 6 years ago

pyhf - v0.4.0

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 6 years ago

pyhf - v0.3.4

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 6 years ago

pyhf - v0.3.3

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 6 years ago

pyhf - v0.3.2

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 6 years ago

pyhf - v0.3.1

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 6 years ago

pyhf - v0.3.0

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 6 years ago

pyhf - v0.2.2

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 6 years ago

pyhf - v0.2.1

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 6 years ago

pyhf - v0.2.0

Scientific Software - Peer-reviewed - Python
Published by matthewfeickert almost 6 years ago

pyhf - v0.1.2

v0.1.2 brings the following new features

CLI: pyhf json2xml allows for JSON patches docs: improved and learn notebooks added hifi: compatibility mode through histosys interpolation code configuration

There were no user-facing bugs fixed.

Scientific Software - Peer-reviewed - Python
Published by kratsg over 6 years ago

pyhf - v0.1.1

v0.1.1 brings the following new features - CLI: pyhf inspect, configurable optimizer (and options), configurable test statistic - docs: introduction, likelihood specification - schema: semantic versioning, finalized v1.0.0 - hifi: compatibility mode via qtilde test statistic

The following user-facing bugs were fixed since v0.1.0: - CLI was not running correctly without pyhf[xmlio] - writexml divided out sample data incorrectly when sample data is zero

Scientific Software - Peer-reviewed - Python
Published by kratsg over 6 years ago

pyhf -

Scientific Software - Peer-reviewed - Python
Published by lukasheinrich over 6 years ago

pyhf -

Scientific Software - Peer-reviewed - Python
Published by lukasheinrich about 7 years ago

pyhf -

Scientific Software - Peer-reviewed - Python
Published by lukasheinrich almost 8 years ago

pyhf -

Scientific Software - Peer-reviewed - Python
Published by lukasheinrich almost 8 years ago