Skip to content

Conversation

@sujen1412
Copy link
Contributor

Summary

This PR adds comprehensive API documentation for the maap-py library, enabling auto-generated documentation that can be published to a website. This addresses Issue #44.

Key Changes

  • Add NumPy-style docstrings to all public modules, classes, and methods
  • Create Sphinx documentation infrastructure with MyST parser for Markdown support
  • Add GitHub Actions workflow for automated documentation builds and deployment

Changes

Documentation Content (Docstrings)

File Description
maap/maap.py Documented MAAP client class and 20+ public methods (searchGranule, searchCollection, submitJob, registerAlgorithm, etc.)
maap/Result.py Documented Result, Granule, and Collection classes with all data access methods
maap/dps/dps_job.py Documented DPSJob class with status polling, metrics, and job management
maap/AWS.py Documented AWS credential methods (requester pays, signed URLs, Earthdata credentials)
maap/Profile.py Documented Profile class for user account information
maap/config_reader.py Documented MaapConfig class and environment variables
maap/__init__.py Added package-level documentation with quick start guide

Sphinx Infrastructure

File Description
docs/conf.py Sphinx configuration with Napoleon (NumPy docstrings) and MyST parser
docs/index.md Main documentation index with quick start examples
docs/api/*.md API reference pages for all modules (7 files)
docs/requirements.txt Documentation dependencies (sphinx, sphinx-rtd-theme, myst-parser)
docs/Makefile Build automation for local doc generation

CI/CD

File Description
.github/workflows/docs.yml GitHub Actions workflow for building docs and deploying to GitHub Pages

Stats

  • 19 files changed
  • 3248 insertions(+)
  • 120 deletions(-)

Closes #44 (Auto generate docs)

frankinspace and others added 7 commits March 19, 2025 21:46
* Add comprehensive Sphinx-compatible documentation

- Add NumPy-style docstrings to all main modules:
  - maap.py: Core MAAP client class with all methods documented
  - Result.py: Result, Granule, and Collection classes
  - dps_job.py: DPSJob class for job management
  - Profile.py: User profile management
  - AWS.py: AWS credential management
  - Secrets.py: User secrets management
  - config_reader.py: Configuration management

- Create Sphinx documentation structure:
  - docs/conf.py: Sphinx configuration with Napoleon for NumPy docstrings
  - docs/index.rst: Main documentation index
  - docs/api/*.rst: API reference pages for all modules

- Update package __init__.py with module-level documentation

Documentation follows NumPy docstring format compatible with Sphinx
autodoc and napoleon extensions for API documentation generation.

* Fix algorithm registration docs to use correct inputs structure

Update registerAlgorithm and register_algorithm_from_yaml_file
docstrings to use the correct 'inputs' structure with 'file',
'config', and 'positional' arrays instead of the deprecated
'algorithm_params' format.

Addresses PR review comments from grallewellyn.

* Add GitHub Actions workflow and convert docs to Markdown

- Add .github/workflows/docs.yml for automated doc building and
  deployment to GitHub Pages
- Convert all .rst documentation files to Markdown format
- Add MyST parser to Sphinx configuration for Markdown support
- Add docs/requirements.txt with sphinx, sphinx-rtd-theme, myst-parser
- Add docs/Makefile for local doc builds

Addresses PR feedback from wildintellect requesting GitHub Actions
workflow and Markdown format instead of reStructuredText.

* algorithm_params to inputs in last spot

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: grallewellyn <grace.llewellyn@jpl.nasa.gov>
@wildintellect
Copy link

Looks like the build failed on outdated SONARCube version.

@sujen1412
Copy link
Contributor Author

Can we merge this to a version of the docs out ? @wildintellect @grallewellyn

@sujen1412 sujen1412 merged commit 72cae0d into master Jan 7, 2026
3 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.

Auto generate docs

5 participants