Skip to content

Mark NNS Python as stable and document native acceleration - #47

Merged
OVVO-Financial merged 2 commits into
mainfrom
claude/exciting-tesla-hn7ymn
Jun 17, 2026
Merged

Mark NNS Python as stable and document native acceleration#47
OVVO-Financial merged 2 commits into
mainfrom
claude/exciting-tesla-hn7ymn

Conversation

@OVVO-Financial

Copy link
Copy Markdown
Owner

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._nnscore extension. It also expands CI coverage to Python 3.13 and 3.14.

Key Changes

  • Stability Status: Updated api_status.md to declare the public API as stable with the expectation that behavior will not break across minor releases, replacing references to "alpha" status
  • Native Acceleration Documentation: Revised conventions.md to document the optional private native acceleration layer (nns._nnscore) built with scikit-build-core and nanobind, while emphasizing that public APIs maintain Python implementations with explicit fallback behavior
  • Performance Notes: Softened language around pure-Python implementation from "for alpha" to "for now" in stochastic-dominance performance discussion, reflecting the current architectural choice rather than a temporary constraint
  • CI Expansion: Extended native backend CI matrix to test Python 3.13 and 3.14 alongside existing 3.11 and 3.12 coverage

Implementation 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

claude added 2 commits June 17, 2026 20:02
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
@OVVO-Financial
OVVO-Financial merged commit a8f6b24 into main Jun 17, 2026
8 checks passed
@OVVO-Financial
OVVO-Financial deleted the claude/exciting-tesla-hn7ymn branch June 17, 2026 21:08
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