Mark NNS Python as stable and document native acceleration - #47
Merged
Conversation
Resolve the alpha-vs-stable contradiction: pyproject and README already
declare the public API Stable, so update docs/api_status.md and
docs/conventions.md to drop the remaining "alpha" wording and describe
the public API as stable and parity-focused.
Extend the native backend PR CI matrix from {3.11, 3.12} to
{3.11, 3.12, 3.13, 3.14} to match the support matrix declared in
pyproject.toml classifiers and cibuildwheel.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BwFx145eq6LfzZFFMvp8BD
The Build section claimed NNS Python is a pure-Python port whose native extension scaffolding was removed. That contradicts README (which describes optional private `nns._nnscore` kernels and scikit-build-core / nanobind source builds) and CMakeLists.txt (which still builds and installs `_nnscore`). Reframe the section to describe the optional native acceleration accurately while keeping native code a private, fallback- backed implementation detail. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BwFx145eq6LfzZFFMvp8BD
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.
Summary
This PR updates documentation to reflect NNS Python's transition from alpha to stable status and clarifies the role of optional native acceleration through the
nns._nnscoreextension. It also expands CI coverage to Python 3.13 and 3.14.Key Changes
api_status.mdto declare the public API as stable with the expectation that behavior will not break across minor releases, replacing references to "alpha" statusconventions.mdto document the optional private native acceleration layer (nns._nnscore) built withscikit-build-coreandnanobind, while emphasizing that public APIs maintain Python implementations with explicit fallback behaviorImplementation Details
The changes clarify that native code is an implementation detail rather than a public API requirement. Users can rely on the pure-Python fallback behavior, and native acceleration is transparently applied where available (e.g., in published wheels). This maintains the project's commitment to being dependency-light while allowing for performance improvements through optional compilation.
https://claude.ai/code/session_01BwFx145eq6LfzZFFMvp8BD