boost-histogram


Nameboost-histogram JSON
Version 1.4.1 PyPI version JSON
download
home_pagehttps://github.com/scikit-hep/boost-histogram
SummaryThe Boost::Histogram Python wrapper.
upload_time2024-03-30 07:33:40
maintainerHans Dembinski and Henry Schreiner
docs_urlNone
authorHans Dembinski and Henry Schreiner
requires_python>=3.7
licenseBSD-3-Clause
keywords histogram boost-histogram
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img alt="boost-histogram logo" width="402" src="https://raw.githubusercontent.com/scikit-hep/boost-histogram/develop/docs/_images/BoostHistogramPythonLogo.png"/>

# boost-histogram for Python

[![Actions Status][actions-badge]][actions-link]
[![Documentation Status][rtd-badge]][rtd-link]

[![PyPI version][pypi-version]][pypi-link]
[![Conda-Forge][conda-badge]][conda-link]
[![PyPI platforms][pypi-platforms]][pypi-link]
[![DOI](https://zenodo.org/badge/148885351.svg)](https://zenodo.org/badge/latestdoi/148885351)

[![GitHub Discussion][github-discussions-badge]][github-discussions-link]
[![Gitter][gitter-badge]][gitter-link]
[![Scikit-HEP][sk-badge]](https://scikit-hep.org/)

Python bindings for [Boost::Histogram][] ([source][Boost::Histogram source]), a C++14 library. This is one of the [fastest libraries][] for
histogramming, while still providing the power of a full histogram object. See
[what's new](./docs/CHANGELOG.md).

Other members of the boost-histogram family include:

- [Hist][]: The first-party analyst-friendly histogram library that extends
  boost-histogram with named axes, many new shortcuts including UHI+, plotting
  shortcuts, and more.
- [UHI][]: Specification for Histogram library interop, especially for plotting.
- [mplhep][]: Plotting extension for matplotlib with support for UHI histograms.
- [histoprint][]: Histogram display library for the command line with support for UHI.
- [dask-histogram][]: Dask support for boost-histogram.

[uhi]: https://uhi.readthedocs.io
[dask-histogram]: https://dask-histogram.readthedocs.io/en/stable/
[mplhep]: https://mplhep.readthedocs.io/en/latest/
[histoprint]: https://github.com/scikit-hep/histoprint

## Usage

![Slideshow of features. See expandable text below if the image is not readable.](https://github.com/scikit-hep/boost-histogram/raw/develop/docs/_images/banner.gif)

<details><summary>Text intro (click to expand)</summary>

```python
import boost_histogram as bh

# Compose axis however you like; this is a 2D histogram
hist = bh.Histogram(
    bh.axis.Regular(2, 0, 1),
    bh.axis.Regular(4, 0.0, 1.0),
)

# Filling can be done with arrays, one per dimension
hist.fill(
    [0.3, 0.5, 0.2],
    [0.1, 0.4, 0.9],
)

# NumPy array view into histogram counts, no overflow bins
values = hist.values()

# Make a new histogram with just the second axis, summing over the first, and
# rebinning the second into larger bins:
h2 = hist[::sum, :: bh.rebin(2)]
```

</details>

We support the [uhi][] [PlottableHistogram][] protocol, so boost-histogram/[Hist][]
histograms can be plotted via any compatible library, such as [mplhep][].

[uhi]: https://github.com/scikit-hep/uhi
[PlottableHistogram]: https://uhi.readthedocs.io/en/latest/plotting.html
[mplhep]: https://github.com/scikit-hep/mplhep

## Cheatsheet

<details><summary>Simplified list of features (click to expand)</summary>

- Many axis types (all support `metadata=...`)
  - `bh.axis.Regular(n, start, stop, ...)`: Make a regular axis. Options listed below.
    - `overflow=False`: Turn off overflow bin
    - `underflow=False`: Turn off underflow bin
    - `growth=True`: Turn on growing axis, bins added when out-of-range items added
    - `circular=True`: Turn on wrapping, so that out-of-range values wrap around into the axis
    - `transform=bh.axis.transform.Log`: Log spacing
    - `transform=bh.axis.transform.Sqrt`: Square root spacing
    - `transform=bh.axis.transform.Pow(v)`: Power spacing
    - See also the flexible [Function transform](https://boost-histogram.readthedocs.io/en/latest/usage/transforms.html)
  - `bh.axis.Integer(start, stop, *, underflow=True, overflow=True, growth=False, circular=False)`: Special high-speed version of `regular` for evenly spaced bins of width 1
  - `bh.axis.Variable([start, edge1, edge2, ..., stop], *, underflow=True, overflow=True, circular=False)`: Uneven bin spacing
  - `bh.axis.IntCategory([...], *, growth=False)`: Integer categories
  - `bh.axis.StrCategory([...], *, growth=False)`: String categories
  - `bh.axis.Boolean()`: A True/False axis
- Axis features:
  - `.index(value)`: The index at a point (or points) on the axis
  - `.value(index)`: The value for a fractional bin (or bins) in the axis
  - `.bin(i)`: The bin edges (continuous axis) or a bin value (discrete axis)
  - `.centers`: The N bin centers (if continuous)
  - `.edges`: The N+1 bin edges (if continuous)
  - `.extent`: The number of bins (including under/overflow)
  - `.metadata`: Anything a user wants to store
  - `.traits`: The options set on the axis
  - `.size`: The number of bins (not including under/overflow)
  - `.widths`: The N bin widths
- Many storage types
  - `bh.storage.Double()`: Doubles for weighted values (default)
  - `bh.storage.Int64()`: 64-bit unsigned integers
  - `bh.storage.Unlimited()`: Starts small, but can go up to unlimited precision ints or doubles.
  - `bh.storage.AtomicInt64()`: Threadsafe filling, experimental. Does not support growing axis in threads.
  - `bh.storage.Weight()`: Stores a weight and sum of weights squared.
  - `bh.storage.Mean()`: Accepts a sample and computes the mean of the samples (profile).
  - `bh.storage.WeightedMean()`: Accepts a sample and a weight. It computes the weighted mean of the samples.
- Accumulators
  - `bh.accumulator.Sum`: High accuracy sum (Neumaier) - used by the sum method when summing a numerical histogram
  - `bh.accumulator.WeightedSum`: Tracks a weighted sum and variance
  - `bh.accumulator.Mean`: Running count, mean, and variance (Welfords's incremental algorithm)
  - `bh.accumulator.WeightedMean`: Tracks a weighted sum, mean, and variance (West's incremental algorithm)
- Histogram operations
  - `h.ndim`: The number of dimensions
  - `h.size or len(h)`: The number of bins
  - `+`: Add two histograms (storages must match types currently)
  - `*=`: Multiply by a scaler (not all storages) (`hist * scalar` and `scalar * hist` supported too)
  - `/=`: Divide by a scaler (not all storages) (`hist / scalar` supported too)
  - `.kind`: Either `bh.Kind.COUNT` or `bh.Kind.MEAN`, depending on storage
  - `.storage_type`: Fetch the histogram storage type
  - `.sum(flow=False)`: The total count of all bins
  - `.project(ax1, ax2, ...)`: Project down to listed axis (numbers). Can also reorder axes.
  - `.to_numpy(flow=False, view=False)`: Convert to a NumPy style tuple (with or without under/overflow bins)
  - `.view(flow=False)`: Get a view on the bin contents (with or without under/overflow bins)
  - `.values(flow=False)`: Get a view on the values (counts or means, depending on storage)
  - `.variances(flow=False)`: Get the variances if available
  - `.counts(flow=False)`: Get the effective counts for all storage types
  - `.reset()`: Set counters to 0 (growing axis remain the same size)
  - `.empty(flow=False)`: Check to see if the histogram is empty (can check flow bins too if asked)
  - `.copy(deep=False)`: Make a copy of a histogram
  - `.axes`: Get the axes as a tuple-like (all properties of axes are available too)
    - `.axes[0]`: Get the 0th axis
    - `.axes.edges`: The lower values as a broadcasting-ready array
    - `.axes.centers`: The centers of the bins broadcasting-ready array
    - `.axes.widths`: The bin widths as a broadcasting-ready array
    - `.axes.metadata`: A tuple of the axes metadata
    - `.axes.size`: A tuple of the axes sizes (size without flow)
    - `.axes.extent`: A tuple of the axes extents (size with flow)
    - `.axes.bin(*args)`: Returns the bin edges as a tuple of pairs (continuous axis) or values (describe)
    - `.axes.index(*args)`: Returns the bin index at a value for each axis
    - `.axes.value(*args)`: Returns the bin value at an index for each axis
- Indexing - Supports [UHI Indexing](https://uhi.readthedocs.io/en/latest/indexing.html)
  - Bin content access / setting
    - `v = h[b]`: Access bin content by index number
    - `v = h[{0:b}]`: All actions can be represented by `axis:item` dictionary instead of by position (mostly useful for slicing)
  - Slicing to get histogram or set array of values
    - `h2 = h[a:b]`: Access a slice of a histogram, cut portions go to flow bins if present
    - `h2 = h[:, ...]`: Using `:` and `...` supported just like NumPy
    - `h2 = h[::sum]`: Third item in slice is the "action"
    - `h[...] = array`: Set the bin contents, either include or omit flow bins
  - Special accessors
    - `bh.loc(v)`: Supply value in axis coordinates instead of bin number
    - `bh.underflow`: The underflow bin (use empty beginning on slice for slicing instead)
    - `bh.overflow`: The overflow bin (use empty end on slice for slicing instead)
  - Special actions (third item in slice)
    - `sum`: Remove axes via projection; if limits are given, use those
    - `bh.rebin(n)`: Rebin an axis
- NumPy compatibility
  - `bh.numpy` provides faster [drop in replacements](https://boost-histogram.readthedocs.io/en/latest/usage/numpy.html) for NumPy histogram functions
  - Histograms follow the buffer interface, and provide `.view()`
  - Histograms can be converted to NumPy style output tuple with `.to_numpy()`
- Details
  - All objects support copy/deepcopy/pickle
  - Fully statically typed, tested with MyPy.

</details>

## Installation

You can install this library from [PyPI](https://pypi.org/project/boost-histogram/) with pip:

```bash
python3 -m pip install boost-histogram
```

All the normal best-practices for Python apply; Pip should not be very old (Pip
9 is very old), you should be in a virtual environment, etc. Python 3.7+ is
required; for older versions of Python (3.5 and 2.7), `0.13` will be installed
instead, which is API equivalent to 1.0, but will not be gaining new features.
1.3.x was the last series to support Python 3.6.

#### Binaries available:

The easiest way to get boost-histogram is to use a binary wheel, which happens
when you run the above command on a supported platform. Wheels are produced using
[cibuildwheel](https://cibuildwheel.readthedocs.io/en/stable/); all common
platforms have wheels provided in boost-histogram:

| System           | Arch        | Python versions                 | PyPy versions       |
| ---------------- | ----------- | ------------------------------- | ------------------- |
| ManyLinux2014    | 64-bit      | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | 3.7, 3.8, 3.9, 3.10 |
| ManyLinux2014    | ARM64       | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | 3.7, 3.8, 3.9, 3.10 |
| MuslLinux_1_1    | 64-bit      | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 |                     |
| macOS 10.9+      | 64-bit      | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | 3.7, 3.8, 3.9, 3.10 |
| macOS Universal2 | Arm64       | 3.8, 3.9, 3.10, 3.11, 3.12      |                     |
| Windows          | 32 & 64-bit | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 |                     |
| Windows          | 64-bit      |                                 | 3.7, 3.8, 3.9, 3.10 |

- manylinux2014: Requires pip 19.3.
- ARM on Linux is supported. PowerPC or IBM-Z available on request.
- macOS Universal2 wheels for Apple Silicon and Intel provided for Python 3.8+ (requires Pip 21.0.1 or newer).

If you are on a Linux system that is not part of the "many" in manylinux or musl in musllinux, such as ClearLinux, building from source is usually fine, since the compilers on those systems are often quite new. It will just take longer to install when it is using the sdist instead of a wheel. All dependencies are header-only and included.

#### Conda-Forge

The boost-histogram package is available on [conda-forge](https://github.com/conda-forge/boost-histogram-feedstock), as well. All supported variants are available.

```bash
conda install -c conda-forge boost-histogram
```

#### Source builds

For a source build, for example from an "SDist" package, the only requirements are a C++14 compatible compiler. The compiler requirements are dictated by Boost.Histogram's C++ requirements: gcc >= 5.5, clang >= 3.8, or msvc >= 14.1. You should have a version of pip less than 2-3 years old (10+).

Boost is not required or needed (this only depends on included header-only dependencies). You can install directly from GitHub if you would like.

```bash
python -m pip install git+https://github.com/scikit-hep/boost-histogram.git@develop
```

## Developing

See [CONTRIBUTING.md](.github/CONTRIBUTING.md) for details on how to set up a development environment.

## Contributors

We would like to acknowledge the contributors that made this project possible ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tr>
    <td align="center"><a href="http://iscinumpy.gitlab.io"><img src="https://avatars1.githubusercontent.com/u/4616906?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Henry Schreiner</b></sub></a><br /><a href="#maintenance-henryiii" title="Maintenance">🚧</a> <a href="https://github.com/scikit-hep/boost-histogram/commits?author=henryiii" title="Code">💻</a> <a href="https://github.com/scikit-hep/boost-histogram/commits?author=henryiii" title="Documentation">📖</a></td>
    <td align="center"><a href="https://github.com/HDembinski"><img src="https://avatars0.githubusercontent.com/u/2631586?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hans Dembinski</b></sub></a><br /><a href="#maintenance-HDembinski" title="Maintenance">🚧</a> <a href="https://github.com/scikit-hep/boost-histogram/commits?author=HDembinski" title="Code">💻</a></td>
    <td align="center"><a href="http://lovelybuggies.github.io"><img src="https://avatars3.githubusercontent.com/u/29083689?v=4?s=100" width="100px;" alt=""/><br /><sub><b>N!no</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/commits?author=LovelyBuggies" title="Tests">⚠️</a> <a href="https://github.com/scikit-hep/boost-histogram/commits?author=LovelyBuggies" title="Documentation">📖</a></td>
    <td align="center"><a href="https://github.com/jpivarski"><img src="https://avatars0.githubusercontent.com/u/1852447?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jim Pivarski</b></sub></a><br /><a href="#ideas-jpivarski" title="Ideas, Planning, & Feedback">🤔</a></td>
    <td align="center"><a href="https://github.com/nsmith-"><img src="https://avatars3.githubusercontent.com/u/6587412?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nicholas Smith</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/issues?q=author%3Ansmith-" title="Bug reports">🐛</a></td>
    <td align="center"><a href="http://www-pnp.physics.ox.ac.uk/~huffman/"><img src="https://avatars3.githubusercontent.com/u/45843291?v=4?s=100" width="100px;" alt=""/><br /><sub><b>physicscitizen</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/issues?q=author%3Aphysicscitizen" title="Bug reports">🐛</a></td>
    <td align="center"><a href="https://www.linkedin.com/in/chanchal-kumar-maji-9230a9145/"><img src="https://avatars1.githubusercontent.com/u/31502077?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chanchal Kumar Maji</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/commits?author=ChanchalKumarMaji" title="Documentation">📖</a></td>
  </tr>
  <tr>
    <td align="center"><a href="https://ddavis.io/"><img src="https://avatars2.githubusercontent.com/u/3202090?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Doug Davis</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/issues?q=author%3Adouglasdavis" title="Bug reports">🐛</a></td>
    <td align="center"><a href="https://github.com/pgrimaud"><img src="https://avatars1.githubusercontent.com/u/1866496?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Pierre Grimaud</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/commits?author=pgrimaud" title="Documentation">📖</a></td>
    <td align="center"><a href="https://github.com/beojan"><img src="https://avatars0.githubusercontent.com/u/3727925?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Beojan Stanislaus</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/issues?q=author%3Abeojan" title="Bug reports">🐛</a></td>
    <td align="center"><a href="https://github.com/Popinaodude"><img src="https://avatars2.githubusercontent.com/u/20911987?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Popinaodude</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/issues?q=author%3APopinaodude" title="Bug reports">🐛</a></td>
    <td align="center"><a href="https://github.com/colizz"><img src="https://avatars2.githubusercontent.com/u/44885400?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Congqiao Li</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/issues?q=author%3Acolizz" title="Bug reports">🐛</a></td>
    <td align="center"><a href="https://github.com/alexander-held"><img src="https://avatars0.githubusercontent.com/u/45009355?v=4?s=100" width="100px;" alt=""/><br /><sub><b>alexander-held</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/issues?q=author%3Aalexander-held" title="Bug reports">🐛</a></td>
    <td align="center"><a href="https://github.com/chrisburr"><img src="https://avatars3.githubusercontent.com/u/5220533?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Burr</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/commits?author=chrisburr" title="Documentation">📖</a></td>
  </tr>
  <tr>
    <td align="center"><a href="https://keybase.io/kgizdov"><img src="https://avatars.githubusercontent.com/u/3164953?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Konstantin Gizdov</b></sub></a><br /><a href="#platform-kgizdov" title="Packaging/porting to new platform">📦</a> <a href="https://github.com/scikit-hep/boost-histogram/issues?q=author%3Akgizdov" title="Bug reports">🐛</a></td>
    <td align="center"><a href="http://theoryandpractice.org"><img src="https://avatars.githubusercontent.com/u/4458890?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kyle Cranmer</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/commits?author=cranmer" title="Documentation">📖</a></td>
    <td align="center"><a href="http://amangoel.me"><img src="https://avatars.githubusercontent.com/u/10528392?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Aman Goel</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/commits?author=amangoel185" title="Documentation">📖</a> <a href="https://github.com/scikit-hep/boost-histogram/commits?author=amangoel185" title="Code">💻</a></td>
    <td align="center"><a href="http://jay-gohil.me"><img src="https://avatars.githubusercontent.com/u/59703162?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jay Gohil</b></sub></a><br /><a href="https://github.com/scikit-hep/boost-histogram/commits?author=gohil-jay" title="Documentation">📖</a></td>
  </tr>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification.

## Talks and other documentation/tutorial sources

The [official documentation is here](https://boost-histogram.readthedocs.io/en/latest/index.html), and includes a [quickstart](https://boost-histogram.readthedocs.io/en/latest/usage/quickstart.html).

- [2019-4-15 IRIS-HEP Topical meeting](https://indico.cern.ch/event/803122/)
- [2019-10-17 PyHEP Histogram session](https://indico.cern.ch/event/833895/contributions/3577833/) - [repo with talks and workbook](https://github.com/henryiii/pres-bhandhist)
- [2019-11-7 CHEP](https://indico.cern.ch/event/773049/contributions/3473265/)
- [2020-07-07 SciPy](https://www.youtube.com/watch?v=ERraTfHkPd0&list=PLYx7XA2nY5GfY4WWJjG5cQZDc7DIUmn6Z&index=4)
- [2020-07-17 PyHEP](https://indico.cern.ch/event/882824/contributions/3931299/)

---

## Acknowledgements

This library was primarily developed by Henry Schreiner and Hans Dembinski.

Support for this work was provided by the National Science Foundation cooperative agreement OAC-1836650 (IRIS-HEP) and OAC-1450377 (DIANA/HEP). Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.

[actions-badge]: https://github.com/scikit-hep/boost-histogram/workflows/Tests/badge.svg
[actions-link]: https://github.com/scikit-hep/boost-histogram/actions
[conda-badge]: https://img.shields.io/conda/vn/conda-forge/boost-histogram
[conda-link]: https://github.com/conda-forge/boost-histogram-feedstock
[github-discussions-badge]: https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
[github-discussions-link]: https://github.com/scikit-hep/boost-histogram/discussions
[gitter-badge]: https://badges.gitter.im/HSF/PyHEP-histogramming.svg
[gitter-link]: https://gitter.im/HSF/PyHEP-histogramming?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
[pypi-link]: https://pypi.org/project/boost-histogram/
[pypi-platforms]: https://img.shields.io/pypi/pyversions/boost-histogram
[pypi-version]: https://badge.fury.io/py/boost-histogram.svg
[rtd-badge]: https://readthedocs.org/projects/boost-histogram/badge/?version=latest
[rtd-link]: https://boost-histogram.readthedocs.io/en/latest/?badge=latest
[sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg
[Boost::Histogram]: https://www.boost.org/doc/libs/release/libs/histogram/doc/html/index.html
[Boost::Histogram source]: https://github.com/boostorg/histogram
[Hist]: https://github.com/scikit-hep/hist
[fastest libraries]: https://iscinumpy.gitlab.io/post/histogram-speeds-in-python/

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/scikit-hep/boost-histogram",
    "name": "boost-histogram",
    "maintainer": "Hans Dembinski and Henry Schreiner",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "hschrein@cern.ch",
    "keywords": "histogram, boost-histogram",
    "author": "Hans Dembinski and Henry Schreiner",
    "author_email": "hschrein@cern.ch",
    "download_url": "https://files.pythonhosted.org/packages/60/68/a901fa3287fe62bde47e3936081286b6588b55f89bbcb9984be519414551/boost_histogram-1.4.1.tar.gz",
    "platform": null,
    "description": "<img alt=\"boost-histogram logo\" width=\"402\" src=\"https://raw.githubusercontent.com/scikit-hep/boost-histogram/develop/docs/_images/BoostHistogramPythonLogo.png\"/>\n\n# boost-histogram for Python\n\n[![Actions Status][actions-badge]][actions-link]\n[![Documentation Status][rtd-badge]][rtd-link]\n\n[![PyPI version][pypi-version]][pypi-link]\n[![Conda-Forge][conda-badge]][conda-link]\n[![PyPI platforms][pypi-platforms]][pypi-link]\n[![DOI](https://zenodo.org/badge/148885351.svg)](https://zenodo.org/badge/latestdoi/148885351)\n\n[![GitHub Discussion][github-discussions-badge]][github-discussions-link]\n[![Gitter][gitter-badge]][gitter-link]\n[![Scikit-HEP][sk-badge]](https://scikit-hep.org/)\n\nPython bindings for [Boost::Histogram][] ([source][Boost::Histogram source]), a C++14 library. This is one of the [fastest libraries][] for\nhistogramming, while still providing the power of a full histogram object. See\n[what's new](./docs/CHANGELOG.md).\n\nOther members of the boost-histogram family include:\n\n- [Hist][]: The first-party analyst-friendly histogram library that extends\n  boost-histogram with named axes, many new shortcuts including UHI+, plotting\n  shortcuts, and more.\n- [UHI][]: Specification for Histogram library interop, especially for plotting.\n- [mplhep][]: Plotting extension for matplotlib with support for UHI histograms.\n- [histoprint][]: Histogram display library for the command line with support for UHI.\n- [dask-histogram][]: Dask support for boost-histogram.\n\n[uhi]: https://uhi.readthedocs.io\n[dask-histogram]: https://dask-histogram.readthedocs.io/en/stable/\n[mplhep]: https://mplhep.readthedocs.io/en/latest/\n[histoprint]: https://github.com/scikit-hep/histoprint\n\n## Usage\n\n![Slideshow of features. See expandable text below if the image is not readable.](https://github.com/scikit-hep/boost-histogram/raw/develop/docs/_images/banner.gif)\n\n<details><summary>Text intro (click to expand)</summary>\n\n```python\nimport boost_histogram as bh\n\n# Compose axis however you like; this is a 2D histogram\nhist = bh.Histogram(\n    bh.axis.Regular(2, 0, 1),\n    bh.axis.Regular(4, 0.0, 1.0),\n)\n\n# Filling can be done with arrays, one per dimension\nhist.fill(\n    [0.3, 0.5, 0.2],\n    [0.1, 0.4, 0.9],\n)\n\n# NumPy array view into histogram counts, no overflow bins\nvalues = hist.values()\n\n# Make a new histogram with just the second axis, summing over the first, and\n# rebinning the second into larger bins:\nh2 = hist[::sum, :: bh.rebin(2)]\n```\n\n</details>\n\nWe support the [uhi][] [PlottableHistogram][] protocol, so boost-histogram/[Hist][]\nhistograms can be plotted via any compatible library, such as [mplhep][].\n\n[uhi]: https://github.com/scikit-hep/uhi\n[PlottableHistogram]: https://uhi.readthedocs.io/en/latest/plotting.html\n[mplhep]: https://github.com/scikit-hep/mplhep\n\n## Cheatsheet\n\n<details><summary>Simplified list of features (click to expand)</summary>\n\n- Many axis types (all support `metadata=...`)\n  - `bh.axis.Regular(n, start, stop, ...)`: Make a regular axis. Options listed below.\n    - `overflow=False`: Turn off overflow bin\n    - `underflow=False`: Turn off underflow bin\n    - `growth=True`: Turn on growing axis, bins added when out-of-range items added\n    - `circular=True`: Turn on wrapping, so that out-of-range values wrap around into the axis\n    - `transform=bh.axis.transform.Log`: Log spacing\n    - `transform=bh.axis.transform.Sqrt`: Square root spacing\n    - `transform=bh.axis.transform.Pow(v)`: Power spacing\n    - See also the flexible [Function transform](https://boost-histogram.readthedocs.io/en/latest/usage/transforms.html)\n  - `bh.axis.Integer(start, stop, *, underflow=True, overflow=True, growth=False, circular=False)`: Special high-speed version of `regular` for evenly spaced bins of width 1\n  - `bh.axis.Variable([start, edge1, edge2, ..., stop], *, underflow=True, overflow=True, circular=False)`: Uneven bin spacing\n  - `bh.axis.IntCategory([...], *, growth=False)`: Integer categories\n  - `bh.axis.StrCategory([...], *, growth=False)`: String categories\n  - `bh.axis.Boolean()`: A True/False axis\n- Axis features:\n  - `.index(value)`: The index at a point (or points) on the axis\n  - `.value(index)`: The value for a fractional bin (or bins) in the axis\n  - `.bin(i)`: The bin edges (continuous axis) or a bin value (discrete axis)\n  - `.centers`: The N bin centers (if continuous)\n  - `.edges`: The N+1 bin edges (if continuous)\n  - `.extent`: The number of bins (including under/overflow)\n  - `.metadata`: Anything a user wants to store\n  - `.traits`: The options set on the axis\n  - `.size`: The number of bins (not including under/overflow)\n  - `.widths`: The N bin widths\n- Many storage types\n  - `bh.storage.Double()`: Doubles for weighted values (default)\n  - `bh.storage.Int64()`: 64-bit unsigned integers\n  - `bh.storage.Unlimited()`: Starts small, but can go up to unlimited precision ints or doubles.\n  - `bh.storage.AtomicInt64()`: Threadsafe filling, experimental. Does not support growing axis in threads.\n  - `bh.storage.Weight()`: Stores a weight and sum of weights squared.\n  - `bh.storage.Mean()`: Accepts a sample and computes the mean of the samples (profile).\n  - `bh.storage.WeightedMean()`: Accepts a sample and a weight. It computes the weighted mean of the samples.\n- Accumulators\n  - `bh.accumulator.Sum`: High accuracy sum (Neumaier) - used by the sum method when summing a numerical histogram\n  - `bh.accumulator.WeightedSum`: Tracks a weighted sum and variance\n  - `bh.accumulator.Mean`: Running count, mean, and variance (Welfords's incremental algorithm)\n  - `bh.accumulator.WeightedMean`: Tracks a weighted sum, mean, and variance (West's incremental algorithm)\n- Histogram operations\n  - `h.ndim`: The number of dimensions\n  - `h.size or len(h)`: The number of bins\n  - `+`: Add two histograms (storages must match types currently)\n  - `*=`: Multiply by a scaler (not all storages) (`hist * scalar` and `scalar * hist` supported too)\n  - `/=`: Divide by a scaler (not all storages) (`hist / scalar` supported too)\n  - `.kind`: Either `bh.Kind.COUNT` or `bh.Kind.MEAN`, depending on storage\n  - `.storage_type`: Fetch the histogram storage type\n  - `.sum(flow=False)`: The total count of all bins\n  - `.project(ax1, ax2, ...)`: Project down to listed axis (numbers). Can also reorder axes.\n  - `.to_numpy(flow=False, view=False)`: Convert to a NumPy style tuple (with or without under/overflow bins)\n  - `.view(flow=False)`: Get a view on the bin contents (with or without under/overflow bins)\n  - `.values(flow=False)`: Get a view on the values (counts or means, depending on storage)\n  - `.variances(flow=False)`: Get the variances if available\n  - `.counts(flow=False)`: Get the effective counts for all storage types\n  - `.reset()`: Set counters to 0 (growing axis remain the same size)\n  - `.empty(flow=False)`: Check to see if the histogram is empty (can check flow bins too if asked)\n  - `.copy(deep=False)`: Make a copy of a histogram\n  - `.axes`: Get the axes as a tuple-like (all properties of axes are available too)\n    - `.axes[0]`: Get the 0th axis\n    - `.axes.edges`: The lower values as a broadcasting-ready array\n    - `.axes.centers`: The centers of the bins broadcasting-ready array\n    - `.axes.widths`: The bin widths as a broadcasting-ready array\n    - `.axes.metadata`: A tuple of the axes metadata\n    - `.axes.size`: A tuple of the axes sizes (size without flow)\n    - `.axes.extent`: A tuple of the axes extents (size with flow)\n    - `.axes.bin(*args)`: Returns the bin edges as a tuple of pairs (continuous axis) or values (describe)\n    - `.axes.index(*args)`: Returns the bin index at a value for each axis\n    - `.axes.value(*args)`: Returns the bin value at an index for each axis\n- Indexing - Supports [UHI Indexing](https://uhi.readthedocs.io/en/latest/indexing.html)\n  - Bin content access / setting\n    - `v = h[b]`: Access bin content by index number\n    - `v = h[{0:b}]`: All actions can be represented by `axis:item` dictionary instead of by position (mostly useful for slicing)\n  - Slicing to get histogram or set array of values\n    - `h2 = h[a:b]`: Access a slice of a histogram, cut portions go to flow bins if present\n    - `h2 = h[:, ...]`: Using `:` and `...` supported just like NumPy\n    - `h2 = h[::sum]`: Third item in slice is the \"action\"\n    - `h[...] = array`: Set the bin contents, either include or omit flow bins\n  - Special accessors\n    - `bh.loc(v)`: Supply value in axis coordinates instead of bin number\n    - `bh.underflow`: The underflow bin (use empty beginning on slice for slicing instead)\n    - `bh.overflow`: The overflow bin (use empty end on slice for slicing instead)\n  - Special actions (third item in slice)\n    - `sum`: Remove axes via projection; if limits are given, use those\n    - `bh.rebin(n)`: Rebin an axis\n- NumPy compatibility\n  - `bh.numpy` provides faster [drop in replacements](https://boost-histogram.readthedocs.io/en/latest/usage/numpy.html) for NumPy histogram functions\n  - Histograms follow the buffer interface, and provide `.view()`\n  - Histograms can be converted to NumPy style output tuple with `.to_numpy()`\n- Details\n  - All objects support copy/deepcopy/pickle\n  - Fully statically typed, tested with MyPy.\n\n</details>\n\n## Installation\n\nYou can install this library from [PyPI](https://pypi.org/project/boost-histogram/) with pip:\n\n```bash\npython3 -m pip install boost-histogram\n```\n\nAll the normal best-practices for Python apply; Pip should not be very old (Pip\n9 is very old), you should be in a virtual environment, etc. Python 3.7+ is\nrequired; for older versions of Python (3.5 and 2.7), `0.13` will be installed\ninstead, which is API equivalent to 1.0, but will not be gaining new features.\n1.3.x was the last series to support Python 3.6.\n\n#### Binaries available:\n\nThe easiest way to get boost-histogram is to use a binary wheel, which happens\nwhen you run the above command on a supported platform. Wheels are produced using\n[cibuildwheel](https://cibuildwheel.readthedocs.io/en/stable/); all common\nplatforms have wheels provided in boost-histogram:\n\n| System           | Arch        | Python versions                 | PyPy versions       |\n| ---------------- | ----------- | ------------------------------- | ------------------- |\n| ManyLinux2014    | 64-bit      | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | 3.7, 3.8, 3.9, 3.10 |\n| ManyLinux2014    | ARM64       | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | 3.7, 3.8, 3.9, 3.10 |\n| MuslLinux_1_1    | 64-bit      | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 |                     |\n| macOS 10.9+      | 64-bit      | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 | 3.7, 3.8, 3.9, 3.10 |\n| macOS Universal2 | Arm64       | 3.8, 3.9, 3.10, 3.11, 3.12      |                     |\n| Windows          | 32 & 64-bit | 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 |                     |\n| Windows          | 64-bit      |                                 | 3.7, 3.8, 3.9, 3.10 |\n\n- manylinux2014: Requires pip 19.3.\n- ARM on Linux is supported. PowerPC or IBM-Z available on request.\n- macOS Universal2 wheels for Apple Silicon and Intel provided for Python 3.8+ (requires Pip 21.0.1 or newer).\n\nIf you are on a Linux system that is not part of the \"many\" in manylinux or musl in musllinux, such as ClearLinux, building from source is usually fine, since the compilers on those systems are often quite new. It will just take longer to install when it is using the sdist instead of a wheel. All dependencies are header-only and included.\n\n#### Conda-Forge\n\nThe boost-histogram package is available on [conda-forge](https://github.com/conda-forge/boost-histogram-feedstock), as well. All supported variants are available.\n\n```bash\nconda install -c conda-forge boost-histogram\n```\n\n#### Source builds\n\nFor a source build, for example from an \"SDist\" package, the only requirements are a C++14 compatible compiler. The compiler requirements are dictated by Boost.Histogram's C++ requirements: gcc >= 5.5, clang >= 3.8, or msvc >= 14.1. You should have a version of pip less than 2-3 years old (10+).\n\nBoost is not required or needed (this only depends on included header-only dependencies). You can install directly from GitHub if you would like.\n\n```bash\npython -m pip install git+https://github.com/scikit-hep/boost-histogram.git@develop\n```\n\n## Developing\n\nSee [CONTRIBUTING.md](.github/CONTRIBUTING.md) for details on how to set up a development environment.\n\n## Contributors\n\nWe would like to acknowledge the contributors that made this project possible ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tr>\n    <td align=\"center\"><a href=\"http://iscinumpy.gitlab.io\"><img src=\"https://avatars1.githubusercontent.com/u/4616906?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Henry Schreiner</b></sub></a><br /><a href=\"#maintenance-henryiii\" title=\"Maintenance\">\ud83d\udea7</a> <a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=henryiii\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=henryiii\" title=\"Documentation\">\ud83d\udcd6</a></td>\n    <td align=\"center\"><a href=\"https://github.com/HDembinski\"><img src=\"https://avatars0.githubusercontent.com/u/2631586?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Hans Dembinski</b></sub></a><br /><a href=\"#maintenance-HDembinski\" title=\"Maintenance\">\ud83d\udea7</a> <a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=HDembinski\" title=\"Code\">\ud83d\udcbb</a></td>\n    <td align=\"center\"><a href=\"http://lovelybuggies.github.io\"><img src=\"https://avatars3.githubusercontent.com/u/29083689?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>N!no</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=LovelyBuggies\" title=\"Tests\">\u26a0\ufe0f</a> <a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=LovelyBuggies\" title=\"Documentation\">\ud83d\udcd6</a></td>\n    <td align=\"center\"><a href=\"https://github.com/jpivarski\"><img src=\"https://avatars0.githubusercontent.com/u/1852447?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jim Pivarski</b></sub></a><br /><a href=\"#ideas-jpivarski\" title=\"Ideas, Planning, & Feedback\">\ud83e\udd14</a></td>\n    <td align=\"center\"><a href=\"https://github.com/nsmith-\"><img src=\"https://avatars3.githubusercontent.com/u/6587412?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Nicholas Smith</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/issues?q=author%3Ansmith-\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    <td align=\"center\"><a href=\"http://www-pnp.physics.ox.ac.uk/~huffman/\"><img src=\"https://avatars3.githubusercontent.com/u/45843291?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>physicscitizen</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/issues?q=author%3Aphysicscitizen\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    <td align=\"center\"><a href=\"https://www.linkedin.com/in/chanchal-kumar-maji-9230a9145/\"><img src=\"https://avatars1.githubusercontent.com/u/31502077?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Chanchal Kumar Maji</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=ChanchalKumarMaji\" title=\"Documentation\">\ud83d\udcd6</a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://ddavis.io/\"><img src=\"https://avatars2.githubusercontent.com/u/3202090?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Doug Davis</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/issues?q=author%3Adouglasdavis\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    <td align=\"center\"><a href=\"https://github.com/pgrimaud\"><img src=\"https://avatars1.githubusercontent.com/u/1866496?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Pierre Grimaud</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=pgrimaud\" title=\"Documentation\">\ud83d\udcd6</a></td>\n    <td align=\"center\"><a href=\"https://github.com/beojan\"><img src=\"https://avatars0.githubusercontent.com/u/3727925?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Beojan Stanislaus</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/issues?q=author%3Abeojan\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    <td align=\"center\"><a href=\"https://github.com/Popinaodude\"><img src=\"https://avatars2.githubusercontent.com/u/20911987?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Popinaodude</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/issues?q=author%3APopinaodude\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    <td align=\"center\"><a href=\"https://github.com/colizz\"><img src=\"https://avatars2.githubusercontent.com/u/44885400?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Congqiao Li</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/issues?q=author%3Acolizz\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    <td align=\"center\"><a href=\"https://github.com/alexander-held\"><img src=\"https://avatars0.githubusercontent.com/u/45009355?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>alexander-held</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/issues?q=author%3Aalexander-held\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    <td align=\"center\"><a href=\"https://github.com/chrisburr\"><img src=\"https://avatars3.githubusercontent.com/u/5220533?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Chris Burr</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=chrisburr\" title=\"Documentation\">\ud83d\udcd6</a></td>\n  </tr>\n  <tr>\n    <td align=\"center\"><a href=\"https://keybase.io/kgizdov\"><img src=\"https://avatars.githubusercontent.com/u/3164953?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Konstantin Gizdov</b></sub></a><br /><a href=\"#platform-kgizdov\" title=\"Packaging/porting to new platform\">\ud83d\udce6</a> <a href=\"https://github.com/scikit-hep/boost-histogram/issues?q=author%3Akgizdov\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    <td align=\"center\"><a href=\"http://theoryandpractice.org\"><img src=\"https://avatars.githubusercontent.com/u/4458890?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Kyle Cranmer</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=cranmer\" title=\"Documentation\">\ud83d\udcd6</a></td>\n    <td align=\"center\"><a href=\"http://amangoel.me\"><img src=\"https://avatars.githubusercontent.com/u/10528392?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Aman Goel</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=amangoel185\" title=\"Documentation\">\ud83d\udcd6</a> <a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=amangoel185\" title=\"Code\">\ud83d\udcbb</a></td>\n    <td align=\"center\"><a href=\"http://jay-gohil.me\"><img src=\"https://avatars.githubusercontent.com/u/59703162?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Jay Gohil</b></sub></a><br /><a href=\"https://github.com/scikit-hep/boost-histogram/commits?author=gohil-jay\" title=\"Documentation\">\ud83d\udcd6</a></td>\n  </tr>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification.\n\n## Talks and other documentation/tutorial sources\n\nThe [official documentation is here](https://boost-histogram.readthedocs.io/en/latest/index.html), and includes a [quickstart](https://boost-histogram.readthedocs.io/en/latest/usage/quickstart.html).\n\n- [2019-4-15 IRIS-HEP Topical meeting](https://indico.cern.ch/event/803122/)\n- [2019-10-17 PyHEP Histogram session](https://indico.cern.ch/event/833895/contributions/3577833/) - [repo with talks and workbook](https://github.com/henryiii/pres-bhandhist)\n- [2019-11-7 CHEP](https://indico.cern.ch/event/773049/contributions/3473265/)\n- [2020-07-07 SciPy](https://www.youtube.com/watch?v=ERraTfHkPd0&list=PLYx7XA2nY5GfY4WWJjG5cQZDc7DIUmn6Z&index=4)\n- [2020-07-17 PyHEP](https://indico.cern.ch/event/882824/contributions/3931299/)\n\n---\n\n## Acknowledgements\n\nThis library was primarily developed by Henry Schreiner and Hans Dembinski.\n\nSupport for this work was provided by the National Science Foundation cooperative agreement OAC-1836650 (IRIS-HEP) and OAC-1450377 (DIANA/HEP). Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.\n\n[actions-badge]: https://github.com/scikit-hep/boost-histogram/workflows/Tests/badge.svg\n[actions-link]: https://github.com/scikit-hep/boost-histogram/actions\n[conda-badge]: https://img.shields.io/conda/vn/conda-forge/boost-histogram\n[conda-link]: https://github.com/conda-forge/boost-histogram-feedstock\n[github-discussions-badge]: https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github\n[github-discussions-link]: https://github.com/scikit-hep/boost-histogram/discussions\n[gitter-badge]: https://badges.gitter.im/HSF/PyHEP-histogramming.svg\n[gitter-link]: https://gitter.im/HSF/PyHEP-histogramming?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge\n[pypi-link]: https://pypi.org/project/boost-histogram/\n[pypi-platforms]: https://img.shields.io/pypi/pyversions/boost-histogram\n[pypi-version]: https://badge.fury.io/py/boost-histogram.svg\n[rtd-badge]: https://readthedocs.org/projects/boost-histogram/badge/?version=latest\n[rtd-link]: https://boost-histogram.readthedocs.io/en/latest/?badge=latest\n[sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg\n[Boost::Histogram]: https://www.boost.org/doc/libs/release/libs/histogram/doc/html/index.html\n[Boost::Histogram source]: https://github.com/boostorg/histogram\n[Hist]: https://github.com/scikit-hep/hist\n[fastest libraries]: https://iscinumpy.gitlab.io/post/histogram-speeds-in-python/\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "The Boost::Histogram Python wrapper.",
    "version": "1.4.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/scikit-hep/boost-histogram/issues",
        "Changelog": "https://boost-histogram.readthedocs.io/en/latest/CHANGELOG.html",
        "Chat": "https://gitter.im/HSF/PyHEP-histogramming",
        "Discussions": "https://github.com/scikit-hep/boost-histogram/discussions",
        "Documentation": "https://boost-histogram.readthedocs.io/",
        "Homepage": "https://github.com/scikit-hep/boost-histogram"
    },
    "split_keywords": [
        "histogram",
        " boost-histogram"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aeba39e9631c89412f78a4145fde7ec089e106a3fb1cc6d9ab7c9380ce5f5972",
                "md5": "bd1178bc76047b107136ea4c8e4675e2",
                "sha256": "0ab5019b54eab60752dbff08da066e0c061936bf2ac6c2326ffc404087774fae"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "bd1178bc76047b107136ea4c8e4675e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 3279245,
            "upload_time": "2024-03-30T07:31:55",
            "upload_time_iso_8601": "2024-03-30T07:31:55.550332Z",
            "url": "https://files.pythonhosted.org/packages/ae/ba/39e9631c89412f78a4145fde7ec089e106a3fb1cc6d9ab7c9380ce5f5972/boost_histogram-1.4.1-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "79c6647072fd1b1d94d7711771bdde26a46e7acd95ebebfb182b841ce502716f",
                "md5": "565ba52a2320f311caf2b11e296a0e49",
                "sha256": "b1aa4efda18e94e31fc75021b63e4d57b74d9c5850105609eeed1d57d865aaca"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "565ba52a2320f311caf2b11e296a0e49",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 1684584,
            "upload_time": "2024-03-30T07:31:58",
            "upload_time_iso_8601": "2024-03-30T07:31:58.757803Z",
            "url": "https://files.pythonhosted.org/packages/79/c6/647072fd1b1d94d7711771bdde26a46e7acd95ebebfb182b841ce502716f/boost_histogram-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ac15ed9ea260933825038162c8656955539db18717e673e1128384db48142c6a",
                "md5": "6a9b3feb5a6b45a3e4088396cb18f52b",
                "sha256": "2dc566bf81d4ed865a0d05b05d2e03ef04939a65d3bcf7c5ff703d736046b185"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6a9b3feb5a6b45a3e4088396cb18f52b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 1591684,
            "upload_time": "2024-03-30T07:32:01",
            "upload_time_iso_8601": "2024-03-30T07:32:01.389834Z",
            "url": "https://files.pythonhosted.org/packages/ac/15/ed9ea260933825038162c8656955539db18717e673e1128384db48142c6a/boost_histogram-1.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "84f4ab774339a9e7168b3c33898a11676924b27388cfae0aa934588c6f1e12d8",
                "md5": "24c37476553e7c93d3387cf8efeeb470",
                "sha256": "f3751c6c8ebd13c4a15bd9efe188f82b89cd2204c8b82cd8d5fae07366a52d01"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "24c37476553e7c93d3387cf8efeeb470",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 2102787,
            "upload_time": "2024-03-30T07:32:03",
            "upload_time_iso_8601": "2024-03-30T07:32:03.540904Z",
            "url": "https://files.pythonhosted.org/packages/84/f4/ab774339a9e7168b3c33898a11676924b27388cfae0aa934588c6f1e12d8/boost_histogram-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "55f46d15b0e70d76faa666c5bbbb6c63763375dda2f58858a1f625969ed8fc0d",
                "md5": "3ae1a58a8925f1490da0e55c7f72861f",
                "sha256": "2f4d315cfaad4ca4725ee49aee5059f0d7ab0b4855590b64dbe6bec5ccd751a9"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "3ae1a58a8925f1490da0e55c7f72861f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 538230,
            "upload_time": "2024-03-30T07:32:06",
            "upload_time_iso_8601": "2024-03-30T07:32:06.097586Z",
            "url": "https://files.pythonhosted.org/packages/55/f4/6d15b0e70d76faa666c5bbbb6c63763375dda2f58858a1f625969ed8fc0d/boost_histogram-1.4.1-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "842926e82ad990248d5ac05945726b57fda61ca58cfeffd8949d7336cde63f86",
                "md5": "8123d04f3f595ce1bc9636cac8dbb54f",
                "sha256": "e40f68095d6147daee54fcd97718437422be60f86653ca80fa8763bcd8f0c6a7"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8123d04f3f595ce1bc9636cac8dbb54f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 737357,
            "upload_time": "2024-03-30T07:32:08",
            "upload_time_iso_8601": "2024-03-30T07:32:08.473289Z",
            "url": "https://files.pythonhosted.org/packages/84/29/26e82ad990248d5ac05945726b57fda61ca58cfeffd8949d7336cde63f86/boost_histogram-1.4.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "be03319c49ca719ff6cd270705b06962d2504b94e89b38b23deb5014ad2ca698",
                "md5": "939e0a9fd35ebcc630b7065c5da1de66",
                "sha256": "38abf81da5cffc46b69b17cf34c0f8f69e95441b34550b486ebd46e1c443d2fb"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "939e0a9fd35ebcc630b7065c5da1de66",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 3281303,
            "upload_time": "2024-03-30T07:32:11",
            "upload_time_iso_8601": "2024-03-30T07:32:11.188452Z",
            "url": "https://files.pythonhosted.org/packages/be/03/319c49ca719ff6cd270705b06962d2504b94e89b38b23deb5014ad2ca698/boost_histogram-1.4.1-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6029306d129e019900698c30fda961fad8dd33339b67fddebd4fc1aa72e076f1",
                "md5": "b383dff2d31e8b685b3b9bad1a23f584",
                "sha256": "ea98f717e7cca911e23a4dbbcf00ba519c07e7481f3fc33622144547b3637157"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b383dff2d31e8b685b3b9bad1a23f584",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 1686586,
            "upload_time": "2024-03-30T07:32:13",
            "upload_time_iso_8601": "2024-03-30T07:32:13.869233Z",
            "url": "https://files.pythonhosted.org/packages/60/29/306d129e019900698c30fda961fad8dd33339b67fddebd4fc1aa72e076f1/boost_histogram-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "acc790d2fa963adab6ae8729c3832f24354f986ce5c0d27b697ad98b5f844bbf",
                "md5": "a566bd03bc6a70ffac496e6257ce6d27",
                "sha256": "256a084993bbea4b63e7fcc4e911fe34afd3d49ad068341ea4e2663e1ab12430"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a566bd03bc6a70ffac496e6257ce6d27",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 1593393,
            "upload_time": "2024-03-30T07:32:16",
            "upload_time_iso_8601": "2024-03-30T07:32:16.359005Z",
            "url": "https://files.pythonhosted.org/packages/ac/c7/90d2fa963adab6ae8729c3832f24354f986ce5c0d27b697ad98b5f844bbf/boost_histogram-1.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "83959d6653b06c9688e4d49c852accda68a48419c20901fcc58b6c7cf9f0c62f",
                "md5": "a3710abe8bd0f58beb186b109e0f37f5",
                "sha256": "90ad2f26fc2aa2b05385e0f6c82fe2992d69e5e0aa164161eb1415073066e366"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a3710abe8bd0f58beb186b109e0f37f5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 2106799,
            "upload_time": "2024-03-30T07:32:18",
            "upload_time_iso_8601": "2024-03-30T07:32:18.244233Z",
            "url": "https://files.pythonhosted.org/packages/83/95/9d6653b06c9688e4d49c852accda68a48419c20901fcc58b6c7cf9f0c62f/boost_histogram-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "105299cef638b5f104fb827eb024e45d209f622b80aca317fb74b676c0e03ab9",
                "md5": "c19dc996015489a30ef93b69305fa8cc",
                "sha256": "bd1cb44a678e7e33f85721508d1ac1193137fc2beb61148e4d316bd273e5bb9e"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "c19dc996015489a30ef93b69305fa8cc",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 539011,
            "upload_time": "2024-03-30T07:32:20",
            "upload_time_iso_8601": "2024-03-30T07:32:20.080031Z",
            "url": "https://files.pythonhosted.org/packages/10/52/99cef638b5f104fb827eb024e45d209f622b80aca317fb74b676c0e03ab9/boost_histogram-1.4.1-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5a75e4d7019c5910e3e6c04b5cdebcd60e46a9ae35af5cbae67969096f9f4050",
                "md5": "1dc8013406eb7f01b3e9120cfad9a563",
                "sha256": "4439bdfca517753f1001f535471fe67ee6e8229cfe87f9b03a911027841274ec"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1dc8013406eb7f01b3e9120cfad9a563",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 738321,
            "upload_time": "2024-03-30T07:32:22",
            "upload_time_iso_8601": "2024-03-30T07:32:22.044824Z",
            "url": "https://files.pythonhosted.org/packages/5a/75/e4d7019c5910e3e6c04b5cdebcd60e46a9ae35af5cbae67969096f9f4050/boost_histogram-1.4.1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "951c54ec18db9c654e26aff3c95eba9a019df399496bc33d33909159fb8c1200",
                "md5": "647d18de5553141ba0bf1ba68c7ae796",
                "sha256": "89fcb3386295f9041e6fa597d704c4d83076e8c26404a5f5dbe19d8f19c9f4f5"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "647d18de5553141ba0bf1ba68c7ae796",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 3328643,
            "upload_time": "2024-03-30T07:32:23",
            "upload_time_iso_8601": "2024-03-30T07:32:23.950522Z",
            "url": "https://files.pythonhosted.org/packages/95/1c/54ec18db9c654e26aff3c95eba9a019df399496bc33d33909159fb8c1200/boost_histogram-1.4.1-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27379062af23ae5995efc83b2e3c97fd964b7fcb0b598ec3361e32f91495d89a",
                "md5": "4f814b54f5cddda70d978ff553120333",
                "sha256": "8fa7a9e5fd6ba16a8acb185a2c441d7e777db7643fde9e988f50dfbff9d92cbc"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4f814b54f5cddda70d978ff553120333",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 1722545,
            "upload_time": "2024-03-30T07:32:26",
            "upload_time_iso_8601": "2024-03-30T07:32:26.546619Z",
            "url": "https://files.pythonhosted.org/packages/27/37/9062af23ae5995efc83b2e3c97fd964b7fcb0b598ec3361e32f91495d89a/boost_histogram-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6b036b2411d3cc40833a1292534878c195e7fad8d37c908a7ffe94b2e4f5851b",
                "md5": "365dd0e8c5042623740fb8dbee85ae8a",
                "sha256": "f408e85a36dce40f39074fee0f3df70f0baec4624224c7958ff0ace027f82aff"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "365dd0e8c5042623740fb8dbee85ae8a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 1606639,
            "upload_time": "2024-03-30T07:32:28",
            "upload_time_iso_8601": "2024-03-30T07:32:28.329149Z",
            "url": "https://files.pythonhosted.org/packages/6b/03/6b2411d3cc40833a1292534878c195e7fad8d37c908a7ffe94b2e4f5851b/boost_histogram-1.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3a330c1b62ba2bfc869d4b1ac9f3c738caa5c2a5d51c89d14d2cdafb767aeaa3",
                "md5": "d197170515a7127140c22cbbdaecb06e",
                "sha256": "5d4ba99bc4c9f6a5950b4110da4737382bd188562986b2757e4c4b4ab289cf84"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d197170515a7127140c22cbbdaecb06e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 2113899,
            "upload_time": "2024-03-30T07:32:30",
            "upload_time_iso_8601": "2024-03-30T07:32:30.981896Z",
            "url": "https://files.pythonhosted.org/packages/3a/33/0c1b62ba2bfc869d4b1ac9f3c738caa5c2a5d51c89d14d2cdafb767aeaa3/boost_histogram-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ad1afac191ff14a4412954d3a2b32a74483097362e5f6c21cac6150ceb0fca4e",
                "md5": "4d890a4e9d3e0ba207f03f401c02d082",
                "sha256": "9602c52e50168ebe6f445c335133bb066905a8cf323991a4b6fa9b42c45eb77b"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "4d890a4e9d3e0ba207f03f401c02d082",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 542635,
            "upload_time": "2024-03-30T07:32:33",
            "upload_time_iso_8601": "2024-03-30T07:32:33.344673Z",
            "url": "https://files.pythonhosted.org/packages/ad/1a/fac191ff14a4412954d3a2b32a74483097362e5f6c21cac6150ceb0fca4e/boost_histogram-1.4.1-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a6a698d95f5d769dcb687a93cc37c34379fb2be3cb9a05641b0a9109747219e",
                "md5": "904105e64f0ecf339df4c177c1823e3e",
                "sha256": "bee76b001865ea5f80d7bba60876265d36fb4bf23be35573541bcdd50ba7bb74"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "904105e64f0ecf339df4c177c1823e3e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 746055,
            "upload_time": "2024-03-30T07:32:35",
            "upload_time_iso_8601": "2024-03-30T07:32:35.631510Z",
            "url": "https://files.pythonhosted.org/packages/8a/6a/698d95f5d769dcb687a93cc37c34379fb2be3cb9a05641b0a9109747219e/boost_histogram-1.4.1-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e884eecb2587a0a4b137052fbf5a158d379f873f40e5915b6fdbff94a954cbb2",
                "md5": "80746c5db73aa326c43da7e3199bce5c",
                "sha256": "a70a06d94a95a7f59dbe2c7bac2d9ee8514cf34bdbe149ca82e0cb111744ccf5"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "80746c5db73aa326c43da7e3199bce5c",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1620253,
            "upload_time": "2024-03-30T07:32:38",
            "upload_time_iso_8601": "2024-03-30T07:32:38.012639Z",
            "url": "https://files.pythonhosted.org/packages/e8/84/eecb2587a0a4b137052fbf5a158d379f873f40e5915b6fdbff94a954cbb2/boost_histogram-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8212540aa9db7b5ae0fd9a7e322bb447d8fbdeb39b5fc1f1549ecaf45cdb1f37",
                "md5": "3afeac3e92a7a08de9978dfced670e13",
                "sha256": "fb0039bada151eddd91023951db719f924e08bba9271a0b6db7de4502727bbca"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3afeac3e92a7a08de9978dfced670e13",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1646244,
            "upload_time": "2024-03-30T07:32:40",
            "upload_time_iso_8601": "2024-03-30T07:32:40.516233Z",
            "url": "https://files.pythonhosted.org/packages/82/12/540aa9db7b5ae0fd9a7e322bb447d8fbdeb39b5fc1f1549ecaf45cdb1f37/boost_histogram-1.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b373b8efc33eaca4a9cda58636d71beb14f583d4b8ac082601126e67c53779a",
                "md5": "6ebe2c3ac6c091d95d097922216d7f5e",
                "sha256": "6cecea7d1a4a2e0c7a5ed0cd5587c51b19fa4af0662a14407d4b38b7c0777f0a"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6ebe2c3ac6c091d95d097922216d7f5e",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2136187,
            "upload_time": "2024-03-30T07:32:43",
            "upload_time_iso_8601": "2024-03-30T07:32:43.112848Z",
            "url": "https://files.pythonhosted.org/packages/7b/37/3b8efc33eaca4a9cda58636d71beb14f583d4b8ac082601126e67c53779a/boost_histogram-1.4.1-cp37-cp37m-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "29c0f35d276915be91bfe1e19d2988e183c60917940889f88f87bcc97f8922a8",
                "md5": "54fc9ebb3edd262a45fd57209ef31545",
                "sha256": "dc4e44b99f84c7fb7917d1b83511f53f2de46385778a46c930a67e12d5de6cef"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "54fc9ebb3edd262a45fd57209ef31545",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 544635,
            "upload_time": "2024-03-30T07:32:45",
            "upload_time_iso_8601": "2024-03-30T07:32:45.567633Z",
            "url": "https://files.pythonhosted.org/packages/29/c0/f35d276915be91bfe1e19d2988e183c60917940889f88f87bcc97f8922a8/boost_histogram-1.4.1-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d56fdbdefa839a3e2d259be5a161c6a968eb06bb8ef97c3e70791547b48be71",
                "md5": "a758dc57ff1c1a188d253b49e2591674",
                "sha256": "3d151b5790b40d5866bd420c6495775e83dc589a34bf9662914405ee359ac0ee"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a758dc57ff1c1a188d253b49e2591674",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 744686,
            "upload_time": "2024-03-30T07:32:47",
            "upload_time_iso_8601": "2024-03-30T07:32:47.369173Z",
            "url": "https://files.pythonhosted.org/packages/4d/56/fdbdefa839a3e2d259be5a161c6a968eb06bb8ef97c3e70791547b48be71/boost_histogram-1.4.1-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "01e0ea437630329e208246eceb33530c93e3152b9ea1b832e16f2aeb4901d260",
                "md5": "496de078ab83236ff23d824cb95dbb74",
                "sha256": "63e1295492cbf1953e334a43c2e787ca9e2c3213286c51a3bd04b4a3372a06d4"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp38-cp38-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "496de078ab83236ff23d824cb95dbb74",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 3279405,
            "upload_time": "2024-03-30T07:32:49",
            "upload_time_iso_8601": "2024-03-30T07:32:49.492110Z",
            "url": "https://files.pythonhosted.org/packages/01/e0/ea437630329e208246eceb33530c93e3152b9ea1b832e16f2aeb4901d260/boost_histogram-1.4.1-cp38-cp38-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27125aaa9e53e6a258774d5ce460cdc45a4bbf63c66a02a6639b13e51f9aac5e",
                "md5": "0001566033ce1e1caa108cf1b4514710",
                "sha256": "1bdb3f82eba880447f9abd676176022febbce2435702db2b6d837c8c0679dfbc"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0001566033ce1e1caa108cf1b4514710",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 1684914,
            "upload_time": "2024-03-30T07:32:52",
            "upload_time_iso_8601": "2024-03-30T07:32:52.304872Z",
            "url": "https://files.pythonhosted.org/packages/27/12/5aaa9e53e6a258774d5ce460cdc45a4bbf63c66a02a6639b13e51f9aac5e/boost_histogram-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "597eaa60cbd295bd7376deb54c8c6d071f0980ce89964bc24b9fe7b4a751a64d",
                "md5": "7e16f2f423d40f7d5dbeb5ad7cdfdba4",
                "sha256": "438af8c4160b35d9bdb1af6848598e9077f3fe629db79d0ef7a738b9de2fd7d1"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7e16f2f423d40f7d5dbeb5ad7cdfdba4",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 1591741,
            "upload_time": "2024-03-30T07:32:54",
            "upload_time_iso_8601": "2024-03-30T07:32:54.421647Z",
            "url": "https://files.pythonhosted.org/packages/59/7e/aa60cbd295bd7376deb54c8c6d071f0980ce89964bc24b9fe7b4a751a64d/boost_histogram-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0caa3f23f5c243143708d1992b545b1b426897773a206b8a7e380f650bdeea79",
                "md5": "9afc10d95619e3909821a1249a45304d",
                "sha256": "1fe2314ffd1ce8f7f4217ed384c0c3eac8960e3ba2f8f7a4e169fca635e5f52a"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9afc10d95619e3909821a1249a45304d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 2100996,
            "upload_time": "2024-03-30T07:32:56",
            "upload_time_iso_8601": "2024-03-30T07:32:56.350937Z",
            "url": "https://files.pythonhosted.org/packages/0c/aa/3f23f5c243143708d1992b545b1b426897773a206b8a7e380f650bdeea79/boost_histogram-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eab5871ea04417e7d3a515409369cf99250e0d104afa7aa32bd75ffd5244a89f",
                "md5": "ed5462a5ac98dbe054fd4de2ce1ab931",
                "sha256": "f4f97bf113957a8f8b12c18284b8c6c0eb5ce217d483dae78e062bc10af9c05c"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "ed5462a5ac98dbe054fd4de2ce1ab931",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 537683,
            "upload_time": "2024-03-30T07:32:58",
            "upload_time_iso_8601": "2024-03-30T07:32:58.825919Z",
            "url": "https://files.pythonhosted.org/packages/ea/b5/871ea04417e7d3a515409369cf99250e0d104afa7aa32bd75ffd5244a89f/boost_histogram-1.4.1-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dcc4cfd86952096fe303e9c05c260d5a2f43a668bd04fa1c9e4b85668315db32",
                "md5": "8d2cbf93762a412810704d91161debf3",
                "sha256": "edc9fbcae008d5b0d09b128fe7a33babb37cde2fa508199e04805ff1cda4f7b0"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8d2cbf93762a412810704d91161debf3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 737471,
            "upload_time": "2024-03-30T07:33:01",
            "upload_time_iso_8601": "2024-03-30T07:33:01.543876Z",
            "url": "https://files.pythonhosted.org/packages/dc/c4/cfd86952096fe303e9c05c260d5a2f43a668bd04fa1c9e4b85668315db32/boost_histogram-1.4.1-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f9ea0b8e812ac7ba2318828d57f865a23536cc57e4946c37459fb98221c1d4a7",
                "md5": "9bad7aa19a78bc35ce5bd9f01924410f",
                "sha256": "952f165e5b4a0f6656d763260d4624d8e93cf2bc8718f9f4578a47cad1fbb7c0"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "9bad7aa19a78bc35ce5bd9f01924410f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 3279404,
            "upload_time": "2024-03-30T07:33:03",
            "upload_time_iso_8601": "2024-03-30T07:33:03.561695Z",
            "url": "https://files.pythonhosted.org/packages/f9/ea/0b8e812ac7ba2318828d57f865a23536cc57e4946c37459fb98221c1d4a7/boost_histogram-1.4.1-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b699ea24e1e5b405ba58818746cec2c8436a55c35dac1a319094036691ab241b",
                "md5": "7f900c196a08c7480ac8a60a129d1fbc",
                "sha256": "4967da5cf146721a4fa54f18d3d75df498287a1b6516cd4204a23e836069b16b"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7f900c196a08c7480ac8a60a129d1fbc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 1684700,
            "upload_time": "2024-03-30T07:33:05",
            "upload_time_iso_8601": "2024-03-30T07:33:05.416251Z",
            "url": "https://files.pythonhosted.org/packages/b6/99/ea24e1e5b405ba58818746cec2c8436a55c35dac1a319094036691ab241b/boost_histogram-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8388d50b804bee3fd7acf79dd0d08aa7b5ab326d275e51952cafacf13458b8da",
                "md5": "89d4d4c94af4809b13793d0d20052c3f",
                "sha256": "ca41241f59945ae096617e1b81c9a20e8eb4bd7001253a7b267621c936ea2d6f"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "89d4d4c94af4809b13793d0d20052c3f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 1591525,
            "upload_time": "2024-03-30T07:33:07",
            "upload_time_iso_8601": "2024-03-30T07:33:07.292116Z",
            "url": "https://files.pythonhosted.org/packages/83/88/d50b804bee3fd7acf79dd0d08aa7b5ab326d275e51952cafacf13458b8da/boost_histogram-1.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf261cf671bd1f7746b9c1736537cfeb0881d0f84b7a41d4384aac593a9d3549",
                "md5": "e44acf81d50d0d74c379179fac0b3f11",
                "sha256": "8142a1ea9a18fa896a1a945dfbf30116aef3475b816f40dac8bc3dc2eca34841"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e44acf81d50d0d74c379179fac0b3f11",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 2103685,
            "upload_time": "2024-03-30T07:33:09",
            "upload_time_iso_8601": "2024-03-30T07:33:09.399205Z",
            "url": "https://files.pythonhosted.org/packages/bf/26/1cf671bd1f7746b9c1736537cfeb0881d0f84b7a41d4384aac593a9d3549/boost_histogram-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ad792777a0706096992b25efb30860f289110fc592268450a0d2ba494344cd0c",
                "md5": "3b686a6c2aa52b0098166410a86a5617",
                "sha256": "8eb06134a663dd18e0fd398ecfc9012e1ec50c66046d95519ab7390a066a5b4e"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "3b686a6c2aa52b0098166410a86a5617",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 537968,
            "upload_time": "2024-03-30T07:33:11",
            "upload_time_iso_8601": "2024-03-30T07:33:11.125285Z",
            "url": "https://files.pythonhosted.org/packages/ad/79/2777a0706096992b25efb30860f289110fc592268450a0d2ba494344cd0c/boost_histogram-1.4.1-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3d1a40f56dc4cff65e1a1cb85ce36b607b9ef84bf569decfbf91a2ac76ad0e50",
                "md5": "64957b72568012936f4dfa31399ae0a4",
                "sha256": "9eba5978b2fe1e7de25ea61bacbcd8d8d058df3e918a0fcdafb766b1680fc6bf"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "64957b72568012936f4dfa31399ae0a4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 827621,
            "upload_time": "2024-03-30T07:33:12",
            "upload_time_iso_8601": "2024-03-30T07:33:12.902169Z",
            "url": "https://files.pythonhosted.org/packages/3d/1a/40f56dc4cff65e1a1cb85ce36b607b9ef84bf569decfbf91a2ac76ad0e50/boost_histogram-1.4.1-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ad8bdde415e597e915b82edf2efa1f7a099e215f9cc9c46cadf637e80da96c65",
                "md5": "0fc52d1892059558e7d2ece3003cd0b0",
                "sha256": "ce65b200d6b932e1efe0d66bbf7f734c89b1170da4e3d6157023c5f668305606"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0fc52d1892059558e7d2ece3003cd0b0",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 1673914,
            "upload_time": "2024-03-30T07:33:14",
            "upload_time_iso_8601": "2024-03-30T07:33:14.698013Z",
            "url": "https://files.pythonhosted.org/packages/ad/8b/dde415e597e915b82edf2efa1f7a099e215f9cc9c46cadf637e80da96c65/boost_histogram-1.4.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ca575701bd4017ddd16d0411ff280ab67e5a1441a94f7f634347572a45da864b",
                "md5": "0ede39a091334bf9d3bac0b0cf82fc3b",
                "sha256": "8b58966f6548497b7da6b8ceb4fe2cd18f9c0efd75ec743885bb49b352bac175"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0ede39a091334bf9d3bac0b0cf82fc3b",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 1535622,
            "upload_time": "2024-03-30T07:33:17",
            "upload_time_iso_8601": "2024-03-30T07:33:17.391298Z",
            "url": "https://files.pythonhosted.org/packages/ca/57/5701bd4017ddd16d0411ff280ab67e5a1441a94f7f634347572a45da864b/boost_histogram-1.4.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b1a10dd695854b9d379114633321cf2cd6428aa362e631bba9fea91cf8e35588",
                "md5": "544ba32ee8bdc752b72f526c05cc97c2",
                "sha256": "eac2a39d89bfa8d2439f2075ee2cc9cb699c40619fd7397b0f90d7bf9c8be340"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp310-pypy310_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "544ba32ee8bdc752b72f526c05cc97c2",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.7",
            "size": 738417,
            "upload_time": "2024-03-30T07:33:19",
            "upload_time_iso_8601": "2024-03-30T07:33:19.159304Z",
            "url": "https://files.pythonhosted.org/packages/b1/a1/0dd695854b9d379114633321cf2cd6428aa362e631bba9fea91cf8e35588/boost_histogram-1.4.1-pp310-pypy310_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "14cf6771eda9e2392ad9447ea21748b8d433a126eea97d6f6d64209f2107677c",
                "md5": "ab857e690d4446332c8ddaaae108e970",
                "sha256": "12539aa311b9ad1d89b6e631a5c8a6cd54411ae30bb330a892efc07c9e6be253"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ab857e690d4446332c8ddaaae108e970",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 1672744,
            "upload_time": "2024-03-30T07:33:21",
            "upload_time_iso_8601": "2024-03-30T07:33:21.725503Z",
            "url": "https://files.pythonhosted.org/packages/14/cf/6771eda9e2392ad9447ea21748b8d433a126eea97d6f6d64209f2107677c/boost_histogram-1.4.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a64869870a9ebd3d38e4078759291194622a3a9c907c649f103223a04ac98558",
                "md5": "583d5eb72dc3ae406dac1d8ccf69c43f",
                "sha256": "d9d63ed5f0b0cc20fb8d502725464b3fff2420c8db7dda1f801176ad8c7e556c"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "583d5eb72dc3ae406dac1d8ccf69c43f",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 1529274,
            "upload_time": "2024-03-30T07:33:23",
            "upload_time_iso_8601": "2024-03-30T07:33:23.507120Z",
            "url": "https://files.pythonhosted.org/packages/a6/48/69870a9ebd3d38e4078759291194622a3a9c907c649f103223a04ac98558/boost_histogram-1.4.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0f0c0d7dd9ed37027432aa84b5ad0b0505ad02510b9b0221357c218ac9b2e18d",
                "md5": "fcea9b464566f4d1bfbe1938b0444d9b",
                "sha256": "b902179864f5e5e2746181d3bd9590a5edde4821bd80a07708a44251b6e31245"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp37-pypy37_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "fcea9b464566f4d1bfbe1938b0444d9b",
            "packagetype": "bdist_wheel",
            "python_version": "pp37",
            "requires_python": ">=3.7",
            "size": 741128,
            "upload_time": "2024-03-30T07:33:26",
            "upload_time_iso_8601": "2024-03-30T07:33:26.094640Z",
            "url": "https://files.pythonhosted.org/packages/0f/0c/0d7dd9ed37027432aa84b5ad0b0505ad02510b9b0221357c218ac9b2e18d/boost_histogram-1.4.1-pp37-pypy37_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "882e96f9620b5e54b8481816d5e48e836e71df89fa15e1d91da9336cd81170ae",
                "md5": "18355b284a80dcc1d79aa8c204a90818",
                "sha256": "da7df0f73cbb838d6aeb75a0e0a3773cce029bda8c253f69e2bd1d5d18522ac8"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "18355b284a80dcc1d79aa8c204a90818",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 1673350,
            "upload_time": "2024-03-30T07:33:28",
            "upload_time_iso_8601": "2024-03-30T07:33:28.002219Z",
            "url": "https://files.pythonhosted.org/packages/88/2e/96f9620b5e54b8481816d5e48e836e71df89fa15e1d91da9336cd81170ae/boost_histogram-1.4.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "98909a1ed9ab189170fa9a4cc7fffa5d5b2bcdfbcf9f11736b470f6adcb29341",
                "md5": "b7a4acc7c69245ad11b7c13096d1c649",
                "sha256": "92f08b973023b9d8206bc9e0101768b94425166a64101bdee5350163266879f0"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b7a4acc7c69245ad11b7c13096d1c649",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 1528460,
            "upload_time": "2024-03-30T07:33:30",
            "upload_time_iso_8601": "2024-03-30T07:33:30.707989Z",
            "url": "https://files.pythonhosted.org/packages/98/90/9a1ed9ab189170fa9a4cc7fffa5d5b2bcdfbcf9f11736b470f6adcb29341/boost_histogram-1.4.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "93e403cc6d6acf2ac11cb617ff6208e9f2e076b8f197879ef924df51214b7470",
                "md5": "0be552b6790a9c4bfea6b97337b04996",
                "sha256": "158f4abea2f29350951418d7cf91772dc9b7d3586357d13378cfca3bfb2f9484"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp38-pypy38_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0be552b6790a9c4bfea6b97337b04996",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.7",
            "size": 741388,
            "upload_time": "2024-03-30T07:33:32",
            "upload_time_iso_8601": "2024-03-30T07:33:32.497267Z",
            "url": "https://files.pythonhosted.org/packages/93/e4/03cc6d6acf2ac11cb617ff6208e9f2e076b8f197879ef924df51214b7470/boost_histogram-1.4.1-pp38-pypy38_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "714f8e9a6263c46a63d43ab851fe245b731813d5e2dec2e000ff4c0c857fefef",
                "md5": "2faa0875d64d3d0aea1cf4a1935fe6cb",
                "sha256": "281de6d46ace4914aea7ce746f9fc111d08f90bf1ed5a37b448780ddb4b46023"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2faa0875d64d3d0aea1cf4a1935fe6cb",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 1673764,
            "upload_time": "2024-03-30T07:33:34",
            "upload_time_iso_8601": "2024-03-30T07:33:34.224052Z",
            "url": "https://files.pythonhosted.org/packages/71/4f/8e9a6263c46a63d43ab851fe245b731813d5e2dec2e000ff4c0c857fefef/boost_histogram-1.4.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "56a3691168a97dafcfcf4f5e429f95a445e3bd10e4036e2f616192831840ec0e",
                "md5": "2712cb3d54a9f8dd945b0404ff907648",
                "sha256": "fb05819b550f815603feea87ef086db8415f4a6e21c93250d9b1bd3341662aa3"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2712cb3d54a9f8dd945b0404ff907648",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 1535730,
            "upload_time": "2024-03-30T07:33:36",
            "upload_time_iso_8601": "2024-03-30T07:33:36.094811Z",
            "url": "https://files.pythonhosted.org/packages/56/a3/691168a97dafcfcf4f5e429f95a445e3bd10e4036e2f616192831840ec0e/boost_histogram-1.4.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c459c063a38a5b550df31cffd0d8f7d26d5c61460444876c2b44d96ff7edf8e1",
                "md5": "130e6943874842f354df518735524096",
                "sha256": "4143f67a93190ba8166427e76abdce8a87f5a722add680e2ca05d34b6070e8fb"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1-pp39-pypy39_pp73-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "130e6943874842f354df518735524096",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.7",
            "size": 738283,
            "upload_time": "2024-03-30T07:33:38",
            "upload_time_iso_8601": "2024-03-30T07:33:38.182272Z",
            "url": "https://files.pythonhosted.org/packages/c4/59/c063a38a5b550df31cffd0d8f7d26d5c61460444876c2b44d96ff7edf8e1/boost_histogram-1.4.1-pp39-pypy39_pp73-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6068a901fa3287fe62bde47e3936081286b6588b55f89bbcb9984be519414551",
                "md5": "911b89959788b8f18a456d376d51b0dc",
                "sha256": "97146f735f467d506976a047f3f237ce59840a952fd231f5f431f897fb006cdd"
            },
            "downloads": -1,
            "filename": "boost_histogram-1.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "911b89959788b8f18a456d376d51b0dc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 1337723,
            "upload_time": "2024-03-30T07:33:40",
            "upload_time_iso_8601": "2024-03-30T07:33:40.465478Z",
            "url": "https://files.pythonhosted.org/packages/60/68/a901fa3287fe62bde47e3936081286b6588b55f89bbcb9984be519414551/boost_histogram-1.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-30 07:33:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "scikit-hep",
    "github_project": "boost-histogram",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "boost-histogram"
}
        
Elapsed time: 0.23749s