mirror of
https://github.com/ansible/awx.git
synced 2026-01-08 14:32:07 -03:30
* AAP-45927 Add drf-spectacular - Remove drf-yasg - Add drf-spectacular * move SPECTACULAR_SETTINGS from development_defaults.py to defaults.py * move SPECTACULAR_SETTINGS from development_defaults.py to defaults.py * Fix swagger tests: enable schema endpoints in all modes Schema endpoints were restricted to development mode, causing test_swagger_generation.py to fail. Made schema URLs available in all modes and fixed deprecated Django warning filters in pytest.ini. * remove swagger from Makefile * remove swagger from Makefile * change docker-compose-build-swagger to docker-compose-build-schema * remove MODE * remove unused import * Update genschema to use drf-spectacular with awx-link dependency - Add awx-link as dependency for genschema targets to ensure package metadata exists - Remove --validate --fail-on-warn flags (schema needs improvements first) - Add genschema-yaml target for YAML output - Add schema.yaml to .gitignore * Fix detect-schema-change to not fail on schema differences Add '-' prefix to diff command so Make ignores its exit status. diff returns exit code 1 when files differ, which is expected behavior for schema change detection, not an error. * Truncate schema diff summary to stay under GitHub's 1MB limit Limit schema diff output in job summary to first 1000 lines to avoid exceeding GitHub's 1MB step summary size limit. Add message indicating when diff is truncated and direct users to job logs or artifacts for full output. * readd MODE * add drf-spectacular to requirements.in and the requirements.txt generated from the script * Add drf-spectacular BSD license file Required for test_python_licenses test to pass now that drf-spectacular is in requirements.txt. * add licenses * Add comprehensive unit tests for CustomAutoSchema Adds 15 unit tests for awx/api/schema.py to improve SonarCloud test coverage. Tests cover all code paths in CustomAutoSchema including: - get_tags() method with various scenarios (swagger_topic, serializer Meta.model, view.model, exception handling, fallbacks, warnings) - is_deprecated() method with different view configurations - Edge cases and priority ordering All tests passing. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * remove unused imports --------- Co-authored-by: Claude <noreply@anthropic.com>
570 lines
14 KiB
Plaintext
570 lines
14 KiB
Plaintext
adal==1.2.7
|
|
# via msrestazure
|
|
aiodns==3.5.0
|
|
# via aiohttp
|
|
aiofiles==24.1.0
|
|
# via opa-python-client
|
|
aiohappyeyeballs==2.6.1
|
|
# via aiohttp
|
|
aiohttp[speedups]==3.13.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# aiohttp-retry
|
|
# opa-python-client
|
|
# twilio
|
|
aiohttp-retry==2.9.1
|
|
# via twilio
|
|
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
|
|
# via -r /awx_devel/requirements/requirements_git.txt
|
|
asciichartpy==1.5.25
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
asgiref==3.10.0
|
|
# via
|
|
# channels
|
|
# channels-redis
|
|
# daphne
|
|
# django
|
|
# django-ansible-base
|
|
# django-cors-headers
|
|
asn1==3.1.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
attrs==25.4.0
|
|
# via
|
|
# aiohttp
|
|
# jsonschema
|
|
# referencing
|
|
# service-identity
|
|
# twisted
|
|
autobahn==24.4.2
|
|
# via daphne
|
|
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
|
|
# via -r /awx_devel/requirements/requirements_git.txt
|
|
awx-plugins.interfaces @ git+https://github.com/ansible/awx_plugins.interfaces.git
|
|
# via
|
|
# -r /awx_devel/requirements/requirements_git.txt
|
|
# awx-plugins-core
|
|
azure-core==1.35.1
|
|
# via
|
|
# azure-identity
|
|
# azure-keyvault-certificates
|
|
# azure-keyvault-keys
|
|
# azure-keyvault-secrets
|
|
# msrest
|
|
azure-identity==1.25.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
azure-keyvault==4.2.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
azure-keyvault-certificates==4.10.0
|
|
# via azure-keyvault
|
|
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
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# boto3
|
|
# s3transfer
|
|
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
|
|
# via
|
|
# -r /awx_devel/requirements/requirements_git.txt
|
|
# kubernetes
|
|
# msrest
|
|
# requests
|
|
cffi==2.0.0
|
|
# via
|
|
# cryptography
|
|
# pycares
|
|
# pynacl
|
|
channels==4.3.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# channels-redis
|
|
channels-redis==4.3.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
charset-normalizer==3.4.3
|
|
# via requests
|
|
click==8.1.8
|
|
# via receptorctl
|
|
constantly==23.10.4
|
|
# via twisted
|
|
cryptography==46.0.2
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# adal
|
|
# autobahn
|
|
# azure-identity
|
|
# azure-keyvault-keys
|
|
# django-ansible-base
|
|
# msal
|
|
# pyjwt
|
|
# pyopenssl
|
|
# service-identity
|
|
cython==3.1.3
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
daphne==4.2.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
dispatcherd==2025.5.21
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
distro==1.9.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
django==4.2.21
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# channels
|
|
# django-ansible-base
|
|
# django-cors-headers
|
|
# django-crum
|
|
# django-extensions
|
|
# django-flags
|
|
# django-guid
|
|
# django-polymorphic
|
|
# django-solo
|
|
# djangorestframework
|
|
# drf-spectacular
|
|
# django-ansible-base @ 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
|
|
django-crum==0.7.9
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# django-ansible-base
|
|
django-extensions==4.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
django-flags==5.0.14
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# django-ansible-base
|
|
django-guid==3.5.2
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
django-polymorphic==4.1.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
django-solo==2.4.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
djangorestframework==3.15.2
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# django-ansible-base
|
|
# drf-spectacular
|
|
djangorestframework-yaml==2.0.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
drf-spectacular==0.29.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
durationpy==0.10
|
|
# via kubernetes
|
|
dynaconf==3.2.11
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# django-ansible-base
|
|
enum-compat==0.0.3
|
|
# via asn1
|
|
filelock==3.19.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
frozenlist==1.8.0
|
|
# via
|
|
# aiohttp
|
|
# aiosignal
|
|
gitdb==4.0.12
|
|
# via gitpython
|
|
gitpython==3.1.45
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
google-auth==2.41.1
|
|
# via kubernetes
|
|
googleapis-common-protos==1.70.0
|
|
# via
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
grpcio==1.75.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
hiredis==3.2.1
|
|
# via redis
|
|
hyperlink==21.0.0
|
|
# via
|
|
# autobahn
|
|
# twisted
|
|
idna==3.10
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# hyperlink
|
|
# requests
|
|
# twisted
|
|
# 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
|
|
# via
|
|
# django-ansible-base
|
|
# drf-spectacular
|
|
irc==20.5.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
isodate==0.7.2
|
|
# via
|
|
# azure-keyvault-certificates
|
|
# azure-keyvault-keys
|
|
# azure-keyvault-secrets
|
|
# msrest
|
|
jaraco-collections==5.2.1
|
|
# via irc
|
|
jaraco-context==6.0.1
|
|
# via jaraco-text
|
|
jaraco-functools==4.3.0
|
|
# via
|
|
# irc
|
|
# jaraco-text
|
|
# tempora
|
|
jaraco-logging==3.4.0
|
|
# via irc
|
|
jaraco-stream==3.0.4
|
|
# via irc
|
|
jaraco-text==4.0.0
|
|
# via
|
|
# irc
|
|
# jaraco-collections
|
|
jinja2==3.1.6
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
jmespath==1.0.1
|
|
# via
|
|
# boto3
|
|
# botocore
|
|
jq==1.10.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
json-log-formatter==1.1.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
jsonschema==4.25.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# drf-spectacular
|
|
jsonschema-specifications==2025.9.1
|
|
# via jsonschema
|
|
kubernetes==34.1.0
|
|
# via openshift
|
|
lockfile==0.12.2
|
|
# via python-daemon
|
|
markdown==3.9
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
markupsafe==3.0.3
|
|
# via jinja2
|
|
maturin==1.9.6
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
more-itertools==10.8.0
|
|
# via
|
|
# irc
|
|
# jaraco-functools
|
|
# jaraco-stream
|
|
# jaraco-text
|
|
msal==1.34.0
|
|
# via
|
|
# azure-identity
|
|
# msal-extensions
|
|
msal-extensions==1.3.1
|
|
# via azure-identity
|
|
msgpack==1.1.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# channels-redis
|
|
msrest==0.7.1
|
|
# via msrestazure
|
|
msrestazure==0.6.4.post1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
multidict==6.7.0
|
|
# via
|
|
# aiohttp
|
|
# yarl
|
|
oauthlib==3.3.1
|
|
# via requests-oauthlib
|
|
opa-python-client==2.0.2
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
openshift==0.13.2
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
opentelemetry-api==1.37.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
# opentelemetry-instrumentation
|
|
# opentelemetry-instrumentation-logging
|
|
# opentelemetry-sdk
|
|
# opentelemetry-semantic-conventions
|
|
opentelemetry-exporter-otlp==1.37.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
opentelemetry-exporter-otlp-proto-common==1.37.0
|
|
# via
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-exporter-otlp-proto-grpc==1.37.0
|
|
# via opentelemetry-exporter-otlp
|
|
opentelemetry-exporter-otlp-proto-http==1.37.0
|
|
# via opentelemetry-exporter-otlp
|
|
opentelemetry-instrumentation==0.58b0
|
|
# via opentelemetry-instrumentation-logging
|
|
opentelemetry-instrumentation-logging==0.58b0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
opentelemetry-proto==1.37.0
|
|
# via
|
|
# opentelemetry-exporter-otlp-proto-common
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-sdk==1.37.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-semantic-conventions==0.58b0
|
|
# via
|
|
# opentelemetry-instrumentation
|
|
# opentelemetry-sdk
|
|
packaging==25.0
|
|
# via
|
|
# ansible-runner
|
|
# django-guid
|
|
# opentelemetry-instrumentation
|
|
# setuptools-scm
|
|
pbr==7.0.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
pexpect==4.9.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# ansible-runner
|
|
pkgconfig==1.5.5
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
prometheus-client==0.23.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
propcache==0.4.0
|
|
# via
|
|
# aiohttp
|
|
# yarl
|
|
protobuf==6.32.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# googleapis-common-protos
|
|
# opentelemetry-proto
|
|
psutil==7.1.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
psycopg==3.2.10
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
ptyprocess==0.7.0
|
|
# via pexpect
|
|
pyasn1==0.6.1
|
|
# via
|
|
# pyasn1-modules
|
|
# rsa
|
|
# service-identity
|
|
pyasn1-modules==0.4.2
|
|
# via
|
|
# google-auth
|
|
# service-identity
|
|
pycares==4.11.0
|
|
# via aiodns
|
|
pycparser==2.23
|
|
# via cffi
|
|
pygerduty==0.38.3
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
pygithub==2.8.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# awx-plugins-core
|
|
pyjwt[crypto]==2.10.1
|
|
# via
|
|
# adal
|
|
# django-ansible-base
|
|
# msal
|
|
# pygithub
|
|
# twilio
|
|
pynacl==1.6.0
|
|
# via pygithub
|
|
pyopenssl==25.3.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# twisted
|
|
pyparsing==2.4.7
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
python-daemon==3.1.2
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# ansible-runner
|
|
python-dateutil==2.9.0.post0
|
|
# via
|
|
# adal
|
|
# botocore
|
|
# kubernetes
|
|
# receptorctl
|
|
# tempora
|
|
python-dsv-sdk==1.0.4
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
python-string-utils==1.0.0
|
|
# via openshift
|
|
python-tss-sdk==2.0.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
pytz==2025.2
|
|
# via irc
|
|
pyyaml==6.0.3
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# ansible-runner
|
|
# dispatcherd
|
|
# djangorestframework-yaml
|
|
# drf-spectacular
|
|
# kubernetes
|
|
# receptorctl
|
|
pyzstd==0.18.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
receptorctl==1.6.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
redis[hiredis]==6.4.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# channels-redis
|
|
referencing==0.36.2
|
|
# via
|
|
# jsonschema
|
|
# jsonschema-specifications
|
|
requests==2.32.5
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# adal
|
|
# azure-core
|
|
# django-ansible-base
|
|
# kubernetes
|
|
# msal
|
|
# msrest
|
|
# opa-python-client
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
# pygithub
|
|
# python-dsv-sdk
|
|
# python-tss-sdk
|
|
# requests-oauthlib
|
|
# twilio
|
|
requests-oauthlib==2.0.0
|
|
# via
|
|
# kubernetes
|
|
# msrest
|
|
rpds-py==0.27.1
|
|
# via
|
|
# jsonschema
|
|
# referencing
|
|
rsa==4.9.1
|
|
# via google-auth
|
|
s3transfer==0.14.0
|
|
# via boto3
|
|
semantic-version==2.10.0
|
|
# via setuptools-rust
|
|
service-identity==24.2.0
|
|
# via twisted
|
|
setuptools-rust==1.10.2
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
setuptools-scm[toml]==8.1.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
six==1.17.0
|
|
# via
|
|
# azure-core
|
|
# kubernetes
|
|
# msrestazure
|
|
# openshift
|
|
# pygerduty
|
|
# python-dateutil
|
|
slack-sdk==3.37.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
smmap==5.0.2
|
|
# via gitdb
|
|
sqlparse==0.5.3
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# django
|
|
# django-ansible-base
|
|
tempora==5.8.1
|
|
# via
|
|
# irc
|
|
# jaraco-logging
|
|
twilio==9.8.3
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
twisted[tls]==25.5.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# daphne
|
|
txaio==25.9.2
|
|
# via autobahn
|
|
typing-extensions==4.15.0
|
|
# via
|
|
# aiosignal
|
|
# azure-core
|
|
# azure-identity
|
|
# azure-keyvault-certificates
|
|
# azure-keyvault-keys
|
|
# azure-keyvault-secrets
|
|
# grpcio
|
|
# opentelemetry-api
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
# opentelemetry-sdk
|
|
# opentelemetry-semantic-conventions
|
|
# psycopg
|
|
# pygithub
|
|
# pyopenssl
|
|
# pyzstd
|
|
# referencing
|
|
# twisted
|
|
uritemplate==4.2.0
|
|
# via drf-spectacular
|
|
urllib3==2.3.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# botocore
|
|
# django-ansible-base
|
|
# kubernetes
|
|
# pygithub
|
|
# requests
|
|
uwsgi==2.0.30
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
uwsgitop==0.12
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
websocket-client==1.8.0
|
|
# via kubernetes
|
|
wheel==0.42.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
wrapt==1.17.3
|
|
# via opentelemetry-instrumentation
|
|
yarl==1.22.0
|
|
# via aiohttp
|
|
zipp==3.23.0
|
|
# via importlib-metadata
|
|
zope-interface==8.0.1
|
|
# via twisted
|
|
zstandard==0.25.0
|
|
# via aiohttp
|
|
|
|
# The following packages are considered to be unsafe in a requirements file:
|
|
pip==21.2.4
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
setuptools==80.9.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# asciichartpy
|
|
# autobahn
|
|
# incremental
|
|
# pbr
|
|
# setuptools-rust
|
|
# setuptools-scm
|