Skip to content

docs: expand existing Python API documentation without code changes - #71

Merged
LunaStev merged 4 commits into
wavefnd:masterfrom
LunaStev:docs/python-api-reference
Oct 29, 2026
Merged

LunaStev merged 4 commits into
wavefnd:masterfrom
LunaStev:docs/python-api-reference

Conversation

@LunaStev

@LunaStev LunaStev commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Summary

Expand the existing Python API documentation without replacing or deleting any original documentation.

This PR changes only four Markdown files under docs/. Every original line is preserved. No Python sources, numeric kernels, validation tools, MkDocs configuration, or GitHub Actions workflows are changed. The diff is 856 lines added, zero lines deleted.

Documentation improvements

  • docs/reference/python.md: Add stable HTML anchors for supplementary links and detailed numerical, shape, ownership, lifetime, exception, and implementation notes to the existing public API entries while retaining their exact headings, original parameter tables, examples, and reference links. Include more worked examples for array conversion, matrix multiplication, reductions, reshaping, and exceptional conditions; document public exception and cffi attributes.
  • docs/guides/numpy.md: Add a copy-versus-borrow comparison, negative-stride handling, view lifetimes, contiguous reshaping, and a NumPy comparison example. Keep the original tutorials intact.
  • docs/explanation/numerical-conventions.md: Explain Python reduction and matrix-product numerical behavior and the distinction between mathematical definitions and implementation guarantees.
  • docs/contributing.md: Clarify documentation-only writing conventions, the existing Markdown schema, executable example expectations, and the current checker’s limitations.

New explanations are based on the current Python bindings and C/Haskell numerical boundary; no new Python functionality or general accuracy guarantee is claimed. Existing numpydoc and Diátaxis guidance is retained.

Scope and verification

  • Confirmed against the upstream base revision that all changes are additions, with no removed lines in the four Markdown files.
  • Compared all 32 existing public API headings and confirmed that their signatures, parameter names/order, and required Parameters, Returns, and See also sections are retained.
  • Kept irreversible shutdown() documentation in a non-executable text block so the original sequential Python example checker is not disrupted.
  • Kept the original documentation checker, example runner, and CI workflow files unchanged.
  • Full MkDocs/Haddock build, source-derived API reference checks, rendered local-link validation, and actual Python example execution against the released package passed in Documentation workflow #21 on commit bb3ad5e.

Workflow note: The existing Validate and Python wheels workflows intentionally use paths-ignore for docs/**; only the Documentation workflow is expected to run on this documentation-only commit. Their absence is not evidence that workflows were removed.

This PR does not modify code or CI configuration and does not merge the PR automatically.

Adapt numpydoc content conventions to the existing Markdown reference,
including object-kind-aware coverage, stable symbol anchors, numerical
semantics, ownership, errors, and the optional cffi interface.

Add independent example execution, documentation-check regression tests,
and explicit checkout/released package selection in documentation CI.
No numerical kernels or public Python API behavior are changed.
Restore documentation CI and Python validation tooling to upstream versions.
Retain all changes under docs/ without further modification.
Retain every line of the existing API reference, NumPy guide, contributor
notes, and numerical conventions while supplementing verified contracts,
worked examples, numerical behavior, and ownership explanations.

Keep the original API heading signatures, required Markdown sections,
existing Python documentation validator, and workflow configuration.
Demonstrate irreversible shutdown as non-executable text so the existing
sequential example runner remains usable.
@LunaStev LunaStev changed the title docs: expand Python API reference and strengthen executable example checks docs: expand existing Python API documentation without code changes Oct 29, 2026
Retain existing headings and source-derived signatures; add Markdown-only
symbol anchors so reference and NumPy-guide links resolve under MkDocs.
@LunaStev
LunaStev merged commit ef55a54 into wavefnd:master Oct 29, 2026
2 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.

1 participant