Skip to content

Add pdoc-compatible headers and inline documentation to server/ and bin/ Python files #97

Description

@webbpinner

Overview

The Python files in server/ and the .py.dist scripts in bin/ lack the structured inline documentation that tools like pdoc need to generate useful API/reference docs automatically. Some files have legacy-style freeform header blocks; most functions and classes have no docstrings at all.

Goals

  • Convert or add module-level docstrings to pdoc-compatible format (standard summary line + extended description)
  • Add docstrings to all functions, classes, and methods following Google style (preferred for pdoc compatibility)
  • Add type annotations to function signatures where missing
  • Ensure module-level constants and configuration variables have inline comments or docstrings
  • Verify that running pdoc against these modules produces clean, accurate output with no missing or malformed entries

Files to Update

server/lib/

  • openvdm.py
  • connection_utils.py
  • openvdm_plugin.py
  • file_utils.py
  • geojson_utils.py
  • condense_to_ranges.py

server/workers/

  • run_collection_system_transfer.py
  • run_cruise_data_transfer.py
  • run_ship_to_shore_transfer.py
  • test_collection_system_transfer.py
  • test_cruise_data_transfer.py
  • data_dashboard.py
  • md5_summary.py
  • cruise.py
  • cruise_directory.py
  • lowering.py
  • lowering_directory.py
  • scheduler.py
  • post_hooks.py
  • stop_job.py
  • reboot_reset.py
  • size_cacher.py

server/plugins/

  • openrvdas_plugin.py

bin/

  • build_cruise_tracks.py.dist
  • build_lowering_tracks.py.dist
  • build_overlay_layers.py.dist
  • build_remote_directory.py.dist

Notes

  • The existing freeform header blocks (FILE, USAGE, REQUIRED ARGUMENTS, etc.) in bin/ scripts can be incorporated into the module-level docstring but should be reformatted to be pdoc-friendly
  • Google-style docstrings are the recommended convention going forward
  • Do not change runtime behaviour — documentation only
  • server/plugins/parsers/ is excluded as parsers are user-defined and documented separately

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions