You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: use absolute URLs for PyPI README links and add Documentation project URL
PyPI renders the README (long_description) at the project root, so
repo-relative Markdown links like docs/plot_parity_policy.md resolve to
https://pypi.org/project/ovvo-nns/docs/plot_parity_policy.md and 404.
- Point all doc links at the live GitHub Pages site
(https://ovvo-financial.github.io/NNS-python/<page>/), using the
file-path-derived URLs that MkDocs actually emits.
- Point example/source and LICENSE links at the GitHub repo on main.
- Add a Documentation entry to [project.urls] so PyPI's sidebar links to
the docs site, and drop the redundant Project URL.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JsqhFvg51XkvW4pCJquw42
`ovvo-nns` brings Nonlinear Nonparametric Statistics to Python as the `nns` import package. It is a parity-focused port of the R `NNS` 13.0+ package, designed for real-world data that violate symmetry, linearity, or distributional assumptions.
11
11
@@ -41,7 +41,7 @@ pip install ovvo-nns
41
41
42
42
This includes the matplotlib plotting API (`nns.plotting`); matplotlib is a
43
43
regular dependency and is imported lazily, so `import nns` stays light. See
See [API status](docs/api_status.md) for implemented, partial, guarded, and known-gap paths.
132
+
See [API status](https://ovvo-financial.github.io/NNS-python/api_status/) for implemented, partial, guarded, and known-gap paths.
133
133
134
134
## Design boundaries
135
135
@@ -143,27 +143,27 @@ Important boundaries:
143
143
- Direct raw-factor `nns_m_reg(..., factor_2_dummy=True)` is intentionally guarded. Use `prepare_factor_predictors(...)` before `nns_m_reg(...)`.
144
144
- Compute functions still return values, not figures; passing `plot=True` (where R has it) additionally renders a Matplotlib figure as a side effect via the `nns.plotting` layer, which is color/element-faithful to R but not pixel-diffed. The plot functions can also be called directly on a computed result.
145
145
146
-
See [behavior conventions](docs/conventions.md) for detailed compatibility notes.
146
+
See [behavior conventions](https://ovvo-financial.github.io/NNS-python/conventions/) for detailed compatibility notes.
147
147
148
148
## Examples
149
149
150
150
Runnable, self-checking example scripts live in
151
-
[`examples/vignettes`](examples/vignettes), mirroring the R NNS vignettes. They
151
+
[`examples/vignettes`](https://github.com/OVVO-Financial/NNS-python/tree/main/examples/vignettes), mirroring the R NNS vignettes. They
152
152
are exercised in CI by `tests/docs/test_vignette_examples.py`, so they stay in
| Descriptive and distributional tools |[`descriptive_distributional_tools.py`](https://github.com/OVVO-Financial/NNS-python/blob/main/examples/vignettes/descriptive_distributional_tools.py)|
160
+
| Dependence and nonlinear association |[`dependence_nonlinear_association.py`](https://github.com/OVVO-Financial/NNS-python/blob/main/examples/vignettes/dependence_nonlinear_association.py)|
161
+
| Normalization and rescaling |[`normalization_rescaling.py`](https://github.com/OVVO-Financial/NNS-python/blob/main/examples/vignettes/normalization_rescaling.py)|
162
+
| Hypothesis, ANOVA and stochastic superiority |[`hypothesis_anova_stochastic_superiority.py`](https://github.com/OVVO-Financial/NNS-python/blob/main/examples/vignettes/hypothesis_anova_stochastic_superiority.py)|
163
+
| Regression, boosting, stacking and causality |[`regression_boosting_stacking_causality.py`](https://github.com/OVVO-Financial/NNS-python/blob/main/examples/vignettes/regression_boosting_stacking_causality.py)|
164
+
| Time series forecasting |[`time_series_forecasting.py`](https://github.com/OVVO-Financial/NNS-python/blob/main/examples/vignettes/time_series_forecasting.py)|
165
+
| Simulation, bootstrap and risk-neutral |[`simulation_bootstrap_riskneutral.py`](https://github.com/OVVO-Financial/NNS-python/blob/main/examples/vignettes/simulation_bootstrap_riskneutral.py)|
166
+
| Portfolio and stochastic dominance |[`portfolio_stochastic_dominance.py`](https://github.com/OVVO-Financial/NNS-python/blob/main/examples/vignettes/portfolio_stochastic_dominance.py)|
167
167
168
168
Run one example:
169
169
@@ -182,12 +182,12 @@ uv run python examples/run_all_vignettes.py
@@ -208,7 +208,7 @@ The default parity suite is cache-backed and does not require `Rscript`. `Rscrip
208
208
209
209
## Benchmarks
210
210
211
-
Benchmarks compare selected Python paths with installed R NNS 13.0+ baselines. Many core operations are faster in Python, while some large stochastic-dominance workloads remain faster in R because the R package uses compiled kernels for those paths. See [benchmarks](docs/benchmarks.md) for current measurements and commands.
211
+
Benchmarks compare selected Python paths with installed R NNS 13.0+ baselines. Many core operations are faster in Python, while some large stochastic-dominance workloads remain faster in R because the R package uses compiled kernels for those paths. See [benchmarks](https://ovvo-financial.github.io/NNS-python/benchmarks/) for current measurements and commands.
0 commit comments