Releases: scikit-hep/boost-histogram
Version 0.6.0
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->Int64etc.) #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
StrCategoryandIntCategory, now allows empty categories whengrowth=True#221 StrCategoryfills 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.axesnow has the functions from axis as well. #183bh.projecthas becomebh.sum#185.reduce(...)and the reducers inbh.algorithmhave been removed in favor of dictionary based UHI slicing #259bh.numpymodule interface updates,histogram=bh.Histogramreplaces crypticbh=True, anddensity=Trueis now supported in Numpy mode #256- Added
hist.copy()#218 andhist.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
uhimodule is nowtag. #183 boost_histogram.cpp as bhprovides 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
Version 0.5.2
Another small release, mostly focused on fixing a few bugs that primarily affected Windows + Python 3.8 users. Reprs have become much nicer, making histograms easier to work with in REPLs. Serialization code is now shared with Boost.Histogram, which will make maintenance easier and fixes unlimited storage pickling.
User changes:
Bug fixes:
- Use relative paths in setup.py to avoid resolving WSL paths on Windows #162, #163
- Better Pybind11 support for Python 3.8 #168
Developer changes:
Version 0.5.1
This release has a few quick bugfixes from PyHEP 2019. It also has one new feature, h.axes, which did not quite make it in for 0.5.0, and has removed the indexed iterator (fully replaced by axes).
User changes:
- Removed the
bh.indexed/h.indexediterator #150 - Added
.axesAxisTuple, with direct access to properties #150 - Cleaned up tab completion in IPython #150
Bug fixes:
Version 0.5: First beta
First beta release.
Known issues:
- Unlimited storage does not support pickling or classic multiprocessing
- Some non-simple storages do not support some forms of access, like
.view - Indexing and the array versions (such as centers) are incomplete and subject to change
- The numpy module is provisional and subject to change
- Docstrings and signatures will improve in later versions (especially on Python 3)