Changelog#

Version 2.7.2#

  • Support boost-histogram 1.4.0 in addition to 1.3.x, including Python 3.12, flow disabling for categories, and integer arrays required for integer axes #535 and #532

  • Add a .T shortcut #521

  • Support ND quick constructs being mistakenly passed in #528

  • Add boost nox job to test upstream changes easily #533

Version 2.7.1#

  • [plot] extra split into [fit] #515

  • Use PyPI trusted publisher to deploy #516

Version 2.7.0#

Features:

  • Add a function to integrate axes #505

  • Add fill_flattened support #474

Various other items:

  • Move linting to using Ruff #475

  • Self & _compat #479

  • Rework and rerun docs API #481

Version 2.6.3#

  • Experimental dask support #471

  • Some minor cleanups from refurb #453

Version 2.6.2#

  • Nicer stacks repr #449

  • Backport storage_type if boost-histogram < 1.3.2 #447

  • Allow overwriting labels for plot/overlay #414

  • Use Hatching to build the package #418

  • Support git archival version numbers #441

Version 2.6.1#

  • Fall back on normal repr when histogram is too large #388

  • Fix issue with no-axis histogram #388

  • Fix issue with empty axis causing segfault until fixed upstream #387

  • Only require SciPy if using SciPy #386

Version 2.6.0#

  • Using boost-histogram 1.3

  • Fix runtime dependency on matplotlib when not plotting #353

  • Fix .plot shortcut failure #368

  • New nox sessions: regenerate and pylint

  • Update tests for latest matplotlib

Version 2.5.2#

  • Remove more-itertools requirement #347

  • Fix missing pass-through for stack plot #339

Version 2.5.1#

  • Support named stack indexing #325

  • Fix histoprint error with stacks #325

  • Better README

Version 2.5.0#

  • Stacks support axes, math operations, projection, setting items, and iter/dict construction. They also support histogram titles in legends. Added histoprint support for Stacks. #291 #315 #317 #318

  • Added name= and label= to histograms, include Hist arguments in QuickConstruct. #297

  • AxesTuple now supports bulk name setting, h.axes.name = ("a", "b", ...). #288

  • Added hist.new alias for hist.Hist.new. #296

  • Added "efficiency" uncertainty_type option for ratio_plot API. #266 #278

Smaller features or fixes:

  • Dropped Python 3.6 support. #194

  • Uses boost-histogram 1.2.x series, includes all features and fixes, and Python 3.10 support.

  • No longer require scipy or iminuit unless actually needed. #316

  • Improve and clarify treatment of confidence intervals in intervals submodule. #281

  • Use NumPy 1.21 for static typing. #285

  • Support running tests without plotting requirements. #321

Version 2.4.0#

  • Support .stack(axis) and stacked histograms. #244 #257 #258

  • Support selection lists (experimental with boost-histogram 1.1.0). #255

  • Support full names for QuickConstruct, and support mistaken usage in constructor. #256

  • Add .sort(axis) for quickly sorting a categorical axis. #243

Smaller features or fixes:

  • Support nox for easier contributor setup. #228

  • Better name axis error. #232

  • Fix for issue plotting size 0 axes. #238

  • Fix issues with repr information missing. #241

  • Fix issues with wrong plot shortcut being triggered by Integer axes. #247

  • Warn and better error if overlapping keyword used as axis name. #250

Along with lots of smaller docs updates.

Version 2.3.0#

  • Add plot_ratio to the public API, which allows for making ratio plots between the histogram and either another histogram or a callable. #161

  • Add .profile to compute a (N-1)D profile histogram. #160

  • Support plot1d / plot on Histograms with a categorical axis. #174

  • Add frequentist coverage interval support in the intervals module. #176

  • Allow plot_pull to take a more generic callable or a string as a fitting function. Introduce an option to perform a likelihood fit. Write fit parameters’ values and uncertainties in the legend. #149

  • Add fit_fmt= to plot_pull to control display of fit params. #168

  • Support <prefix>_kw arguments for setting each axis in plotting. #193

  • Cleaner IPython completion for Python 3.7+. #179

Version 2.2.1#

  • Fix bug with plot_pull missing a sqrt. #150

  • Fix static typing with ellipses. #145

  • Require boost-histogram 1.0.1+, fixing typing related issues, allowing subclassing Hist without a family and including a important Mean/WeighedMean summing fix. #151

Version 2.2.0#

  • Support boost-histogram 1.0. Better plain reprs. Full Static Typing. #137

  • Support data= when construction a histogram to copy in initial data. #142

  • Support Hist.from_columns, for simple conversion of DataFrames and similar structures #140

  • Support .plot_pie for quick pie plots #140

Version 2.1.1#

  • Fix density (and density based previews) #134

Version 2.1.0#

  • Support shortcuts for setting storages by string or position #129

Updated dependencies:

  • boost-histogram 0.11.0 to 0.13.0.

    • Major new features, including PlottableProtocol

  • histoprint >=1.4 to >=1.6.

  • mplhep >=0.2.16 when [plot] given

Version 2.0.1#

  • Make sum of bins explicit in notebook representations. #106

  • Fixed plot2d_full incorrectly mirroring the y-axis. #105

  • Hist.plot_pull: more suitable bands in the pull bands 1sigma, 2 sigma, etc. #102

  • Fixed classichist’s usage of get_terminal_size to support not running in a terminal #99

Version 2.0.0#

First release of Hist.