Skip to content

Version 0.6.0

Compare
Choose a tag to compare
@HDembinski HDembinski released this 01 Dec 20:23
· 680 commits to develop since this release

Version 0.6

This version fills out most of the remaining features missing from the 0.5.x
series. You can now use all the storages without the original caveats; even
the accumulators can be accessed array-at-a-time without copy, pickled quickly,
and set array-at-a-time, as well.

The API has changed considerably, providing a more consistent experience in
Python. Most of the classic API still works in this release, but will issue a
warning and will be removed from the next release. Please use this release to
transition existing 0.5.x code to the new API.

User changes

  • Histogram and Axis classes now follow PEP 8 naming scheme (histogram->Histogram, regular->Regular, int->Int64 etc.) #192, #255
  • You can now view a histogram with accumulators, with property access such as h.view().value #194
  • Circular variable and integer axes added #231
  • Split Category into StrCategory and IntCategory, now allows empty categories when growth=True #221
  • StrCategory fills are safer and faster #239, #244
  • Added axes transforms #192
  • Function(forward, inverse) transform added, allowing ultra-fast C function pointer transforms #231
  • You can now set histogram contents directly #250
  • You can now sum over a range with endpoints #185
  • h.axes now has the functions from axis as well. #183
  • bh.project has become bh.sum #185
  • .reduce(...) and the reducers in bh.algorithm have been removed in favor of dictionary based UHI slicing #259
  • bh.numpy module interface updates, histogram=bh.Histogram replaces cryptic bh=True, and density=True is now supported in Numpy mode #256
  • Added hist.copy() #218 and hist.shape #264
  • Signatures are much nicer in Python 3 #188
  • Reprs are better, various properties like __module__ are now set correctly #200

Bug fixes:

  • Unlimited and AtomicInt storages now allow single item access #194
  • .view() now no longer makes a copy #194
  • Fixes related to string category axis fills #233, #230
  • Axes are no longer copies, support setting metadata #238, #246
  • Pickling accumulator storages is now comparable in performance simple storages #258

Developer changes

  • The linux wheels are now 10-20x smaller #229
  • The hist/axis classes are now pure Python, with a C++ object inside #183
  • Most internal names changed, core->_core, etc. #183
  • The uhi module is now tag. #183
  • boost_histogram.cpp as bh provides C++ high-compatibility mode. #183
  • Indexing tags now use full UHI instead of workarounds #185
  • Removed log and sqrt special axes types#231
  • Family and registration added, new casting system #200