Skip to content

Commit 53c52d4

Browse files
committed
v0.3.6 per changelog
1 parent a709994 commit 53c52d4

5 files changed

Lines changed: 22 additions & 8 deletions

File tree

.github/workflows/release.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,17 @@ jobs:
6262
path: dist/*.tar.gz
6363

6464
test_wheels_centos_stream_9:
65-
name: Test wheels (CentOS Stream 9)
65+
name: Test wheels (CentOS Stream 9, py${{ matrix.python-version }})
6666
needs: [build_wheels]
6767
runs-on: ubuntu-latest
6868
container: quay.io/centos/centos:stream9
69+
strategy:
70+
fail-fast: false
71+
matrix:
72+
python-version: ["3.11", "3.12"]
6973
steps:
7074
- name: Install Python
71-
run: dnf install -y python3.11 python3.11-pip
75+
run: dnf install -y python${{ matrix.python-version }} python${{ matrix.python-version }}-pip
7276

7377
- uses: actions/download-artifact@v4
7478
with:
@@ -78,9 +82,9 @@ jobs:
7882

7983
- name: Install and test wheel
8084
run: |
81-
python3.11 -m pip install --upgrade pip
82-
python3.11 -m pip install netgraph-core --find-links wheelhouse/
83-
python3.11 -c "import netgraph_core; print('CentOS Stream 9:', netgraph_core.__version__)"
85+
python${{ matrix.python-version }} -m pip install --upgrade pip
86+
python${{ matrix.python-version }} -m pip install netgraph-core --find-links wheelhouse/
87+
python${{ matrix.python-version }} -c "import netgraph_core; print('CentOS Stream 9:', netgraph_core.__version__)"
8488
8589
publish_pypi:
8690
name: Publish to PyPI

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
python${{ matrix.python-version }} -m pip install -U pip wheel
5353
python${{ matrix.python-version }} -m pip install -e .[dev]
5454
55-
- name: Run CI checks
55+
- name: Run CI checks (lint + C++/Python tests)
5656
run: PYTHON=python${{ matrix.python-version }} make check-ci
5757

5858
coverage:

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.3.6] - 2026-02-17
9+
10+
### Fixed
11+
12+
- **Python Bindings**: Fix build failure with pybind11 3.x typed tuples by adding explicit `-> py::tuple` return type on the `spf` lambda.
13+
14+
### Changed
15+
16+
- **CI**: Add CentOS Stream 9 build and test jobs.
17+
818
## [0.3.5] - 2026-02-08
919

1020
### Fixed

bindings/python/module.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ PYBIND11_MODULE(_netgraph_core, m) {
189189
}, py::arg("num_nodes"), py::arg("src"), py::arg("dst"), py::arg("capacity"), py::arg("cost"), py::arg("ext_edge_ids"))
190190
.def("spf", [](const Algorithms& algs, const PyGraph& pg, std::int32_t src,
191191
py::object dst, py::object selection_obj, py::object residual_obj,
192-
py::object node_mask, py::object edge_mask, bool multipath, std::string dtype){
192+
py::object node_mask, py::object edge_mask, bool multipath, std::string dtype) -> py::tuple {
193193
if (src < 0 || src >= pg.num_nodes) throw py::value_error("src out of range");
194194
SpfOptions opts; if (!selection_obj.is_none()) opts.selection = py::cast<EdgeSelection>(selection_obj);
195195
if (!dst.is_none()) { auto d = py::cast<std::int32_t>(dst); if (d < 0 || d >= pg.num_nodes) throw py::value_error("dst out of range"); opts.dst = static_cast<NodeId>(d); }

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
44

55
[project]
66
name = "netgraph-core"
7-
version = "0.3.5"
7+
version = "0.3.6"
88
description = "C++ implementation of graph algorithms for network flow analysis and traffic engineering with Python bindings"
99
readme = "README.md"
1010
requires-python = ">=3.11"

0 commit comments

Comments
 (0)