v0.5.0
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 argumentstolerance
andmaxiter
have been renamed topoi_tolerance
andmaxsteps
(see #360).- This was required to support the optimizer configuration across the
fit
API with the same names used inpyhf
(which includetolerance
andmaxiter
).
- This was required to support the optimizer configuration across the
model_utils.ModelPrediction
uncertainty structure now supports per-sample uncertainties, the shapes have changed accordingly.model_utils.yield_stdev
andmodel_utils.prediction
return this new structure (see #356).
tabulate.yields
now returns a dictionary with yield tables, it previously returnedNone
(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)