Skip to content

Conversation

@tpellissier-msft
Copy link
Collaborator

This pull request adds comprehensive docstrings and improves documentation across several modules in the Dataverse SDK for Python. The changes clarify the purpose, usage, and parameters of key classes and methods, making the codebase more accessible and maintainable for future contributors and users.

Documentation improvements:

  • Added a detailed module-level docstring to src/dataverse_sdk/__init__.py describing the SDK's features, authentication requirements, and usage example.
  • Enhanced class and method docstrings for authentication (TokenPair, AuthManager, and its methods) in src/dataverse_sdk/auth.py, specifying parameter types, exceptions, and usage. [1] [2]

Error handling documentation:

  • Expanded docstrings for all custom exception classes in src/dataverse_sdk/errors.py, including DataverseError, ValidationError, MetadataError, SQLParseError, and HttpError, with details on parameters and error context. Also added documentation to methods like to_dict. [1] [2] [3]

Configuration documentation:

  • Added descriptive docstrings to the DataverseConfig class and its from_env method in src/dataverse_sdk/config.py, explaining configuration options and defaults. [1] [2]

Pandas integration documentation:

  • Replaced the old module docstring in src/dataverse_sdk/odata_pandas_wrappers.py with a concise description of its purpose and main class. Improved docstrings for the RowError and PandasODataClient classes and all CRUD/query methods, specifying parameter types, return values, and error handling. [1] [2] [3] [4] [5] [6]

Copilot AI review requested due to automatic review settings November 4, 2025 08:19
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR converts all docstrings from NumPy-style format to Sphinx reStructuredText (reST) format with field lists. The changes affect module-level documentation, class docstrings, and method docstrings across the SDK's public API.

Key Changes:

  • Replaced NumPy-style docstrings (Parameters/Returns/Raises sections) with Sphinx field list syntax (:param:, :type:, :return:, :rtype:, :raises:)
  • Added comprehensive module-level docstrings with usage examples
  • Enhanced class and method documentation with detailed parameter descriptions and examples
  • Added cross-references using Sphinx roles (:class:, :meth:)

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/dataverse_sdk/__init__.py Added package-level docstring with features, usage example, and Azure Identity note
src/dataverse_sdk/client.py Converted DataverseClient class and all method docstrings to Sphinx format with extensive examples
src/dataverse_sdk/config.py Added docstrings for DataverseConfig class and from_env method
src/dataverse_sdk/auth.py Added docstrings for TokenPair and AuthManager classes
src/dataverse_sdk/errors.py Added comprehensive docstrings for all exception classes
src/dataverse_sdk/odata_pandas_wrappers.py Converted pandas wrapper docstrings and added module-level documentation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@tpellissier-msft tpellissier-msft merged commit 9529416 into main Nov 4, 2025
5 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.

4 participants