Skip to content

v0.5.0

Compare
Choose a tag to compare
@alexander-held alexander-held released this 25 Sep 18:32
· 44 commits to master since this release
6281501

This release adopts the pyhf 0.7 API (#301, #367) and adds support for Python 3.10 (#334). Yield tables are now returned (#338) and can be saved in various customizable formats (#351). They also include per-sample uncertainties now, which are calculated automatically (#356). New keyword arguments are available for configuring the optimizer via the fit API (#330, #360).

When building workspaces, specification of the POI is now optional (#348). New poi_name keyword arguments in the fit API allow setting the POI for ranking, limit and significance (#348, #364, #365). The automatic creation of staterror modifiers can be disabled per sample (#359). A new visualization utility has been added to visualize the modifier structure of models (#333). See below for the full list of additions.

The new features result in a few breaking changes, which are listed next.

Breaking changes:

  • fit.limit keyword arguments tolerance and maxiter have been renamed to poi_tolerance and maxsteps (see #360).
    • This was required to support the optimizer configuration across the fit API with the same names used in pyhf (which include tolerance and maxiter).
  • model_utils.ModelPrediction uncertainty structure now supports per-sample uncertainties, the shapes have changed accordingly.
    • model_utils.yield_stdev and model_utils.prediction return this new structure (see #356).
  • tabulate.yields now returns a dictionary with yield tables, it previously returned None (see #338).

Full list of changes:

  • chore: updating version to 0.5.0 (#368)
  • build: Update lower bound of pyhf to v0.7.0 (#367)
  • fix: compatibility with matplotlib 3.6 (#366)
  • feat: customizable POI for significance (#365)
  • fix: set POI for limit calculations via dedicated pyhf API (#364)
  • feat: post-fit Asimov data generation (#363)
  • feat: minimizer configuration for general inference (#360)
  • build: Update lower bound of pyhf to v0.7.0rc2 (#361)
  • feat: support disabling staterror per sample in workspace creation (#359)
  • feat: restore optimizer settings after fits (#362)
  • feat: rename model prediction variable in examples (#358)
  • feat: yield uncertainties per sample (#356)
  • feat: add suggested optional mypy checks (#355)
  • fix: remove unnecessary dependencies for mypy (#353)
  • feat: visualization of modifier structure in models (#333)
  • test: disallow calling functions without type annotations (#352)
  • feat: minimizer configuration for fit.fit (#330)
  • feat: save yield tables (#351)
  • feat: return yield tables (#338)
  • feat: add version to command line interface (#350)
  • fix: avoid mixing different versions of awkward in uproot5 tests (#349)
  • feat: make POI optional in config and allow POI customization for inference (#348)
  • feat: add Python 3.10 support (#334)
  • fix: pyhf 0.7 compatibility (#301)
  • docs: add conda-forge badge (#345)
  • feat: explicitly set post-fit parameter errors to 0 for fixed parameters (#346)
  • ci: update versions of GitHub actions and pre-commit (#343)
  • ci: update GitHub actions (#337)
  • fix: correct link to flake8 (#336)
  • fix: bump black to 22.3.0 due to click 8.1 release (#335)
  • build: remove wheel from build-system requirements (#331)