-
Notifications
You must be signed in to change notification settings - Fork 11
Prepare for PyPI release: Update changelog, support, and README files + Cleanup inits for re-exports #55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Update CHANGELOG.md for 0.1.0b1 release (2025-11-14) - Organize features into logical groups for better readability - Remove legacy requirements.txt and dev_dependencies.txt files - Modernize to pyproject.toml-only packaging approach - Clean up changelog format for professional presentation - Fix documentation links in README. These links will get active once published. Ready for first beta release to PyPI.
There was a problem hiding this 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 pull request prepares the project for its first PyPI beta release (version 0.1.0b1) by modernizing the packaging approach and improving documentation presentation.
- Removes legacy requirements.txt and dev_dependencies.txt in favor of pyproject.toml-only packaging
- Updates CHANGELOG.md with comprehensive, well-organized release notes for version 0.1.0b1
- Updates README.md documentation links to point to official Microsoft Learn documentation
Reviewed Changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| requirements.txt | Removed legacy requirements file; dependencies now managed exclusively in pyproject.toml |
| dev_dependencies.txt | Removed legacy development dependencies file; dev dependencies now in pyproject.toml optional-dependencies |
| README.md | Updated API reference and product documentation links to official Microsoft Learn URLs |
| CHANGELOG.md | Added detailed 0.1.0b1 release notes organized into logical feature groups; removed template sections and unreleased placeholder |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Replace dev_dependencies.txt with 'pip install -e .[dev]' - Ensures pytest and other dev tools are installed from pyproject.toml - Aligns CI with modern Python packaging standards
- Remove uncertain references to GitHub Discussions and Stack Overflow - Keep only rock-solid Microsoft standards (GitHub Issues + MSRC security) - Achieve 98% confidence in Microsoft compliance - Ready for 0.1.0b1 PyPI publication
- Remove re-exports from all submodule __init__.py files (core, data, utils) - Eliminates py2docfx documentation duplication issues - Matches Azure SDK for Python patterns (explicit imports only) - Keeps implementation details private and encourages proper imports - All tests pass, zero breaking changes to existing code This follows Microsoft's own SDK design patterns where: - Main package exports only the primary client - Submodules require explicit imports from specific modules - No convenience re-exports that create duplicate API surface
- Resolved conflict in utils/__init__.py by keeping main's updated docstring - Maintained our architectural changes (no re-exports) - Integrated latest docstring improvements from main branch
|
we'll need to update "from PowerPlatform.Dataverse.core import error_codes as ec" in test_http_errors.py |
Major improvements for PyPI readiness: Architecture & Standards: - Align with Microsoft Azure SDK patterns (explicit imports only) - Remove re-exports from all submodule __init__.py files - Fix py2docfx documentation duplication issues - Clean up verbose docstring additions for professional appearance Code Quality: - Fix deprecated datetime.utcnow() → datetime.now(timezone.utc) - Update explicit imports: error_codes module usage consistency - Eliminate all test warnings (pytest collection + deprecation) - Rename test helper classes: TestClient→MockClient, TestableClient→MockableClient Import Consistency: - Replace 'from core import error_codes as ec' with direct imports - Use explicit imports throughout codebase for better maintainability - All HTTP error constants and functions imported directly Result: Zero warnings, Microsoft-compliant architecture, PyPI-ready SDK All tests pass, no breaking changes, professional documentation structure
This pull request prepares the Microsoft Dataverse SDK for Python for its initial beta release, focusing on documentation, packaging, support, and code organization improvements. The most important changes include a comprehensive rewrite of the
CHANGELOG.mdfor the beta launch, updates to documentation links, cleanup of support and dependency files, and refactoring of Python package__init__.pyfiles to improve documentation generation and code clarity.Release and Documentation Updates:
CHANGELOG.mdto announce the initial beta release (0.1.0b1), detailing major features, improvements, and developer experience enhancements. Removed outdated alpha release notes and the release notes template. [1] [2]README.mdto point to official Microsoft Learn and API reference pages for the Python SDK.Support and Community Engagement:
SUPPORT.mdwith clear instructions for filing issues, getting help, and reporting security issues. Clarified that the SDK is community-supported and not covered by standard Microsoft support. [1] [2]Packaging and Development Workflow:
python -m pip install -e .[dev]for consistency with modern Python packaging standards.dev_dependencies.txtfile in favor of usingpyproject.tomlfor dependency management.Codebase Organization:
__init__.pyfiles incore,data, andutilsmodules to remove re-exports, preventing documentation duplication withpy2docfxand improving clarity. [1] [2] [3]This pull request prepares the Microsoft Dataverse SDK for Python for its initial public beta release, focusing on release documentation, support information, and developer experience improvements. The most important changes include a comprehensive update to the changelog for the first beta release, improved support documentation, and workflow enhancements for development dependencies.Ready for first beta release to PyPI.