Skip to content

Commit 882cf6b

Browse files
authored
feat: integrate fork features with comprehensive Direct API methods a… (#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
1 parent ab8e3e3 commit 882cf6b

File tree

3 files changed

+1130
-4
lines changed

3 files changed

+1130
-4
lines changed

0 commit comments

Comments
 (0)