Skip to content

0.1.3

Choose a tag to compare

@pablotoledo pablotoledo released this 14 Jan 23:56
· 38 commits to main since this release
22cb9d9

Release Notes: Enhanced Dependency Management and Error Handling

🚀 New Features and Enhancements

  1. Dependencies and Configuration Updates

    • Workflow Improvements:
      • Updated .github/workflows/test.yml to use pip install ".[dev]", streamlining the installation of development dependencies.
      • Retained pytest execution with -p no:warnings for cleaner test output.
    • Dependency Management:
      • Moved and separated dependencies into:
        • [tool.poetry.dependencies] for main dependencies.
        • [tool.poetry.group.dev.dependencies] for development-specific dependencies.
      • Adjusted dependencies like black, isort, mypy, pypdf, and others for better organization.
    • Configuration Enhancements:
      • Added isort configuration in pyproject.toml for consistent import sorting across the project.
  2. Code Enhancements

    • Error Handling:
      • Introduced a print_error function in error_handling.py for safer error handling with fallback support for unprintable content.
      • Integrated print_error across various modules for consistent error handling.
    • CLI Improvements:
      • Added detailed help text, examples, and enhanced the description of the output option in cli.py.
      • Improved error handling for unprintable content in CLI outputs.
    • Core Enhancements:
      • Refined type hinting in core.py with overload and more specific annotations for improved code clarity and safety.
      • Enhanced debug logging and error handling during file processing.
  3. Testing

    • New Unit Tests:
      • test_cli.py: Validated CLI help text, examples, and the functionality of the output option.
      • test_error_handling.py: Tested the print_error function under various scenarios (e.g., normal text, rich markup, fallback support).
    • Test Updates:
      • Updated test_basic.py by removing obsolete comments for better readability and relevance.

📋 Key Benefits

  • Streamlined dependency management for clearer separation between main and development requirements.
  • Improved error handling mechanisms ensure safer and more robust handling of edge cases.
  • Enhanced developer experience with better documentation, consistent configurations, and comprehensive testing.
  • User experience improvements through enriched CLI help text and more intuitive output options.