Skip to content

docs: correct usage examples and current public API names - #371

Open
dajiaohuang wants to merge 1 commit into
daavoo:mainfrom
dajiaohuang:docs/current-public-api-20261015
Open

dajiaohuang wants to merge 1 commit into
daavoo:mainfrom
dajiaohuang:docs/current-public-api-20261015

Conversation

@dajiaohuang

Copy link
Copy Markdown

Problem

Several usage-guide instructions no longer match the public API on main:

  • The points examples load a nonexistent test/data/filters/filters.ply, and pandas.tools.plotting no longer imports.
  • get_k_neighbors, points_random_sampling/mesh_random_sampling, abbreviated inclination/orientation names and ommnivariance do not resolve to the current public methods/registries.
  • Voxel scalar fields/samplers require voxelgrid_id; KDTree filters require kdtree_id. Following the listed old keyword names raises TypeError.
  • The mesh export example passes the removed internal argument instead of also_save; .npy is not a registered file format.
  • Several autoclass names are stale or refer to the wrong class.
  • Python prerequisites differ from pyproject.toml (>=3.11), and one combined pytest invocation collides on repeated unit/integration module names. CI already runs the two suites separately.

Changes

Correct those existing instructions and references, make the six-point points example self-contained, and synchronize the affected generated public API notes (voxelgrid arguments/defaults, sampler/filter identifiers and DataFrame sample return). No runtime behavior, dependency requirements or public interfaces change.

Validation

Windows / Python 3.12.13 / NumPy 2.2.6 / pandas 2.2.3 / SciPy 1.15.3:

  • A local documentation-contract harness reproduces 13 failing instruction/reference groups on 8368c6a and passes all 13 after correction. Checks include executing the points example, importing scatter_matrix, actual public API calls with the documented identifiers, mesh OBJ export/reload, format/registry membership and package-metadata prerequisites.
  • Four additional API-note comparisons now match the real constructor signatures/return contract. The executable AST of core_class.py is unchanged after removing docstrings.
  • The README PLY → HSV → voxelgrid → nearest sampling → NPZ example runs on a generated six-point cloud. Corrected pandas box/scatter plots run with Matplotlib Agg; no interactive notebook/widget-rendering claim.
  • python -m sphinx -E -b html docs <temporary-output> succeeds with seven existing config/developer-reference warnings outside the corrected references. This is not a warning-free whole-documentation claim.
  • Ruff 0.9.10 lint/format checks pass for the Python docstring change; git diff --check passes. Repository-wide flake8 and codespell still find existing issues (including unchanged trough in these guides). Broader runtime test limitations are unchanged from base; this is documentation-only.

This does not duplicate #363's PCD URL/writer changes, and does not modify deprecated notebooks in the separate pyntcloud-notebooks repository.

This branch has not been deployed

No deployments
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