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/
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
Overview
The Python files in
server/and the.py.distscripts inbin/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
pdocagainst these modules produces clean, accurate output with no missing or malformed entriesFiles to Update
server/lib/openvdm.pyconnection_utils.pyopenvdm_plugin.pyfile_utils.pygeojson_utils.pycondense_to_ranges.pyserver/workers/run_collection_system_transfer.pyrun_cruise_data_transfer.pyrun_ship_to_shore_transfer.pytest_collection_system_transfer.pytest_cruise_data_transfer.pydata_dashboard.pymd5_summary.pycruise.pycruise_directory.pylowering.pylowering_directory.pyscheduler.pypost_hooks.pystop_job.pyreboot_reset.pysize_cacher.pyserver/plugins/openrvdas_plugin.pybin/build_cruise_tracks.py.distbuild_lowering_tracks.py.distbuild_overlay_layers.py.distbuild_remote_directory.py.distNotes
bin/scripts can be incorporated into the module-level docstring but should be reformatted to be pdoc-friendlyserver/plugins/parsers/is excluded as parsers are user-defined and documented separately