-
Notifications
You must be signed in to change notification settings - Fork 83
Comparing changes
Open a pull request
base repository: mpcabd/python-arabic-reshaper
base: master
head repository: mpcabd/python-arabic-reshaper
compare: modernize/python3-cleanup
- 7 commits
- 19 files changed
- 2 contributors
Commits on Apr 28, 2026
-
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>
Configuration menu - View commit details
-
Copy full SHA for a51c83d - Browse repository at this point
Copy the full SHA a51c83dView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 6a6a504 - Browse repository at this point
Copy the full SHA 6a6a504View commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 6654591 - Browse repository at this point
Copy the full SHA 6654591View commit details -
Replace Travis CI badge with GitHub Actions badge in README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 69c96ad - Browse repository at this point
Copy the full SHA 69c96adView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 6d09e6b - Browse repository at this point
Copy the full SHA 6d09e6bView commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for 8455181 - Browse repository at this point
Copy the full SHA 8455181View commit details -
Add Python 3.14 to CI and release matrices
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for e53876d - Browse repository at this point
Copy the full SHA e53876dView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...modernize/python3-cleanup