Skip to content

Fix: cap nanobind below 3.0 in the CI setup - #191

Merged
superxf merged 1 commit into
hw-native-sys:mainfrom
ndleslx:ci/cap-nanobind-below-3
Aug 25, 2026
Merged

superxf merged 1 commit into
hw-native-sys:mainfrom
ndleslx:ci/cap-nanobind-below-3

Conversation

@ndleslx

@ndleslx ndleslx commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Mirrors pypto-lib#1018 hw-native-sys/pypto-lib#1018.

  • Cap nanobind at nanobind<3 in the build step's pip install, next to
    scikit-build-core, cmake and ninja.
  • Cap the later pip install nanobind transformers … the same way.

nanobind 3.0.0, released 2026-08-24, stopped binding a null holder to a parameter
typed after a bound class. pypto's TileView uses one for start_offset, so
ir.TileView() no longer matches its own all-defaulted overload, and pypto's
type resolver makes that call for every pl.Tile annotation — every model this
repo's guards run fails while parsing its first kernel. PyPI already serves
3.0.0 as latest, so any uncapped fresh install takes it: this bites every
unit-tests run from today, independent of any particular PR (the in-flight
run on #190 is resolving 3.0.0 right now).

The cap has to live in this repository: the build step passes
--no-build-isolation, so the pypto extension is compiled against the nanobind
this action installs and pypto's own [build-system] requires (capped by
hw-native-sys/pypto#2492) is never consulted. Raise it alongside pypto-lib once
nanobind 3.x compatibility lands upstream; hw-native-sys/pypto#2493 tracks the
wider problem that these build inputs are unbounded.

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ecfe0220-bd88-4945-9b9b-80905fafdbe6


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Mirrors pypto-lib#1018. nanobind 3.0.0 (released 2026-08-24) stopped
binding a null holder to a parameter typed after a bound class; pypto's
TileView uses one for start_offset, so ir.TileView() no longer matches
its own all-defaulted overload and every pl.Tile annotation fails to
parse — which is every model this repo's guards run.

The cap has to live here: the build step passes --no-build-isolation,
so the pypto extension compiles against the nanobind this action
installs and pypto's own [build-system] requires is never consulted.
Cap both pip installs (build step and serving-deps step).
@superxf
superxf merged commit d76111f into hw-native-sys:main Aug 25, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants