Files
awx/requirements/requirements_git.txt
Hao Liu 10a2946f9f 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
2026-01-08 14:21:11 -05:00

25 lines
1.3 KiB
Plaintext

# Git-based requirements - installed separately from requirements.txt
#
# IMPORTANT: Use PEP 440 format that matches pip-compile's normalized output:
# name @ git+https://github.com/org/repo.git@branch
#
# Format rules:
# - Package name MUST match pip's normalized form (hyphens, not dots/underscores)
# - Extras go in the package name: pkg[extra1,extra2] @ git+...
# - Extras MUST be sorted alphabetically and use hyphens (not underscores)
# - Do NOT use the legacy #egg=name format
#
# Example:
# WRONG: git+https://github.com/org/repo.git@devel#egg=my-package[foo,bar]
# WRONG: my_package[bar,foo] @ git+https://github.com/org/repo.git@devel
# RIGHT: my-package[bar,foo] @ git+https://github.com/org/repo.git@devel
#
# updater.sh uses these lines to comment out matching entries in requirements.txt
# so they are not installed twice (once from git, once from PyPI).
#
certifi @ git+https://github.com/ansible/system-certifi.git@devel
ansible-runner @ git+https://github.com/ansible/ansible-runner.git@devel
awx-plugins-core[credentials-github-app] @ git+https://github.com/ansible/awx-plugins.git@devel
django-ansible-base[feature-flags,jwt-consumer,rbac,resource-registry,rest-filters] @ git+https://github.com/ansible/django-ansible-base@devel
awx-plugins-interfaces @ git+https://github.com/ansible/awx_plugins.interfaces.git