Repository navigation
Conversation
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
August 5, 2026 17:44
ea9890e to
e21ed55
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
August 5, 2026 18:03
8f138a4 to
2c9fdaa
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
August 5, 2026 18:03
e21ed55 to
b320caa
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
August 5, 2026 18:05
2c9fdaa to
88922bd
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
2 times, most recently
from
August 6, 2026 07:59
62b13c7 to
9efbea8
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
2 times, most recently
from
August 6, 2026 15:39
99668c2 to
1b70585
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
August 6, 2026 15:39
9efbea8 to
b747942
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
August 6, 2026 15:41
1b70585 to
076218f
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
2 times, most recently
from
August 6, 2026 20:36
402b89a to
ba98df4
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
August 6, 2026 20:41
1ddb541 to
dd0e7ef
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
August 6, 2026 20:41
ba98df4 to
a557f7e
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
August 7, 2026 02:49
dd0e7ef to
35065c5
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
August 7, 2026 02:49
a557f7e to
50ef9e9
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
August 7, 2026 05:09
35065c5 to
727fe12
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
August 7, 2026 05:09
50ef9e9 to
f5f70f7
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
August 26, 2026 17:30
f5f70f7 to
e004148
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
August 26, 2026 17:30
727fe12 to
896cbc8
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
September 18, 2026 03:09
e004148 to
cd92213
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
September 18, 2026 03:09
896cbc8 to
c14bd42
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
September 18, 2026 03:46
cd92213 to
b8460ce
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
2 times, most recently
from
September 18, 2026 17:34
a303e64 to
654b144
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
September 18, 2026 17:34
b8460ce to
bab5842
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
September 18, 2026 17:39
654b144 to
c7ab91b
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
2 times, most recently
from
September 23, 2026 16:22
2217ade to
ef0c194
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
September 25, 2026 04:03
4842e6c to
fc26567
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
September 25, 2026 04:03
0f051c7 to
6e07a29
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
September 25, 2026 06:10
fc26567 to
be1975f
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
3 times, most recently
from
September 26, 2026 05:25
f527f6e to
948b7a7
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
2 times, most recently
from
September 27, 2026 15:40
0b9e279 to
65ebd7b
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
3 times, most recently
from
October 1, 2026 17:11
3d0fe80 to
b1c54f3
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
October 1, 2026 22:04
5012466 to
68a11e3
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
3 times, most recently
from
October 3, 2026 04:57
56b6034 to
e8a9843
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
October 4, 2026 06:21
6c76440 to
fe3d69d
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
October 4, 2026 06:21
e8a9843 to
83c9eae
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
October 8, 2026 21:40
83c9eae to
5a05e9d
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
October 9, 2026 03:06
5a05e9d to
cbc8736
Compare
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
October 9, 2026 05:25
1198675 to
7cfc1e1
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
October 9, 2026 05:25
cbc8736 to
2edd22d
Compare
The widening added while stabilizing CI was marked "pragma: no cover (win64 numpy < 2)", but the branch is reachable on every platform: np.int32 scalar edge weights infer an int32 array from the edge sequence anywhere, not only where python ints do. The pragma therefore hid live code from coverage, and the comment implied the change was platform-local when it is user-visible everywhere: int32-weighted graphs that previously round-tripped through scipy as INT32 now come back INT64. The widening itself is kept, deliberately. from_coo widens an int32 dtype inferred from sequence input to int64 on every platform (values_to_numpy_buffer), and from_networkx builds its values from a Python sequence, so identical weights now produce the same dtype through either constructor. Gating the widening to win64 instead would have re-introduced a from_coo/from_networkx disagreement everywhere else. Drop the pragma, restate the comment in terms of the real contract, and pin the behavior: np.int32 weights widen to INT64 and agree with from_coo, an explicit dtype= is preserved exactly, and np.int16 stays INT16 through both constructors. Release-note item: the from_networkx result dtype for int32-weighted graphs changes from INT32 to INT64.
eriknw
force-pushed
the
36-monoid-builtin-binaryop-guard
branch
from
October 14, 2026 18:45
7cfc1e1 to
d3533cb
Compare
eriknw
force-pushed
the
37-networkx-int32-widen-pin
branch
from
October 14, 2026 18:45
2edd22d to
9fa7a9e
Compare
Member
Author
|
Folded into #600 (20-networkx-ingestion), where its commit now sits. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #617. Overnight review of the late CI-stabilization commits found that the int32-to-int64 widening in
from_networkx(added in #600's18a5ad22) is reachable on every platform, not only win64 with numpy < 2 as itspragma: no coverclaimed:np.int32scalar edge weights infer an int32 array from the edge sequence anywhere.The widening is deliberate and kept:
from_coowidens int32 inferred from sequence input to int64 on every platform (values_to_numpy_buffer), andfrom_networkxbuilds its values from a Python sequence, so identical weights now produce the same dtype through either constructor:This PR drops the false pragma, restates the comment in terms of the real contract, and pins the behavior with tests: int32 weights widen and agree with
from_coo, explicitdtype=is preserved exactly, and int16 stays INT16 through both constructors.Release-note item: the
from_networkxresult dtype for int32-weighted graphs changes from INT32 to INT64 (2x value storage). If instead the old INT32 result is wanted, the widening condition is one line, but thenfrom_networkxandfrom_coodisagree for identical weights.