Skip to content

Conversation

@suyask-msft
Copy link
Collaborator

@suyask-msft suyask-msft commented Nov 12, 2025

πŸ“¦ Microsoft Python Standards Compliance

This PR adds comprehensive Microsoft Python package standards compliance to enhance developer experience and meet enterprise requirements.

βœ… Changes Made:

  • 🏷️ Type Safety: Added py.typed markers for both packages to enable full type checking support
  • πŸ“¦ Enhanced Metadata: Updated pyproject.toml with complete package metadata, keywords, and project URLs
  • πŸ”§ Development Tools: Added optional dev dependencies with configured linting tools (black, isort, mypy, ruff)
  • πŸ“š Documentation: Added missing docstrings for HttpClient class and utility functions
  • 🏒 Enterprise Ready: Full compliance with Microsoft's internal Python SDK standards

🎯 Benefits:

  • Perfect IntelliSense: Users get full autocomplete and type hints in VS Code/PyCharm
  • Type Safety: Static type checking works out of the box
  • Professional Quality: Matches Azure SDK packaging standards
  • Developer Experience: Enhanced discoverability and documentation

πŸ§ͺ Testing:

Made sure all existing tests pass!

- Add py.typed markers for both packages (enables type checking)
- Enhance pyproject.toml with complete metadata and dev dependencies
- Add missing docstrings for HttpClient, error_codes functions
- Add module docstrings for better discoverability
- Configure linting tools (black, isort, mypy, ruff) per Microsoft standards
Copilot AI review requested due to automatic review settings November 12, 2025 05:30
- Remove old dataverse_sdk folder (obsolete structure)
- Fix duplicate [tool.setuptools] section in pyproject.toml
- Keep only PowerPlatform.Dataverse as the correct package structure
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 enhances the SDK with Microsoft Python standards compliance by adding type safety markers, comprehensive docstrings, and enhanced package metadata. The changes improve developer experience through better IntelliSense support, static type checking capabilities, and professional packaging standards.

  • Added py.typed marker files to enable full type checking support for both dataverse_sdk and PowerPlatform.Dataverse packages
  • Added comprehensive docstrings to HttpClient class and utility functions in the error handling module
  • Enhanced pyproject.toml with complete metadata, keywords, project URLs, dev dependencies, and linting tool configurations

Reviewed Changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/dataverse_sdk/py.typed Adds PEP 561 marker file to enable type checking for the dataverse_sdk package
src/PowerPlatform/Dataverse/py.typed Adds PEP 561 marker file to enable type checking for the PowerPlatform.Dataverse package
src/PowerPlatform/Dataverse/core/http.py Adds module-level and comprehensive class/method docstrings for HttpClient with Sphinx-style formatting
src/PowerPlatform/Dataverse/core/error_codes.py Adds module-level docstring and detailed function docstrings for utility functions
pyproject.toml Enhances package metadata with keywords, classifiers, project URLs, optional dev dependencies, and linting tool configurations

πŸ’‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

suyask-msft and others added 2 commits November 11, 2025 21:35
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link

Copilot AI commented Nov 12, 2025

@suyask-msft I've opened a new pull request, #46, to work on those changes. Once the pull request is ready, I'll request review from you.

suyask-msft and others added 3 commits November 11, 2025 21:35
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: suyask-msft <158708948+suyask-msft@users.noreply.github.com>
- Change license from {text: 'MIT'} to 'MIT' (newer setuptools format)
- Remove license classifier to avoid conflicts with license field
- Verified package builds successfully with py.typed included
Remove trailing whitespace in pyproject.toml
@zhaodongwang-msft zhaodongwang-msft merged commit c302a87 into main Nov 12, 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.

3 participants