You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Modernize Python and Django support: Drop Python 3.9, add Python 3.14 and Django 6.0 (#489)
* Drop Python 3.9 support, add Python 3.14 and Django 6.0 support
- Update pyproject.toml: requires-python >= 3.10, add classifiers for Python 3.10-3.14 and Django 6.0
- Update tox.ini: remove py39, add py310, py312, py313, py314
- Update GitHub Actions workflows: add Python 3.14 and Django 6.0 test configurations
- Add dj60_cms50.txt requirements file for Django 6.0 testing
- Add exclusions to prevent Python 3.14 from running against older Django versions
Amp-Thread-ID: https://ampcode.com/threads/T-cdf01cfa-6da3-4851-9a9b-0c7a2c181c37
Co-authored-by: Amp <[email protected]>
* Modernize type annotations for Python 3.10+
- Replace typing.Union[X, Y] with X | Y syntax (PEP 604)
- Replace typing.Optional[X] with X | None syntax
- Remove unnecessary typing imports where Optional/Union were the only imports
- Updated files: admin.py, emails.py, conditions.py, helpers.py, cms_toolbars.py, indicators.py, datastructures.py
Amp-Thread-ID: https://ampcode.com/threads/T-cdf01cfa-6da3-4851-9a9b-0c7a2c181c37
Co-authored-by: Amp <[email protected]>
* Remove unused typing imports after modernization
- Removed unused typing imports from admin.py, conditions.py, emails.py, and indicators.py
- These imports became unused after migrating to PEP 604 union syntax
* Update AGENTS.md with new Python and Django version requirements
- Updated Python version requirement from 3.9+ to 3.10+
- Added Django 6.0 to supported versions
- Updated test matrix to reflect Python 3.10-3.14
- Added note about PEP 604 union syntax in type hints
* Use uv for package management in CI workflows
- Replace pip with uv for faster dependency installation
- Add astral-sh/setup-uv@v5 action to all workflows
- Use 'uv pip install --system' for package installation
- Use 'uvx ruff' for linting workflow
- Updated all test jobs: sqlite, postgres, mysql, cms-develop, django-main
Amp-Thread-ID: https://ampcode.com/threads/T-cdf01cfa-6da3-4851-9a9b-0c7a2c181c37
Co-authored-by: Amp <[email protected]>
* Update AGENTS.md to reflect usage of uv [skip ci]
- Add note about using uv for faster dependency installation
- Update testing command to use 'uv pip install'
- Document uv as the package manager in Code Style section
* Fix type hint for replace_admin_for_models pairs parameter
- Change from 'tuple[type[models.Model], type]' to 'Iterable[tuple[type[models.Model], type]]'
- The function expects multiple pairs, not a single tuple
- Also fixed docstring parameter name from 'models' to 'pairs'
* Fix line length in replace_admin_for_models signature
- Break function signature across multiple lines to comply with 120 char limit
- Fixes ruff E501 error
* Fix test matrix: Django 6 now only runs with Python 3.12+
Amp-Thread-ID: https://ampcode.com/threads/T-6e53f75e-8813-4ef9-bcd2-61db1b0e0cc6
Co-authored-by: Amp <[email protected]>
* Update Django requirement to >=6.0a1,<6.1
Amp-Thread-ID: https://ampcode.com/threads/T-7c01575b-a01e-4212-bfb3-f4981bd1583b
Co-authored-by: Amp <[email protected]>
* Update Django requirement to >=6.0a1,<6.1
Amp-Thread-ID: https://ampcode.com/threads/T-1ae0efd4-afab-468c-b53b-30d0573c635e
Co-authored-by: Amp <[email protected]>
* fix: issues with matrix
* fix: wrong Django version in pyproject.toml
* fix: mysqlclient errors with python 3.14
* replace: django-fsm with django-fsm-2 that comes with django 6.0 support
* fix: remove version constraints and also add a note in the readme
* fix: links
---------
Co-authored-by: Amp <[email protected]>
Co-authored-by: Fabian Braun <[email protected]>
0 commit comments