Fix requirement for python3.12 (#16215)

* Fix pip version constraint for Python 3.12 compatibility

Remove outdated pip<22.0 constraint that was a workaround for
pip-tools#1558. This issue was fixed in pip-tools 6.5.0+ and
the old constraint breaks Python 3.12 where pkgutil.ImpImporter
was removed.

* Update requirements.txt

* Fix license file inconsistencies with requirements

- Rename awx-plugins.interfaces.txt to awx-plugins-interfaces.txt
  to match the package name in requirements
- Remove backports-tarfile.txt and importlib-resources.txt as these
  packages are no longer in requirements

* Fix updater.sh for pip 25.3 normalized output format

Changes to requirements_git.txt:
- Update to PEP 440 format (name @ git+url) to match pip-compile output
- Normalize package names (hyphens instead of dots/underscores)
- Sort extras alphabetically with hyphens (e.g., jwt-consumer not jwt_consumer)
- Add documentation explaining format requirements

Changes to updater.sh:
- Escape BRE regex metacharacters in sed pattern to handle brackets in extras
- Change sed delimiter from ! to | to avoid conflict with comment text
- Add explicit return statements to functions
- Assign positional parameters to local variables
- Redirect error messages to stderr
- Replace backticks with $() for command substitution
- Pin pip to version 25.3

requirements.txt regenerated via updater.sh

* Normalize package names in requirements.in to match pip output

- prometheus_client -> prometheus-client
- setuptools_scm -> setuptools-scm
- dispatcherd[pg_notify] -> dispatcherd[pg-notify]

PEP 503 specifies that package names should use hyphens.

* Fix license files to match normalized package names

- Remove awx_plugins.interfaces.txt (duplicate of awx-plugins-interfaces.txt)
- Rename system-certifi.txt to certifi.txt to match package name
This commit is contained in:
Hao Liu
2026-01-08 14:21:11 -05:00
committed by GitHub
parent 049a4b6438
commit 10a2946f9f
9 changed files with 57 additions and 453 deletions

View File

@@ -18,7 +18,7 @@ aiosignal==1.4.0
# via aiohttp
ansi2html==1.9.2
# via -r /awx_devel/requirements/requirements.in
# git+https://github.com/ansible/ansible-runner.git@devel # git requirements installed separately
# ansible-runner @ git+https://github.com/ansible/ansible-runner.git@devel # git requirements installed separately
# via -r /awx_devel/requirements/requirements_git.txt
asgiref==3.11.0
# via
@@ -43,9 +43,9 @@ autocommand==2.2.2
# via jaraco-text
automat==25.4.16
# via twisted
# awx-plugins-core @ git+https://github.com/ansible/awx-plugins.git@devel # git requirements installed separately
# awx-plugins-core[credentials-github-app] @ git+https://github.com/ansible/awx-plugins.git@devel # git requirements installed separately
# via -r /awx_devel/requirements/requirements_git.txt
awx-plugins.interfaces @ git+https://github.com/ansible/awx_plugins.interfaces.git
# awx-plugins-interfaces @ git+https://github.com/ansible/awx_plugins.interfaces.git # git requirements installed separately
# via
# -r /awx_devel/requirements/requirements_git.txt
# awx-plugins-core
@@ -66,8 +66,6 @@ azure-keyvault-keys==4.11.0
# via azure-keyvault
azure-keyvault-secrets==4.10.0
# via azure-keyvault
backports-tarfile==1.2.0
# via jaraco-context
boto3==1.40.46
# via -r /awx_devel/requirements/requirements.in
botocore==1.40.46
@@ -79,7 +77,7 @@ brotli==1.1.0
# via aiohttp
cachetools==6.2.0
# via google-auth
# git+https://github.com/ansible/system-certifi.git@devel # git requirements installed separately
# certifi @ git+https://github.com/ansible/system-certifi.git@devel # git requirements installed separately
# via
# -r /awx_devel/requirements/requirements_git.txt
# kubernetes
@@ -118,7 +116,7 @@ cython==3.1.3
# via -r /awx_devel/requirements/requirements.in
daphne==4.2.1
# via -r /awx_devel/requirements/requirements.in
dispatcherd[pg_notify]==2025.12.12
dispatcherd[pg-notify]==2025.12.12
# via -r /awx_devel/requirements/requirements.in
distro==1.9.0
# via -r /awx_devel/requirements/requirements.in
@@ -136,7 +134,7 @@ django==5.2.8
# django-solo
# djangorestframework
# drf-spectacular
# django-ansible-base @ git+https://github.com/ansible/django-ansible-base@devel # git requirements installed separately
# django-ansible-base[feature-flags,jwt-consumer,rbac,resource-registry,rest-filters] @ git+https://github.com/ansible/django-ansible-base@devel # git requirements installed separately
# via -r /awx_devel/requirements/requirements_git.txt
django-cors-headers==4.9.0
# via -r /awx_devel/requirements/requirements.in
@@ -208,8 +206,6 @@ idna==3.10
# yarl
importlib-metadata==8.7.0
# via opentelemetry-api
importlib-resources==6.5.2
# via irc
incremental==24.7.2
# via twisted
inflection==0.5.1
@@ -362,7 +358,9 @@ protobuf==6.32.1
psutil==7.1.0
# via -r /awx_devel/requirements/requirements.in
psycopg==3.2.10
# via -r /awx_devel/requirements/requirements.in
# via
# -r /awx_devel/requirements/requirements.in
# dispatcherd
ptyprocess==0.7.0
# via pexpect
pyasn1==0.6.1