-
Notifications
You must be signed in to change notification settings - Fork 0
docs: add PyPI badges and changelog #6
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Collaborator
jdrhyne
commented
Jun 20, 2025
- Add PyPI version, Python versions, and downloads badges
- Update coverage badge from 92% to 94%
- Create comprehensive CHANGELOG.md with v1.0.0 and v1.0.1 releases
- Add changelog section to README
- Update GitHub URLs to PSPDFKit organization
- Add PyPI version, Python versions, and downloads badges - Update coverage badge from 92% to 94% - Create comprehensive CHANGELOG.md with v1.0.0 and v1.0.1 releases - Add changelog section to README - Update GitHub URLs to PSPDFKit organization
- Fix git clone URL in README.md - Fix issues URL in README.md - Fix homepage, repository, and bug tracker URLs in pyproject.toml This ensures all links point to the correct PSPDFKit organization.
- Add quotes to BinaryIO type expressions (TC006) - Fix line length error by splitting long assertion (E501) - Remove unused variable original_name (F841) All ruff checks now pass.
13 tasks
jdrhyne
added a commit
that referenced
this pull request
Jun 21, 2025
* docs: add official OpenAPI specification v1.9.0 This specification serves as the authoritative reference for: - Build API structure and patterns - Available BuildAction types and parameters - Part types (FilePart, HTMLPart, NewPagePart, DocumentPart) - Output format options (PDF, PDF/A, images, Office, JSON) - Error response schemas - Authentication methods Will be used to ensure our implementation follows the official API design. * docs: add comprehensive OpenAPI compliance review This review analyzes our current Direct API implementation against the official OpenAPI specification v1.9.0 and identifies: - Current methods that align well with the spec - Parameter mapping discrepancies - Missing capabilities we could implement - Recommendations for improved compliance Key findings: - Implementation correctly uses Build API pattern - Tool name mapping layer handles most conversions correctly - Foundation is solid, minor parameter alignment needed - Opportunities for enhanced functionality * docs: comprehensive implementation analysis against OpenAPI spec This analysis confirms our implementation is highly compliant with the official OpenAPI specification v1.9.0: ✅ 95/100 compliance score ✅ Correct Build API pattern usage ✅ Perfect parameter mapping (degrees→rotateBy, etc.) ✅ Proper tool name translation ✅ Sound architecture and error handling Key findings: - All current Direct API methods are OpenAPI compliant - Integration branch adds 5 more compliant methods - Implementation demonstrates deep understanding of API patterns - No breaking changes needed - production ready Recommends merging integration branch for most comprehensive OpenAPI-compliant implementation. * docs: comprehensive future enhancement plan with GitHub issue templates Created detailed enhancement roadmap based on OpenAPI v1.9.0 analysis: 📋 Enhancement Plan: - 13 proposed enhancements across 4 priority levels - Detailed implementation specifications - Testing requirements and use cases - Recommended 4-phase implementation timeline 📁 GitHub Issue Templates: - Individual issue template for each enhancement - Consistent format with implementation details - OpenAPI references and code examples - Priority levels and labels 🎯 Goals: - Increase API coverage from ~30% to ~80% - Maintain backward compatibility - Add most requested features - Follow OpenAPI specification precisely This provides a clear roadmap for community contributions and systematic feature development. * docs: add missing GitHub issue templates and reorder Added three missing enhancement issue templates: - #6 Extract Pages method (simpler alternative to split_pdf) - #10 Convert to Office Formats (DOCX, XLSX, PPTX export) - #13 Batch Processing (client-side bulk operations) Reordered existing templates to maintain logical sequence. All 13 enhancements now have corresponding issue templates. * docs: add manual GitHub issue creation guide - Created comprehensive guide for manual issue creation - Includes web interface and CLI options - Documents all 14 enhancement issues with priority levels - Provides implementation phase timeline * docs: add GitHub token configuration and debugging scripts - Add comprehensive documentation for fixing GitHub token permissions - Add diagnostic scripts for troubleshooting token authentication issues - Add scripts to verify token scopes, SSO status, and PAT restrictions - Add setup script for configuring GitHub tokens for issue creation - Document the resolution process for authentication failures * fix: format test files with ruff - Fixed formatting in tests/unit/test_builder.py - Fixed formatting in tests/unit/test_direct_api.py - Fixed formatting in tests/unit/test_http_client.py Resolves CI formatting check failures. * fix: add quotes to type expressions in cast() calls - Fixed TC006 ruff linting errors in tests/unit/test_direct_api.py - Added quotes around BinaryIO type expressions as required by ruff TC006 rule Resolves CI linting failures.
jdrhyne
added a commit
that referenced
this pull request
Jun 22, 2025
#7) * docs: comprehensive future enhancement plan with GitHub issue templates Created detailed enhancement roadmap based on OpenAPI v1.9.0 analysis: 📋 Enhancement Plan: - 13 proposed enhancements across 4 priority levels - Detailed implementation specifications - Testing requirements and use cases - Recommended 4-phase implementation timeline 📁 GitHub Issue Templates: - Individual issue template for each enhancement - Consistent format with implementation details - OpenAPI references and code examples - Priority levels and labels 🎯 Goals: - Increase API coverage from ~30% to ~80% - Maintain backward compatibility - Add most requested features - Follow OpenAPI specification precisely This provides a clear roadmap for community contributions and systematic feature development. * docs: add missing GitHub issue templates and reorder Added three missing enhancement issue templates: - #6 Extract Pages method (simpler alternative to split_pdf) - #10 Convert to Office Formats (DOCX, XLSX, PPTX export) - #13 Batch Processing (client-side bulk operations) Reordered existing templates to maintain logical sequence. All 13 enhancements now have corresponding issue templates. * feat: integrate fork features with comprehensive Direct API methods and tests ## New Direct API Methods (Python 3.8 compatible) - `split_pdf()` - Split PDFs into multiple documents by page ranges - `duplicate_pdf_pages()` - Duplicate specific pages within a PDF - `delete_pdf_pages()` - Remove specific pages from a PDF - `add_page()` - Insert blank pages into PDFs - `set_page_label()` - Apply custom labels to page ranges ## Comprehensive Integration Test Suite - Added complete integration tests for all existing methods - Added comprehensive tests for all new methods - Tests cover both bytes return and file output scenarios - Proper error handling and edge case testing - Python 3.8+ compatible type hints throughout ## Quality Assurance - All methods maintain Python 3.8+ compatibility - Full type checking with mypy - Comprehensive linting with ruff - Detailed docstrings with examples - Consistent error handling patterns This integration successfully adopts the excellent fork functionality while maintaining our quality standards and compatibility requirements. * fix: format integration test file with ruff - Fixed formatting in tests/integration/test_direct_api_integration.py - Maintains consistency with project formatting standards - All 154 unit tests pass after rebase on main Resolves formatting issues after rebasing on latest main branch. * fix: address critical issues in new Direct API methods Critical Fixes: - Fixed duplicate_pdf_pages page indexing bug (exclusive end for positive indexes) - Fixed split_pdf to require page_ranges parameter (removed misleading default) - Added resource limits: max 50 ranges for split_pdf, max 100 pages for add_page Documentation Improvements: - Clarified 0-based indexing in all method docstrings - Added explicit examples showing index behavior - Documented that negative indexes are NOT supported in delete_pdf_pages - Updated split_pdf examples to show required page_ranges Test Updates: - Updated split_pdf tests to match new required parameter behavior - Added test for maximum page ranges validation - Added test for maximum page count in add_page - Removed test for non-existent default behavior These fixes ensure the API works correctly with the Nutrient DWS backend and prevents common user errors through clear documentation and validation. * fix: resolve linting issues in Direct API methods - Fixed trailing whitespace in docstrings - Fixed blank lines containing whitespace - Fixed line length exceeding 100 characters - All ruff checks now passing This should resolve CI failures. * fix: apply ruff formatting to direct.py
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.