-
Notifications
You must be signed in to change notification settings - Fork 0
Commit 882cf6b
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.py1 parent ab8e3e3 commit 882cf6bCopy full SHA for 882cf6b
File tree
Expand file treeCollapse file tree
3 files changed
+1130
-4
lines changedOpen diff view settings
Filter options
- src/nutrient_dws/api
- tests/integration
Expand file treeCollapse file tree
3 files changed
+1130
-4
lines changedOpen diff view settings
0 commit comments