Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mpcabd/python-arabic-reshaper
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: mpcabd/python-arabic-reshaper
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: modernize/python3-cleanup
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 7 commits
  • 19 files changed
  • 2 contributors

Commits on Apr 28, 2026

  1. Modernise packaging and clean up Python 2 residue

    - Replace setup.py with pyproject.toml (hatchling build backend, uv-native)
    - Add uv.lock and dependency-groups for dev dependencies (pytest, pytest-cov)
    - Drop tox.ini in favour of direct `uv run pytest`
    - Replace .travis.yml with GitHub Actions CI (uv, Python 3.10–3.13 matrix)
    - Drop Python <3.10 support (3.6–3.9 all EOL)
    - Remove (object) base class and super() call on ArabicReshaper
    - Switch _ligatures_re from @Property with hidden mutation to @cached_property
    - Add -> str type hint and sentinel comment to reshape()
    - Add ArabicReshaperConfigurationError(ValueError); replace bare Exception raises
    - Add docstring and ImportError to config_for_true_type_font()
    - Fix LETTERS -> letters parameter naming in letters.py helper functions
    - Add comment explaining the RIAL SIGN regex pattern in ligatures.py
    - Remove unused import os from __init__.py; export ArabicReshaperConfigurationError
    - Remove debug print() from test_003_reshaping.py
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    mpcabd and claude committed Apr 28, 2026
    Configuration menu
    Copy the full SHA
    a51c83d View commit details
    Browse the repository at this point in the history
  2. Complete remaining plan items: coverage and type hints

    - Wire pytest-cov into addopts so `uv run pytest` always reports coverage
    - Add type hints to auto_config() and config_for_true_type_font()
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    mpcabd and claude committed Apr 28, 2026
    Configuration menu
    Copy the full SHA
    6a6a504 View commit details
    Browse the repository at this point in the history
  3. Strengthen font config tests; gitignore fonts/

    - Add fonts/ to .gitignore so local test fonts are never committed
    - Skip tests gracefully when fonts/ is absent or contains no .otf files
    - Replace smoke tests with correctness tests: _expected_config() independently
      reads the font's cmap via fonttools and computes the expected config, then
      asserts config_for_true_type_font() == expected — catches any mis-detection
      of glyph support rather than just checking the function doesn't crash
    - Add fonttools to dev dependency group so the tests run out of the box
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    mpcabd and claude committed Apr 28, 2026
    Configuration menu
    Copy the full SHA
    6654591 View commit details
    Browse the repository at this point in the history
  4. Replace Travis CI badge with GitHub Actions badge in README

    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    mpcabd and claude committed Apr 28, 2026
    Configuration menu
    Copy the full SHA
    69c96ad View commit details
    Browse the repository at this point in the history
  5. Bump to 3.0.1: remove obsolete files and update version history

    Remove .travis.yml, MANIFEST.in, meta.yaml, and upload-to-anaconda.sh
    which are all superseded by the modernised pyproject.toml/hatchling setup
    and GitHub Actions CI. Update README version history accordingly.
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    mpcabd and claude committed Apr 28, 2026
    Configuration menu
    Copy the full SHA
    6d09e6b View commit details
    Browse the repository at this point in the history
  6. Add GitHub Actions release workflow for PyPI publishing

    Uses OIDC trusted publishing (no API token needed). Runs the full test
    matrix first, then builds and publishes on success.
    
    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    mpcabd and claude committed Apr 28, 2026
    Configuration menu
    Copy the full SHA
    8455181 View commit details
    Browse the repository at this point in the history
  7. Add Python 3.14 to CI and release matrices

    Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
    mpcabd and claude committed Apr 28, 2026
    Configuration menu
    Copy the full SHA
    e53876d View commit details
    Browse the repository at this point in the history
Loading