Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ jobs:
- python-version: "3.14"
- python-version: "3.14t"
- python-version: "3.15"
- python-version: "pypy3.11"

steps:
- uses: actions/checkout@v7
Expand All @@ -97,7 +96,7 @@ jobs:
run: uv pip install --system --python=python --group github

- name: Configure
run: cmake --preset default ${{ matrix.cmake-extras }}
run: cmake --preset default -DPython_EXECUTABLE="$(command -v python)" ${{ matrix.cmake-extras }}

- name: Build
run: cmake --build --preset default
Expand Down Expand Up @@ -167,7 +166,7 @@ jobs:

- uses: astral-sh/setup-uv@v10.0.1

- uses: pypa/cibuildwheel@v4.2
- uses: pypa/cibuildwheel@v4.3
with:
only: "${{ matrix.only }}"

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:

- os: windows-latest
arch: auto64
build: "{p,g}p*"
build: "gp*"

- os: windows-latest
arch: auto32
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:

- uses: astral-sh/setup-uv@v10.0.1

- uses: pypa/cibuildwheel@v4.2
- uses: pypa/cibuildwheel@v4.3
env:
CIBW_BUILD: ${{ matrix.build }}
CIBW_ARCHS: ${{ matrix.arch }}
Expand All @@ -124,7 +124,7 @@ jobs:
fetch-depth: 0
submodules: true

- uses: pypa/cibuildwheel@v4.2
- uses: pypa/cibuildwheel@v4.3
env:
CIBW_PLATFORM: pyodide

Expand Down Expand Up @@ -152,7 +152,7 @@ jobs:
fetch-depth: 0
submodules: true

- uses: pypa/cibuildwheel@v4.2
- uses: pypa/cibuildwheel@v4.3
env:
CIBW_PLATFORM: ios

Expand Down
30 changes: 15 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,21 +193,21 @@ when you run the above command on a supported platform. Wheels are produced usin
[cibuildwheel](https://cibuildwheel.readthedocs.io/en/stable/); all common
platforms have wheels provided in boost-histogram:

| System | Arch | Python versions | PyPy versions | GraalPy versions |
| --------- | ------ | ------------------------------------------------ | ------------- | ---------------- |
| manylinux | 64-bit | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | 3.11 | 25.0 |
| manylinux | ARM64 | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | 3.11 | 25.0 |
| musllinux | 64-bit | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | | |
| musllinux | ARM64 | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | | |
| macOS | 64-bit | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | 3.11 | 25.0 |
| macOS | Arm64 | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | 3.11 | 25.0 |
| Windows | 32-bit | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | | |
| Windows | 64-bit | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | 3.11 | 25.0 |
| Windows | ARM64 | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | | |
| iOS | Device | 3.13, 3.14, 3.15 | | |
| iOS | AS Sim | 3.13, 3.14, 3.15 | | |
| iOS | Intel | 3.13, 3.14, 3.15 | | |
| Pyodide | wasm32 | 3.13, 3.14, 3.15 | | |
| System | Arch | Python versions | GraalPy versions |
| --------- | ------ | ------------------------------------------------ | ---------------- |
| manylinux | 64-bit | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | 25.0, 25.3 |
| manylinux | ARM64 | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | 25.0, 25.3 |
| musllinux | 64-bit | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | |
| musllinux | ARM64 | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | |
| macOS | 64-bit | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | 25.0 |
| macOS | Arm64 | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | 25.0, 25.3 |
| Windows | 32-bit | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | |
| Windows | 64-bit | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | 25.0, 25.3 |
| Windows | ARM64 | 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t | |
| iOS | Device | 3.13, 3.14, 3.15 | |
| iOS | AS Sim | 3.13, 3.14, 3.15 | |
| iOS | Intel | 3.13, 3.14, 3.15 | |
| Pyodide | wasm32 | 3.13, 3.14, 3.15 | |

PowerPC, IBM-Z, and RISC-V wheels are not provided but are available on request.

Expand Down
2 changes: 1 addition & 1 deletion include/bh_python/histogram.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ template <class A, class T>
py::buffer_info make_buffer(bh::histogram<A, bh::dense_storage<T>>& h, bool flow) {
const auto& axes = bh::unsafe_access::axes(h);
auto& storage = bh::unsafe_access::storage(h);
return detail::make_buffer_impl(axes, flow, &storage[0]);
return detail::make_buffer_impl(axes, flow, storage.data());
}

/// Specialization for unlimited_buffer
Expand Down
7 changes: 3 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ classifiers = [
"Programming Language :: Python :: Free Threading :: 3 - Stable",
"Programming Language :: Python :: Free Threading",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Programming Language :: Python",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Scientific/Engineering :: Mathematics",
Expand Down Expand Up @@ -95,7 +94,7 @@ examples = [
]
test = [
"cloudpickle",
"pytest>=6.0",
"pytest>=6.0,<9.2", # pytest-benchmark#321
"pytest-benchmark",
"hypothesis>=6.0; sys_platform != 'ios'", # slow on iOS, can fail health check
"pytest-xdist; sys_platform != 'ios'", # No processes on iOS
Expand Down Expand Up @@ -197,10 +196,10 @@ test-skip = [
"cp310-win_arm64",
"cp31*-musllinux_*", # Threading test crashes
"cp315t-win32", # pytest crashes with an access violation on 3.15.0rc1
"gp312_*", # No numpy wheels yet
"gp31*", # No numpy wheels yet
"*-ios_*", # Fails on CI with no device found
]
enable = ["pypy", "graalpy"]
enable = ["graalpy"]
environment-pass = ["SETUPTOOLS_SCM_PRETEND_VERSION"]
environment.PIP_ONLY_BINARY = "numpy"
environment.PIP_PREFER_BINARY = "1"
Expand Down
Loading