<86>May 2 04:29:53 userdel[2519748]: delete user 'rooter' <86>May 2 04:29:53 userdel[2519748]: removed group 'rooter' owned by 'rooter' <86>May 2 04:29:53 groupadd[2519799]: group added to /etc/group: name=rooter, GID=1868 <86>May 2 04:29:53 groupadd[2519799]: group added to /etc/gshadow: name=rooter <86>May 2 04:29:53 groupadd[2519799]: new group: name=rooter, GID=1868 <86>May 2 04:29:53 useradd[2519849]: new user: name=rooter, UID=1868, GID=1868, home=/root, shell=/bin/bash, from=none <86>May 2 04:29:53 userdel[2519929]: delete user 'builder' <86>May 2 04:29:53 groupadd[2519982]: group added to /etc/group: name=builder, GID=1869 <86>May 2 04:29:53 groupadd[2519982]: group added to /etc/gshadow: name=builder <86>May 2 04:29:53 groupadd[2519982]: new group: name=builder, GID=1869 <86>May 2 04:29:53 useradd[2520049]: new user: name=builder, UID=1869, GID=1869, home=/usr/src, shell=/bin/bash, from=none <13>May 2 04:29:58 rpmi: libsqlite3-3.50.4-alt1 sisyphus+391668.100.1.1 1754321138 installed <13>May 2 04:29:58 rpmi: libmpdec3-2.5.1-alt3 sisyphus+314490.500.5.1 1675432033 installed <13>May 2 04:29:58 rpmi: libexpat-2.7.4-alt1 sisyphus+407132.100.1.1 1770196717 installed <13>May 2 04:29:58 rpmi: openssl-config-3.5.0-alt1 sisyphus+399237.100.1.1 1762346864 installed <13>May 2 04:29:58 rpmi: libb2-0.98.1-alt1_1 sisyphus+291614.100.1.1 1638962878 installed <13>May 2 04:29:58 rpmi: libp11-kit-1:0.25.10-alt2 sisyphus+400858.600.6.1 1764517196 installed <13>May 2 04:29:58 rpmi: libtasn1-4.21.0-alt1 sisyphus+407792.100.1.1 1770718027 installed <13>May 2 04:29:58 rpmi: rpm-macros-alternatives-0.5.3-alt1 sisyphus+371878.100.1.1 1737988822 installed <13>May 2 04:29:58 rpmi: alternatives-0.5.3-alt1 sisyphus+371878.100.1.1 1737988822 installed <13>May 2 04:29:58 rpmi: ca-certificates-2026.04.22-alt1 sisyphus+415942.100.6.1 1777316293 installed <13>May 2 04:29:58 rpmi: ca-trust-0.2.0-alt1 sisyphus+344843.100.1.1 1712743326 installed <13>May 2 04:29:58 rpmi: p11-kit-trust-1:0.25.10-alt2 sisyphus+400858.600.6.1 1764517196 installed <13>May 2 04:29:59 rpmi: libcrypto3-3.5.4-alt1 sisyphus+399237.200.1.1 1762349280 installed <13>May 2 04:29:59 rpmi: libssl3-3.5.4-alt1 sisyphus+399237.200.1.1 1762349280 installed <13>May 2 04:29:59 rpmi: python3-modules-sqlite3-3.13.12-alt3 sisyphus+415436.40.2.1 1776619563 installed <13>May 2 04:29:59 rpmi: python3-3.13.12-alt3 sisyphus+415436.40.2.1 1776619563 installed <13>May 2 04:30:00 rpmi: python3-base-3.13.12-alt3 sisyphus+415436.40.2.1 1776619563 installed <13>May 2 04:30:00 rpmi: python3-module-py3dephell-0.3.1-alt1 sisyphus+365261.200.1.1 1734463433 installed <13>May 2 04:30:00 rpmi: tests-for-installed-python3-pkgs-0.1.29-alt1 sisyphus+398029.2500.12.1 1762716341 installed <13>May 2 04:30:00 rpmi: rpm-build-python3-0.1.29-alt1 sisyphus+398029.2500.12.1 1762716341 installed <13>May 2 04:30:03 rpmi: python3-module-packaging-26.2-alt1 sisyphus+416502.100.2.1 1777385153 installed <13>May 2 04:30:03 rpmi: python3-module-more-itertools-11.0.2-alt1 sisyphus+414850.100.1.1 1775836149 installed <13>May 2 04:30:04 rpmi: libidn2-2.3.8-alt1 sisyphus+393466.100.1.1 1756397195 installed <13>May 2 04:30:04 rpmi: libnettle8-3.10.1-alt1 sisyphus+372008.100.1.1 1738078268 installed <13>May 2 04:30:04 rpmi: python3-module-jaraco.functools-4.4.0-alt1 sisyphus+403451.100.1.1 1766321214 installed <13>May 2 04:30:04 rpmi: python3-module-pyasn1-0.6.3-alt1 sisyphus+411641.100.1.1 1773734635 installed <13>May 2 04:30:04 rpmi: python3-module-six-1.17.0-alt1.1 sisyphus+373470.100.1.1 1738920023 installed <13>May 2 04:30:04 rpmi: python3-module-Pygments-2.20.0-alt1 sisyphus+413985.100.1.1 1775208360 installed <13>May 2 04:30:04 rpmi: python3-module-dateutil-2.9.0.post0-alt1 sisyphus+378451.100.1.1 1742313746 installed <13>May 2 04:30:04 rpmi: python3-module-ecdsa-0.19.2-alt1 sisyphus+414405.100.1.1 1775555591 installed <13>May 2 04:30:04 rpmi: python3-module-rsa-4.9.1-alt1 sisyphus+411053.100.1.1 1773274660 installed <13>May 2 04:30:04 rpmi: libhogweed6-3.10.1-alt1 sisyphus+372008.100.1.1 1738078268 installed <13>May 2 04:30:04 rpmi: libgnutls30-3.8.12-alt1 sisyphus+407941.100.1.1 1770827702 installed <13>May 2 04:30:04 rpmi: libngtcp2.16-1.22.1-alt1 sisyphus+415577.100.1.1 1776517169 installed <13>May 2 04:30:04 rpmi: libngtcp2_crypto_gnutls8-1.22.1-alt1 sisyphus+415577.100.1.1 1776517169 installed <13>May 2 04:30:04 rpmi: python3-module-wheel-0.47.0-alt1 sisyphus+416101.100.1.1 1776938753 installed <13>May 2 04:30:04 rpmi: python3-module-vcs-versioning-1.1.1-alt1 sisyphus+413806.100.2.1 1775120939 installed <13>May 2 04:30:04 rpmi: python3-module-pluggy-1.6.0-alt1.1 sisyphus+413474.300.2.1 1774829688 installed <13>May 2 04:30:04 rpmi: python3-module-platformdirs-4.9.6-alt1 sisyphus+414708.100.1.1 1775732602 installed <13>May 2 04:30:04 rpmi: python3-module-shellingham-1.5.4-alt1 sisyphus+332574.100.1.1 1698135363 installed <13>May 2 04:30:04 rpmi: python3-module-typing_extensions-4.15.0-alt2 sisyphus+399838.100.1.1 1762946472 installed <13>May 2 04:30:04 rpmi: python3-module-uc-micro-py-2.0.0-alt1 sisyphus+411114.100.1.1 1773327270 installed <13>May 2 04:30:04 rpmi: python3-module-linkify-it-py-2.1.0-alt1.1 sisyphus+413476.100.1.1 1774817789 installed <13>May 2 04:30:04 rpmi: python3-module-mdurl-0.1.2-alt1 sisyphus+318894.1000.3.1 1682420700 installed <13>May 2 04:30:04 rpmi: python3-module-markdown-it-4.0.0-alt1 sisyphus+394327.100.1.1 1757330325 installed <13>May 2 04:30:04 rpmi: python3-module-rich-15.0.0-alt1 sisyphus+415092.100.2.1 1776162196 installed <13>May 2 04:30:04 rpmi: python3-module-jaraco.context-6.1.2-alt1 sisyphus+412384.100.1.1 1774283927 installed <13>May 2 04:30:04 rpmi: python3-module-iniconfig-2.3.0-alt1 sisyphus+397749.100.2.1 1761040670 installed <13>May 2 04:30:04 rpmi: python3-module-pytest-9.0.3-alt1 sisyphus+414567.100.1.1 1775647126 installed <13>May 2 04:30:05 rpmi: python3-module-sqlparse-0.5.5-alt1 sisyphus+405521.100.1.3 1768827611 installed <13>May 2 04:30:05 rpmi: python3-module-markupsafe-1:3.0.3-alt1 sisyphus+396886.100.1.1 1760186182 installed <13>May 2 04:30:05 rpmi: python3-module-jinja2-3.1.6-alt2 sisyphus+413629.100.1.1 1774945546 installed <13>May 2 04:30:05 rpmi: python3-module-click-8.3.3-alt1 sisyphus+416095.100.2.1 1777275479 installed <13>May 2 04:30:05 rpmi: python3-module-asgiref-3.9.1-alt1 sisyphus+391315.100.1.1 1753992327 installed <13>May 2 04:30:05 rpmi: python3-module-annotated_doc-0.0.4-alt1 sisyphus+401429.100.1.1 1764433640 installed <13>May 2 04:30:05 rpmi: python3-module-typer-0.25.0-alt1 sisyphus+416602.200.2.1 1777391273 installed <13>May 2 04:30:05 rpmi: python3-module-typer-slim-0.25.0-alt1 sisyphus+416602.200.2.1 1777391273 installed <13>May 2 04:30:05 rpmi: python3-module-jaraco.text-4.2.0-alt1 sisyphus+408107.100.3.1 1771429608 installed <13>May 2 04:30:05 rpmi: python3-module-pkg-resources-1:80.10.2-alt2.1 sisyphus+413485.1000.2.3 1774838477 installed <13>May 2 04:30:05 rpmi: python3-module-pycparser-2.23-alt1 sisyphus+410417.100.1.1 1772989663 installed <13>May 2 04:30:05 rpmi: python3-module-cffi-2.0.0-alt1 sisyphus+397119.600.1.2 1760517235 installed <13>May 2 04:30:06 rpmi: mercurial-7.2-alt1 sisyphus+407148.100.1.1 1770199694 installed <13>May 2 04:30:06 rpmi: python3-module-cryptography-46.0.7-alt1 sisyphus+414598.200.1.1 1775660223 installed <13>May 2 04:30:06 rpmi: libyaml2-6.0.2-alt1 sisyphus+393301.100.1.1 1756210811 installed <13>May 2 04:30:06 rpmi: python3-module-yaml-6.0.3-alt1 sisyphus+396216.400.4.1 1760409063 installed <13>May 2 04:30:06 rpmi: libpython3-3.13.12-alt3 sisyphus+415436.40.2.1 1776619563 installed <13>May 2 04:30:07 rpmi: python3-dev-3.13.12-alt3 sisyphus+415436.40.2.1 1776619563 installed <13>May 2 04:30:07 rpmi: python3-module-setuptools-1:82.0.1-alt1 sisyphus+411188.340.5.1 1773852239 installed <13>May 2 04:30:07 rpmi: libssh2-1.11.1-alt1 sisyphus+404252.100.1.1 1767290819 installed <13>May 2 04:30:07 rpmi: publicsuffix-list-dafsa-20260302-alt1 sisyphus+410018.100.1.1 1772635567 installed <13>May 2 04:30:07 rpmi: libpsl-0.21.5-alt2 sisyphus+410047.100.1.1 1772654914 installed <13>May 2 04:30:07 rpmi: libnghttp3.9-1.15.0-alt1 sisyphus+407299.100.1.1 1770310481 installed <13>May 2 04:30:07 rpmi: libnghttp2-1.69.0-alt1 sisyphus+415699.100.1.1 1776681037 installed <13>May 2 04:30:07 rpmi: openldap-common-2.6.13-alt1 sisyphus+411252.300.5.1 1773745238 installed <13>May 2 04:30:07 rpmi: libbrotlicommon-1.2.0-alt1 sisyphus+398493.100.1.1 1761628653 installed <13>May 2 04:30:07 rpmi: libbrotlidec-1.2.0-alt1 sisyphus+398493.100.1.1 1761628653 installed <13>May 2 04:30:07 rpmi: libxxhash-0.8.3-alt1 sisyphus+384704.100.1.1 1747741286 installed <13>May 2 04:30:07 rpmi: liblz4-1:1.9.4-alt1 sisyphus+309416.100.1.1 1667413000 installed <13>May 2 04:30:07 rpmi: rsync-3.2.7-alt5 sisyphus+415923.100.1.1 1776861111 installed <13>May 2 04:30:07 rpmi: openssh-common-9.6p1-alt6 sisyphus+399237.400.2.1 1762378318 installed <13>May 2 04:30:07 rpmi: libverto-0.3.2-alt1_1 sisyphus+321176.2200.10.2 1684806164 installed <13>May 2 04:30:07 rpmi: liblmdb-0.9.35-alt1 sisyphus+408541.100.2.1 1771588201 installed <13>May 2 04:30:07 rpmi: libkeyutils-1.6.3-alt1 sisyphus+346336.200.2.2 1716472658 installed <13>May 2 04:30:07 rpmi: libcom_err-1.47.4.0.2.a9f48-alt1 sisyphus+416421.100.2.1 1777378671 installed <86>May 2 04:30:07 groupadd[2557618]: group added to /etc/group: name=_keytab, GID=999 <86>May 2 04:30:07 groupadd[2557618]: group added to /etc/gshadow: name=_keytab <86>May 2 04:30:07 groupadd[2557618]: new group: name=_keytab, GID=999 <13>May 2 04:30:08 rpmi: libkrb5-1.22.2-alt1 sisyphus+407009.100.1.1 1770104518 installed <86>May 2 04:30:08 groupadd[2557795]: group added to /etc/group: name=sasl, GID=998 <86>May 2 04:30:08 groupadd[2557795]: group added to /etc/gshadow: name=sasl <86>May 2 04:30:08 groupadd[2557795]: new group: name=sasl, GID=998 <13>May 2 04:30:08 rpmi: libsasl2-3-2.1.28-alt3 sisyphus+396239.1100.4.1 1760163381 installed <13>May 2 04:30:08 rpmi: libldap2-2.6.13-alt1 sisyphus+411252.300.5.1 1773745182 installed <13>May 2 04:30:08 rpmi: libcurl-8.20.0-alt1 sisyphus+416686.100.1.1 1777455885 installed <13>May 2 04:30:08 rpmi: libpq5-18-18.3-alt2 sisyphus+412023.100.1.1 1773997095 installed <13>May 2 04:30:08 rpmi: python3-module-psycopg2-2.9.11-alt1 sisyphus+396974.100.1.1 1760322268 installed <13>May 2 04:30:09 rpmi: python3-module-django-5.2.13-alt1 sisyphus+415217.100.1.1 1776350854 installed <13>May 2 04:30:09 rpmi: python3-module-django-dbbackend-postgresql-5.2.13-alt1 sisyphus+415217.100.1.1 1776350854 installed <13>May 2 04:30:09 rpmi: libcbor0.14-0.14.0-alt1 sisyphus+414519.100.3.1 1775927176 installed <13>May 2 04:30:09 rpmi: libfido2_1-1.17.0-alt1 sisyphus+415374.100.1.1 1776337779 installed <13>May 2 04:30:09 rpmi: libedit3-3.1.20250104-alt1 sisyphus+384216.200.2.1 1747315132 installed <86>May 2 04:30:09 groupadd[2561818]: group added to /etc/group: name=sshagent, GID=997 <86>May 2 04:30:09 groupadd[2561818]: group added to /etc/gshadow: name=sshagent <86>May 2 04:30:09 groupadd[2561818]: new group: name=sshagent, GID=997 <13>May 2 04:30:09 rpmi: openssh-clients-9.6p1-alt6 sisyphus+399237.400.2.1 1762378318 installed <13>May 2 04:30:09 rpmi: less-633-alt1 sisyphus+328181.300.2.1 1693321749 installed <13>May 2 04:30:09 rpmi: diffstat-1.64-alt1 sisyphus+346132.200.3.2 1716466240 installed <13>May 2 04:30:09 rpmi: git-core-2.50.1-alt1 sisyphus+379199.100.1.1 1752058634 installed <13>May 2 04:30:09 rpmi: python3-module-setuptools_scm-10.0.5-alt1 sisyphus+413806.200.2.1 1775120971 installed <13>May 2 04:30:09 rpmi: python3-module-django-dbbackend-sqlite3-5.2.13-alt1 sisyphus+415217.100.1.1 1776350854 installed <13>May 2 04:30:10 rpmi: python3-module-djangorestframework-3.17.1-alt1 sisyphus+414736.100.2.1 1775816403 installed <13>May 2 04:30:10 rpmi: python3-module-jose-3.5.0-alt2 sisyphus+397944.100.1.3 1761124046 installed <13>May 2 04:30:10 rpmi: python3-module-pytest-django-4.12.0-alt1 sisyphus+402615.300.16.1 1772179499 installed <13>May 2 04:30:10 rpmi: python3-module-freezegun-1.5.5-alt1.1 sisyphus+413484.700.1.2 1774825552 installed <13>May 2 04:30:10 rpmi: python3-module-jwt-2.12.1-alt1 sisyphus+411553.100.1.1 1773663455 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/python3-module-djangorestframework-simplejwt-5.5.1-alt1.nosrc.rpm (w1.gzdio) <13>May 2 04:30:13 rpmi: python3-module-pyproject-installer-0.5.6-alt1 sisyphus+399940.100.1.1 1763030788 installed Installing python3-module-djangorestframework-simplejwt-5.5.1-alt1.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.13083 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf djangorestframework-simplejwt-5.5.1 + echo 'Source #0 (djangorestframework-simplejwt-5.5.1.tar):' Source #0 (djangorestframework-simplejwt-5.5.1.tar): + /bin/tar -xf /usr/src/RPM/SOURCES/djangorestframework-simplejwt-5.5.1.tar + cd djangorestframework-simplejwt-5.5.1 + /bin/chmod -c -Rf u+rwX,go-w . + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.13083 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd djangorestframework-simplejwt-5.5.1 + export SETUPTOOLS_SCM_PRETEND_VERSION=5.5.1 + SETUPTOOLS_SCM_PRETEND_VERSION=5.5.1 + export 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'FFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + /usr/bin/python3 -m pyproject_installer -v build INFO : pyproject_installer.build_cmd._build : Building wheel INFO : pyproject_installer.build_cmd._build : Source tree: /usr/src/RPM/BUILD/djangorestframework-simplejwt-5.5.1 INFO : pyproject_installer.build_cmd._build : Output dir: /usr/src/RPM/BUILD/djangorestframework-simplejwt-5.5.1/dist DEBUG : pyproject_installer.lib.build_backend : Validating source path DEBUG : pyproject_installer.lib.build_backend : Checking for PEP517 spec INFO : pyproject_installer.lib.build_backend : pyproject.toml was not found, using defaults INFO : backend_caller.py : Calling hook build_wheel in subprocess INFO : backend_caller.py : Build backend: setuptools.build_meta:__legacy__ INFO : backend_caller.py : Hook args: ['/usr/src/RPM/BUILD/djangorestframework-simplejwt-5.5.1/dist'] INFO : backend_caller.py : Hook kwargs: {'config_settings': None} /usr/lib/python3/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() INFO : root : running bdist_wheel INFO : root : running build INFO : root : running build_py INFO : root : creating build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/views.py -> build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/utils.py -> build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/tokens.py -> build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/state.py -> build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/settings.py -> build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/serializers.py -> build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/models.py -> build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/exceptions.py -> build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/backends.py -> build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/authentication.py -> build/lib/rest_framework_simplejwt INFO : root : copying rest_framework_simplejwt/__init__.py -> build/lib/rest_framework_simplejwt INFO : root : creating build/lib/rest_framework_simplejwt/token_blacklist INFO : root : copying rest_framework_simplejwt/token_blacklist/models.py -> build/lib/rest_framework_simplejwt/token_blacklist INFO : root : copying rest_framework_simplejwt/token_blacklist/apps.py -> build/lib/rest_framework_simplejwt/token_blacklist INFO : root : copying rest_framework_simplejwt/token_blacklist/admin.py -> build/lib/rest_framework_simplejwt/token_blacklist INFO : root : copying rest_framework_simplejwt/token_blacklist/__init__.py -> build/lib/rest_framework_simplejwt/token_blacklist INFO : root : creating build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/__init__.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0013_alter_blacklistedtoken_options_and_more.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0012_alter_outstandingtoken_user.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0011_linearizes_history.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0010_fix_migrate_to_bigautofield.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0008_migrate_to_bigautofield.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0007_auto_20171017_2214.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0006_auto_20171017_2113.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0005_remove_outstandingtoken_jti.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0004_auto_20171017_2013.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0003_auto_20171017_2007.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0002_outstandingtoken_jti_hex.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying rest_framework_simplejwt/token_blacklist/migrations/0001_initial.py -> build/lib/rest_framework_simplejwt/token_blacklist/migrations INFO : root : creating build/lib/rest_framework_simplejwt/token_blacklist/management INFO : root : copying rest_framework_simplejwt/token_blacklist/management/__init__.py -> build/lib/rest_framework_simplejwt/token_blacklist/management INFO : root : creating build/lib/rest_framework_simplejwt/token_blacklist/management/commands INFO : root : copying rest_framework_simplejwt/token_blacklist/management/commands/flushexpiredtokens.py -> build/lib/rest_framework_simplejwt/token_blacklist/management/commands INFO : root : copying rest_framework_simplejwt/token_blacklist/management/commands/__init__.py -> build/lib/rest_framework_simplejwt/token_blacklist/management/commands INFO : root : running egg_info INFO : root : creating djangorestframework_simplejwt.egg-info INFO : root : writing djangorestframework_simplejwt.egg-info/PKG-INFO INFO : root : writing dependency_links to djangorestframework_simplejwt.egg-info/dependency_links.txt INFO : root : writing requirements to djangorestframework_simplejwt.egg-info/requires.txt INFO : root : writing top-level names to djangorestframework_simplejwt.egg-info/top_level.txt INFO : root : writing manifest file 'djangorestframework_simplejwt.egg-info/SOURCES.txt' /usr/lib/python3/site-packages/vcs_versioning/overrides.py:609: UserWarning: No GlobalOverrides context is active. Auto-creating one with SETUPTOOLS_SCM prefix for backwards compatibility. Consider using 'with GlobalOverrides.from_env("YOUR_TOOL"):' explicitly. return get_active_overrides().subprocess_timeout [05/02/26 04:30:14] ERROR listing git files failed - pretending _git.py:37 there aren't any INFO : root : reading manifest file 'djangorestframework_simplejwt.egg-info/SOURCES.txt' INFO : root : reading manifest template 'MANIFEST.in' WARNING : root : warning: no previously-included files matching '__pycache__' found under directory '*' WARNING : root : warning: no previously-included files matching '*.py[co]' found under directory '*' INFO : root : adding license file 'LICENSE.txt' INFO : root : writing manifest file 'djangorestframework_simplejwt.egg-info/SOURCES.txt' /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.ar.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.ar.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.ar.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.ar.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.ar.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.cs.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.cs.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.cs.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.cs.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.cs.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.de.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.de.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.de.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.de.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.de.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.es.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.es.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.es.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.es.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.es.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.es_AR.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.es_AR.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.es_AR.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.es_AR.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.es_AR.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.es_CL.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.es_CL.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.es_CL.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.es_CL.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.es_CL.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.fa.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.fa.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.fa.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.fa.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.fa.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.fa_IR.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.fa_IR.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.fa_IR.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.fa_IR.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.fa_IR.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.fr.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.fr.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.fr.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.fr.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.fr.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.he_IL.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.he_IL.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.he_IL.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.he_IL.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.he_IL.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.id_ID.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.id_ID.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.id_ID.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.id_ID.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.id_ID.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.it_IT.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.it_IT.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.it_IT.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.it_IT.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.it_IT.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.ko_KR.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.ko_KR.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.ko_KR.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.ko_KR.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.ko_KR.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.nl_NL.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.nl_NL.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.nl_NL.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.nl_NL.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.nl_NL.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.pl_PL.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.pl_PL.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.pl_PL.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.pl_PL.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.pl_PL.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.pt_BR.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.pt_BR.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.pt_BR.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.pt_BR.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.pt_BR.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.ro.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.ro.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.ro.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.ro.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.ro.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.ru_RU.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.ru_RU.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.ru_RU.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.ru_RU.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.ru_RU.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.sl.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.sl.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.sl.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.sl.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.sl.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.sv.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.sv.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.sv.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.sv.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.sv.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.tr.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.tr.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.tr.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.tr.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.tr.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.uk_UA.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.uk_UA.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.uk_UA.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.uk_UA.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.uk_UA.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'rest_framework_simplejwt.locale.zh_Hans.LC_MESSAGES' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'rest_framework_simplejwt.locale.zh_Hans.LC_MESSAGES' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'rest_framework_simplejwt.locale.zh_Hans.LC_MESSAGES' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'rest_framework_simplejwt.locale.zh_Hans.LC_MESSAGES' to be distributed and are already explicitly excluding 'rest_framework_simplejwt.locale.zh_Hans.LC_MESSAGES' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) INFO : root : copying rest_framework_simplejwt/py.typed -> build/lib/rest_framework_simplejwt INFO : root : creating build/lib/rest_framework_simplejwt/locale/ar/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/ar/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/ar/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/ar/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/ar/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/cs/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/cs/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/cs/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/cs/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/cs/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/de/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/de/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/de/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/de/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/de/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/es/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/es/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/es/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/es/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/es/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/es_AR/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/es_AR/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/es_AR/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/es_AR/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/es_AR/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/es_CL/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/es_CL/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/es_CL/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/es_CL/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/es_CL/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/fa/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/fa/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/fa/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/fa/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/fa/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/fr/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/fr/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/fr/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/fr/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/fr/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/he_IL/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/he_IL/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/he_IL/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/he_IL/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/he_IL/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/id_ID/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/id_ID/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/id_ID/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/id_ID/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/id_ID/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/it_IT/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/it_IT/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/it_IT/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/it_IT/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/it_IT/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/ro/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/ro/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/ro/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/ro/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/ro/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/sl/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/sl/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/sl/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/sl/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/sl/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/sv/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/sv/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/sv/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/sv/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/sv/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/tr/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/tr/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/tr/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/tr/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/tr/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES INFO : root : creating build/lib/rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES/django.mo -> build/lib/rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES INFO : root : copying rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES/django.po -> build/lib/rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES INFO : root : installing to build/bdist.linux-i686/wheel INFO : root : running install INFO : root : running install_lib INFO : root : creating build/bdist.linux-i686/wheel INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/zh_Hans INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/uk_UA INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/tr INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/tr/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/tr/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/tr/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/tr/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/tr/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/sv INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/sv/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/sv/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/sv/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/sv/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/sv/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/sl INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/sl/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/sl/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/sl/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/sl/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/sl/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/ru_RU INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/ro INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/ro/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/ro/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/ro/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/ro/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/ro/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/pt_BR INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/pl_PL INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/nl_NL INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/ko_KR INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/it_IT INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/it_IT/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/it_IT/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/it_IT/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/it_IT/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/it_IT/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/id_ID INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/id_ID/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/id_ID/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/id_ID/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/id_ID/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/id_ID/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/he_IL INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/he_IL/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/he_IL/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/he_IL/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/he_IL/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/he_IL/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/fr INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/fr/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/fr/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/fr/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/fr/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/fr/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/fa_IR INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/fa INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/fa/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/fa/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/fa/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/fa/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/fa/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/es_CL INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/es_CL/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/es_CL/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/es_CL/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/es_CL/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/es_CL/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/es_AR INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/es_AR/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/es_AR/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/es_AR/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/es_AR/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/es_AR/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/es INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/es/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/es/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/es/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/es/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/es/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/de INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/de/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/de/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/de/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/de/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/de/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/cs INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/cs/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/cs/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/cs/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/cs/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/cs/LC_MESSAGES INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/ar INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/locale/ar/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/ar/LC_MESSAGES/django.po -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/ar/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/locale/ar/LC_MESSAGES/django.mo -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/locale/ar/LC_MESSAGES INFO : root : copying build/lib/rest_framework_simplejwt/py.typed -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/token_blacklist INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/token_blacklist/management INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/token_blacklist/management/commands INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/management/commands/__init__.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/management/commands INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/management/commands/flushexpiredtokens.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/management/commands INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/management/__init__.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/management INFO : root : creating build/bdist.linux-i686/wheel/rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0001_initial.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0002_outstandingtoken_jti_hex.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0003_auto_20171017_2007.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0004_auto_20171017_2013.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0005_remove_outstandingtoken_jti.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0006_auto_20171017_2113.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0007_auto_20171017_2214.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0008_migrate_to_bigautofield.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0010_fix_migrate_to_bigautofield.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0011_linearizes_history.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0012_alter_outstandingtoken_user.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/0013_alter_blacklistedtoken_options_and_more.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/migrations/__init__.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist/migrations INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/__init__.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/admin.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/apps.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist INFO : root : copying build/lib/rest_framework_simplejwt/token_blacklist/models.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt/token_blacklist INFO : root : copying build/lib/rest_framework_simplejwt/__init__.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : copying build/lib/rest_framework_simplejwt/authentication.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : copying build/lib/rest_framework_simplejwt/backends.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : copying build/lib/rest_framework_simplejwt/exceptions.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : copying build/lib/rest_framework_simplejwt/models.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : copying build/lib/rest_framework_simplejwt/serializers.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : copying build/lib/rest_framework_simplejwt/settings.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : copying build/lib/rest_framework_simplejwt/state.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : copying build/lib/rest_framework_simplejwt/tokens.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : copying build/lib/rest_framework_simplejwt/utils.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : copying build/lib/rest_framework_simplejwt/views.py -> build/bdist.linux-i686/wheel/./rest_framework_simplejwt INFO : root : running install_egg_info INFO : root : Copying djangorestframework_simplejwt.egg-info to build/bdist.linux-i686/wheel/./djangorestframework_simplejwt-5.5.1-py3.13.egg-info INFO : root : running install_scripts INFO : root : creating build/bdist.linux-i686/wheel/djangorestframework_simplejwt-5.5.1.dist-info/WHEEL INFO : wheel : creating '/usr/src/RPM/BUILD/djangorestframework-simplejwt-5.5.1/dist/.tmp-pa58rqxd/djangorestframework_simplejwt-5.5.1-py3-none-any.whl' and adding 'build/bdist.linux-i686/wheel' to it INFO : wheel : adding 'djangorestframework_simplejwt-5.5.1.dist-info/licenses/LICENSE.txt' INFO : wheel : adding 'rest_framework_simplejwt/__init__.py' INFO : wheel : adding 'rest_framework_simplejwt/authentication.py' INFO : wheel : adding 'rest_framework_simplejwt/backends.py' INFO : wheel : adding 'rest_framework_simplejwt/exceptions.py' INFO : wheel : adding 'rest_framework_simplejwt/models.py' INFO : wheel : adding 'rest_framework_simplejwt/py.typed' INFO : wheel : adding 'rest_framework_simplejwt/serializers.py' INFO : wheel : adding 'rest_framework_simplejwt/settings.py' INFO : wheel : adding 'rest_framework_simplejwt/state.py' INFO : wheel : adding 'rest_framework_simplejwt/tokens.py' INFO : wheel : adding 'rest_framework_simplejwt/utils.py' INFO : wheel : adding 'rest_framework_simplejwt/views.py' INFO : wheel : adding 'rest_framework_simplejwt/locale/ar/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/ar/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/cs/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/cs/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/de/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/de/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/es/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/es/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/es_AR/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/es_AR/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/es_CL/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/es_CL/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/fa/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/fa/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/fa_IR/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/fr/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/fr/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/he_IL/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/he_IL/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/id_ID/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/id_ID/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/it_IT/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/it_IT/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/ko_KR/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/nl_NL/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/pl_PL/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/pt_BR/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/ro/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/ro/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/ru_RU/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/sl/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/sl/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/sv/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/sv/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/tr/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/tr/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/uk_UA/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES/django.mo' INFO : wheel : adding 'rest_framework_simplejwt/locale/zh_Hans/LC_MESSAGES/django.po' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/__init__.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/admin.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/apps.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/models.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/management/__init__.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/management/commands/__init__.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/management/commands/flushexpiredtokens.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0001_initial.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0002_outstandingtoken_jti_hex.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0003_auto_20171017_2007.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0004_auto_20171017_2013.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0005_remove_outstandingtoken_jti.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0006_auto_20171017_2113.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0007_auto_20171017_2214.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0008_migrate_to_bigautofield.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0010_fix_migrate_to_bigautofield.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0011_linearizes_history.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0012_alter_outstandingtoken_user.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/0013_alter_blacklistedtoken_options_and_more.py' INFO : wheel : adding 'rest_framework_simplejwt/token_blacklist/migrations/__init__.py' INFO : wheel : adding 'djangorestframework_simplejwt-5.5.1.dist-info/METADATA' INFO : wheel : adding 'djangorestframework_simplejwt-5.5.1.dist-info/WHEEL' INFO : wheel : adding 'djangorestframework_simplejwt-5.5.1.dist-info/top_level.txt' INFO : wheel : adding 'djangorestframework_simplejwt-5.5.1.dist-info/RECORD' INFO : root : removing build/bdist.linux-i686/wheel INFO : pyproject_installer.build_cmd._build : Built wheel: djangorestframework_simplejwt-5.5.1-py3-none-any.whl + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.137 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/usr/bin:/bin:/usr/local/bin:/usr/games + cd djangorestframework-simplejwt-5.5.1 + /usr/bin/python3 -m pyproject_installer -v install --destdir=/usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot INFO : pyproject_installer.install_cmd._install : Installing wheel INFO : pyproject_installer.install_cmd._install : Wheel directory: /usr/src/RPM/BUILD/djangorestframework-simplejwt-5.5.1/dist INFO : pyproject_installer.install_cmd._install : Wheel filename: djangorestframework_simplejwt-5.5.1-py3-none-any.whl INFO : pyproject_installer.install_cmd._install : Destination: /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot DEBUG : pyproject_installer.lib.wheel : Parsing wheel filename DEBUG : pyproject_installer.lib.wheel : Validating wheel file DEBUG : pyproject_installer.lib.wheel : Validating wheel spec version DEBUG : pyproject_installer.lib.wheel : Parsing wheel spec metadata DEBUG : pyproject_installer.lib.wheel : Validating RECORD INFO : pyproject_installer.install_cmd._install : Wheel installation root: /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages INFO : pyproject_installer.install_cmd._install : Extracting wheel DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: djangorestframework_simplejwt-5.5.1.dist-info/licenses/LICENSE.txt DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: djangorestframework_simplejwt-5.5.1.dist-info/WHEEL DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: djangorestframework_simplejwt-5.5.1.dist-info/top_level.txt DEBUG : pyproject_installer.install_cmd._install : Filtering out not allowed file: djangorestframework_simplejwt-5.5.1.dist-info/RECORD INFO : pyproject_installer.install_cmd._install : Wheel was installed + /usr/lib/rpm/find-lang python3-module-djangorestframework-simplejwt + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/ (default) Compressing files in /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot (auto) Adjusting library links in /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot ./usr/lib: (from :0) Verifying ELF objects in /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Splitting links to aliased files under /{,s}bin in /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot Bytecompiling python3 modules in /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot using /usr/bin/python3 compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/flushexpiredtokens.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0001_initial.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0002_outstandingtoken_jti_hex.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0003_auto_20171017_2007.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0004_auto_20171017_2013.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0005_remove_outstandingtoken_jti.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0006_auto_20171017_2113.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0007_auto_20171017_2214.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0008_migrate_to_bigautofield.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0010_fix_migrate_to_bigautofield.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0011_linearizes_history.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0012_alter_outstandingtoken_user.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0013_alter_blacklistedtoken_options_and_more.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/admin.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/apps.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/models.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/authentication.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/backends.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/exceptions.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/models.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/serializers.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/settings.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/state.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/tokens.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/utils.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/views.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/flushexpiredtokens.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0001_initial.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0002_outstandingtoken_jti_hex.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0003_auto_20171017_2007.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0004_auto_20171017_2013.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0005_remove_outstandingtoken_jti.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0006_auto_20171017_2113.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0007_auto_20171017_2214.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0008_migrate_to_bigautofield.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0010_fix_migrate_to_bigautofield.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0011_linearizes_history.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0012_alter_outstandingtoken_user.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0013_alter_blacklistedtoken_options_and_more.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/admin.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/apps.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/models.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/authentication.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/backends.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/exceptions.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/models.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/serializers.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/settings.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/state.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/tokens.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/utils.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/views.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/flushexpiredtokens.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0001_initial.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0002_outstandingtoken_jti_hex.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0003_auto_20171017_2007.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0004_auto_20171017_2013.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0005_remove_outstandingtoken_jti.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0006_auto_20171017_2113.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0007_auto_20171017_2214.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0008_migrate_to_bigautofield.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0010_fix_migrate_to_bigautofield.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0011_linearizes_history.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0012_alter_outstandingtoken_user.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/0013_alter_blacklistedtoken_options_and_more.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/admin.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/apps.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/models.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/__init__.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/authentication.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/backends.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/exceptions.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/models.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/serializers.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/settings.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/state.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/tokens.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/utils.py compile /usr/src/tmp/python3-module-djangorestframework-simplejwt-buildroot/usr/lib/python3/site-packages/rest_framework_simplejwt/views.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/__init__.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/__init__.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/__init__.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/__init__.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/authentication.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/authentication.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/backends.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/backends.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/exceptions.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/exceptions.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/models.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/models.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/serializers.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/serializers.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/serializers.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/serializers.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/settings.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/settings.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/settings.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/settings.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/state.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/state.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/state.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/state.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/tokens.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/tokens.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/utils.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/utils.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/views.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/__pycache__/views.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/__init__.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/__init__.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/__init__.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/__init__.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/admin.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/admin.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/admin.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/admin.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/apps.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/apps.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/apps.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/apps.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/models.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/models.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/models.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/__pycache__/models.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/__pycache__/__init__.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/__pycache__/__init__.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/__pycache__/__init__.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/__pycache__/__init__.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__pycache__/__init__.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__pycache__/__init__.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__pycache__/__init__.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__pycache__/__init__.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__pycache__/flushexpiredtokens.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__pycache__/flushexpiredtokens.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__pycache__/flushexpiredtokens.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/management/commands/__pycache__/flushexpiredtokens.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0001_initial.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0001_initial.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0001_initial.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0001_initial.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0002_outstandingtoken_jti_hex.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0002_outstandingtoken_jti_hex.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0002_outstandingtoken_jti_hex.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0002_outstandingtoken_jti_hex.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0003_auto_20171017_2007.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0003_auto_20171017_2007.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0003_auto_20171017_2007.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0003_auto_20171017_2007.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0004_auto_20171017_2013.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0004_auto_20171017_2013.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0004_auto_20171017_2013.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0004_auto_20171017_2013.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0005_remove_outstandingtoken_jti.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0005_remove_outstandingtoken_jti.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0005_remove_outstandingtoken_jti.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0005_remove_outstandingtoken_jti.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0006_auto_20171017_2113.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0006_auto_20171017_2113.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0006_auto_20171017_2113.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0006_auto_20171017_2113.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0007_auto_20171017_2214.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0007_auto_20171017_2214.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0007_auto_20171017_2214.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0007_auto_20171017_2214.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0008_migrate_to_bigautofield.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0008_migrate_to_bigautofield.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0008_migrate_to_bigautofield.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0008_migrate_to_bigautofield.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0010_fix_migrate_to_bigautofield.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0010_fix_migrate_to_bigautofield.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0010_fix_migrate_to_bigautofield.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0010_fix_migrate_to_bigautofield.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0011_linearizes_history.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0011_linearizes_history.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0011_linearizes_history.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0011_linearizes_history.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0012_alter_outstandingtoken_user.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0012_alter_outstandingtoken_user.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0012_alter_outstandingtoken_user.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0012_alter_outstandingtoken_user.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0013_alter_blacklistedtoken_options_and_more.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0013_alter_blacklistedtoken_options_and_more.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0013_alter_blacklistedtoken_options_and_more.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/0013_alter_blacklistedtoken_options_and_more.cpython-313.opt-1.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/__init__.cpython-313.opt-1.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/__init__.cpython-313.pyc' './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/__init__.cpython-313.opt-2.pyc' => './usr/lib/python3/site-packages/rest_framework_simplejwt/token_blacklist/migrations/__pycache__/__init__.cpython-313.opt-1.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.51838 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd djangorestframework-simplejwt-5.5.1 + export 'CFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'CXXFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export 'FFLAGS=-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -march=i586 -mtune=generic' + export NO_INTERNET=YES + NO_INTERNET=YES + /usr/bin/python3 -m pyproject_installer run -- python3 -m pytest INFO : Creating venv INFO : Installing console scripts INFO : Installing package: /usr/src/RPM/BUILD/djangorestframework-simplejwt-5.5.1/dist/djangorestframework_simplejwt-5.5.1-py3-none-any.whl INFO : Running command: ['/usr/src/RPM/BUILD/djangorestframework-simplejwt-5.5.1/.run_venv/bin/python3', '-m', 'pyproject_installer', 'install', '/usr/src/RPM/BUILD/djangorestframework-simplejwt-5.5.1/dist/djangorestframework_simplejwt-5.5.1-py3-none-any.whl'] INFO : Running command: ['python3', '-m', 'pytest'] ============================= test session starts ============================== platform linux -- Python 3.13.12, pytest-9.0.3, pluggy-1.6.0 -- /usr/src/RPM/BUILD/djangorestframework-simplejwt-5.5.1/.run_venv/bin/python3 cachedir: .pytest_cache django: version: 5.2.13 rootdir: /usr/src/RPM/BUILD/djangorestframework-simplejwt-5.5.1 configfile: pytest.ini plugins: django-4.12.0 collecting ... collected 184 items tests/test_authentication.py::TestJWTAuthentication::test_get_header PASSED [ 0%] tests/test_authentication.py::TestJWTAuthentication::test_get_header_x_access_token PASSED [ 1%] tests/test_authentication.py::TestJWTAuthentication::test_get_inactive_user PASSED [ 1%] tests/test_authentication.py::TestJWTAuthentication::test_get_raw_token PASSED [ 2%] tests/test_authentication.py::TestJWTAuthentication::test_get_raw_token_incorrect_header_keyword PASSED [ 2%] tests/test_authentication.py::TestJWTAuthentication::test_get_raw_token_multi_header_keyword PASSED [ 3%] tests/test_authentication.py::TestJWTAuthentication::test_get_user PASSED [ 3%] tests/test_authentication.py::TestJWTAuthentication::test_get_user_with_check_revoke_token PASSED [ 4%] tests/test_authentication.py::TestJWTAuthentication::test_get_user_with_str_user_id_claim PASSED [ 4%] tests/test_authentication.py::TestJWTAuthentication::test_get_validated_token PASSED [ 5%] tests/test_authentication.py::TestJWTAuthentication::test_get_validated_token_accept_known_token PASSED [ 5%] tests/test_authentication.py::TestJWTAuthentication::test_get_validated_token_reject_unknown_token PASSED [ 6%] tests/test_authentication.py::TestJWTStatelessUserAuthentication::test_custom_tokenuser PASSED [ 7%] tests/test_authentication.py::TestJWTStatelessUserAuthentication::test_get_user PASSED [ 7%] tests/test_backends.py::TestTokenBackend::test_custom_JSONEncoder PASSED [ 8%] tests/test_backends.py::TestTokenBackend::test_decode_aud_iss_success PASSED [ 8%] tests/test_backends.py::TestTokenBackend::test_decode_jwk_missing_key_raises_tokenbackenderror PASSED [ 9%] tests/test_backends.py::TestTokenBackend::test_decode_leeway_hmac_fail PASSED [ 9%] tests/test_backends.py::TestTokenBackend::test_decode_leeway_hmac_success PASSED [ 10%] tests/test_backends.py::TestTokenBackend::test_decode_rsa_aud_iss_jwk_success PASSED [ 10%] tests/test_backends.py::TestTokenBackend::test_decode_success tests/test_backends.py::TestTokenBackend::test_decode_success PASSED [ 11%] tests/test_backends.py::TestTokenBackend::test_decode_when_algorithm_not_available PASSED [ 11%] tests/test_backends.py::TestTokenBackend::test_decode_when_token_algorithm_does_not_match PASSED [ 12%] tests/test_backends.py::TestTokenBackend::test_decode_with_expiry tests/test_backends.py::TestTokenBackend::test_decode_with_expiry PASSED [ 13%] tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig PASSED [ 13%] tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig_no_verify tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig_no_verify PASSED [ 14%] tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry PASSED [ 14%] tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry_no_verify tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry_no_verify PASSED [ 15%] tests/test_backends.py::TestTokenBackend::test_encode_aud_iss PASSED [ 15%] tests/test_backends.py::TestTokenBackend::test_encode_hmac PASSED [ 16%] tests/test_backends.py::TestTokenBackend::test_encode_rsa PASSED [ 16%] tests/test_backends.py::TestTokenBackend::test_init PASSED [ 17%] tests/test_backends.py::TestTokenBackend::test_init_fails_for_rs_algorithms_when_crypto_not_installed PASSED [ 17%] tests/test_backends.py::TestTokenBackend::test_jwk_client_not_available PASSED [ 18%] tests/test_backends.py::TestTokenBackend::test_token_encode_should_return_str_for_old_PyJWT PASSED [ 19%] tests/test_integration.py::TestTestView::test_expired_token PASSED [ 19%] tests/test_integration.py::TestTestView::test_no_authorization PASSED [ 20%] tests/test_integration.py::TestTestView::test_user_can_get_access_and_refresh_tokens_and_use_them PASSED [ 20%] tests/test_integration.py::TestTestView::test_user_can_get_sliding_token_and_use_it PASSED [ 21%] tests/test_integration.py::TestTestView::test_wrong_auth_type PASSED [ 21%] tests/test_migrations.py::MigrationTestCase::test_no_missing_migrations PASSED [ 22%] tests/test_models.py::TestTokenUser::test_eq PASSED [ 22%] tests/test_models.py::TestTokenUser::test_eq_not_implemented PASSED [ 23%] tests/test_models.py::TestTokenUser::test_get_all_permissions PASSED [ 23%] tests/test_models.py::TestTokenUser::test_get_custom_claims_through_backup_getattr PASSED [ 24%] tests/test_models.py::TestTokenUser::test_get_group_permissions PASSED [ 25%] tests/test_models.py::TestTokenUser::test_get_username PASSED [ 25%] tests/test_models.py::TestTokenUser::test_groups PASSED [ 26%] tests/test_models.py::TestTokenUser::test_has_module_perms PASSED [ 26%] tests/test_models.py::TestTokenUser::test_has_perm PASSED [ 27%] tests/test_models.py::TestTokenUser::test_has_perms PASSED [ 27%] tests/test_models.py::TestTokenUser::test_hash PASSED [ 28%] tests/test_models.py::TestTokenUser::test_id PASSED [ 28%] tests/test_models.py::TestTokenUser::test_is_active PASSED [ 29%] tests/test_models.py::TestTokenUser::test_is_anonymous PASSED [ 29%] tests/test_models.py::TestTokenUser::test_is_authenticated PASSED [ 30%] tests/test_models.py::TestTokenUser::test_is_staff PASSED [ 30%] tests/test_models.py::TestTokenUser::test_is_superuser PASSED [ 31%] tests/test_models.py::TestTokenUser::test_not_implemented PASSED [ 32%] tests/test_models.py::TestTokenUser::test_pk PASSED [ 32%] tests/test_models.py::TestTokenUser::test_str PASSED [ 33%] tests/test_models.py::TestTokenUser::test_type_checking PASSED [ 33%] tests/test_models.py::TestTokenUser::test_user_permissions PASSED [ 34%] tests/test_models.py::TestTokenUser::test_username PASSED [ 34%] tests/test_serializers.py::TestTokenObtainSerializer::test_it_should_not_validate_if_any_fields_missing PASSED [ 35%] tests/test_serializers.py::TestTokenObtainSerializer::test_it_should_not_validate_if_user_not_found PASSED [ 35%] tests/test_serializers.py::TestTokenObtainSerializer::test_it_should_pass_validate_if_request_not_in_context PASSED [ 36%] tests/test_serializers.py::TestTokenObtainSerializer::test_it_should_raise_if_user_not_active PASSED [ 36%] tests/test_serializers.py::TestTokenObtainSerializer::test_it_should_validate_if_user_inactive_but_rule_allows PASSED [ 37%] tests/test_serializers.py::TestTokenObtainSlidingSerializer::test_it_should_produce_a_json_web_token_when_valid PASSED [ 38%] tests/test_serializers.py::TestTokenObtainPairSerializer::test_it_should_produce_a_json_web_token_when_valid PASSED [ 38%] tests/test_serializers.py::TestTokenRefreshSlidingSerializer::test_it_should_not_validate_if_token_invalid PASSED [ 39%] tests/test_serializers.py::TestTokenRefreshSlidingSerializer::test_it_should_raise_token_error_if_token_has_no_refresh_exp_claim PASSED [ 39%] tests/test_serializers.py::TestTokenRefreshSlidingSerializer::test_it_should_raise_token_error_if_token_has_refresh_period_expired PASSED [ 40%] tests/test_serializers.py::TestTokenRefreshSlidingSerializer::test_it_should_raise_token_error_if_token_has_wrong_type PASSED [ 40%] tests/test_serializers.py::TestTokenRefreshSlidingSerializer::test_it_should_update_token_exp_claim_if_everything_ok PASSED [ 41%] tests/test_serializers.py::TestTokenRefreshSerializer::test_blacklist_app_not_installed_should_pass PASSED [ 41%] tests/test_serializers.py::TestTokenRefreshSerializer::test_it_should_blacklist_refresh_token_if_tokens_should_be_rotated_and_blacklisted PASSED [ 42%] tests/test_serializers.py::TestTokenRefreshSerializer::test_it_should_raise_error_for_deleted_users PASSED [ 42%] tests/test_serializers.py::TestTokenRefreshSerializer::test_it_should_raise_error_for_inactive_users PASSED [ 43%] tests/test_serializers.py::TestTokenRefreshSerializer::test_it_should_raise_token_error_if_token_has_wrong_type PASSED [ 44%] tests/test_serializers.py::TestTokenRefreshSerializer::test_it_should_raise_token_error_if_token_invalid PASSED [ 44%] tests/test_serializers.py::TestTokenRefreshSerializer::test_it_should_return_access_token_for_active_users PASSED [ 45%] tests/test_serializers.py::TestTokenRefreshSerializer::test_it_should_return_access_token_if_everything_ok PASSED [ 45%] tests/test_serializers.py::TestTokenRefreshSerializer::test_it_should_return_refresh_token_if_tokens_should_be_rotated PASSED [ 46%] tests/test_serializers.py::TestTokenVerifySerializer::test_it_should_not_raise_token_error_if_token_has_wrong_type PASSED [ 46%] tests/test_serializers.py::TestTokenVerifySerializer::test_it_should_raise_token_error_if_token_invalid PASSED [ 47%] tests/test_serializers.py::TestTokenVerifySerializer::test_it_should_return_given_token_if_everything_ok PASSED [ 47%] tests/test_serializers.py::TestTokenBlacklistSerializer::test_blacklist_app_not_installed_should_pass PASSED [ 48%] tests/test_serializers.py::TestTokenBlacklistSerializer::test_it_should_blacklist_refresh_token_if_everything_ok PASSED [ 48%] tests/test_serializers.py::TestTokenBlacklistSerializer::test_it_should_raise_token_error_if_token_has_wrong_type PASSED [ 49%] tests/test_serializers.py::TestTokenBlacklistSerializer::test_it_should_raise_token_error_if_token_invalid PASSED [ 50%] tests/test_serializers.py::TestTokenBlacklistSerializer::test_it_should_return_nothing_if_everything_ok PASSED [ 50%] tests/test_token_blacklist.py::TestTokenBlacklist::test_access_tokens_are_not_added_to_outstanding_list PASSED [ 51%] tests/test_token_blacklist.py::TestTokenBlacklist::test_outstanding_token_and_blacklisted_token_created_at PASSED [ 51%] tests/test_token_blacklist.py::TestTokenBlacklist::test_outstanding_token_and_blacklisted_token_created_at_with_modified_user_id_field PASSED [ 52%] tests/test_token_blacklist.py::TestTokenBlacklist::test_outstanding_token_and_blacklisted_token_expected_str PASSED [ 52%] tests/test_token_blacklist.py::TestTokenBlacklist::test_outstanding_token_and_blacklisted_token_user PASSED [ 53%] tests/test_token_blacklist.py::TestTokenBlacklist::test_outstanding_token_and_blacklisted_token_user_with_modifed_user_id_field PASSED [ 53%] tests/test_token_blacklist.py::TestTokenBlacklist::test_outstanding_token_with_deleted_user_and_modifed_user_id_field PASSED [ 54%] tests/test_token_blacklist.py::TestTokenBlacklist::test_refresh_tokens_are_added_to_outstanding_list PASSED [ 54%] tests/test_token_blacklist.py::TestTokenBlacklist::test_sliding_tokens_are_added_to_outstanding_list PASSED [ 55%] tests/test_token_blacklist.py::TestTokenBlacklist::test_token_blacklist_old_django PASSED [ 55%] tests/test_token_blacklist.py::TestTokenBlacklist::test_token_will_not_validate_if_blacklisted PASSED [ 56%] tests/test_token_blacklist.py::TestTokenBlacklist::test_tokens_can_be_manually_blacklisted PASSED [ 57%] tests/test_token_blacklist.py::TestTokenBlacklistFlushExpiredTokens::test_it_should_delete_any_expired_tokens PASSED [ 57%] tests/test_token_blacklist.py::TestTokenBlacklistFlushExpiredTokens::test_token_blacklist_will_not_be_removed_on_User_delete PASSED [ 58%] tests/test_tokens.py::TestToken::test_check_exp PASSED [ 58%] tests/test_tokens.py::TestToken::test_check_token_if_wrong_type_leeway PASSED [ 59%] tests/test_tokens.py::TestToken::test_check_token_not_expired_if_in_leeway PASSED [ 59%] tests/test_tokens.py::TestToken::test_contains PASSED [ 60%] tests/test_tokens.py::TestToken::test_delitem PASSED [ 60%] tests/test_tokens.py::TestToken::test_for_user PASSED [ 61%] tests/test_tokens.py::TestToken::test_for_user_with_username PASSED [ 61%] tests/test_tokens.py::TestToken::test_get PASSED [ 62%] tests/test_tokens.py::TestToken::test_get_token_backend PASSED [ 63%] tests/test_tokens.py::TestToken::test_getitem PASSED [ 63%] tests/test_tokens.py::TestToken::test_init_bad_sig_token_given PASSED [ 64%] tests/test_tokens.py::TestToken::test_init_bad_sig_token_given_no_verify PASSED [ 64%] tests/test_tokens.py::TestToken::test_init_expired_token_given PASSED [ 65%] tests/test_tokens.py::TestToken::test_init_no_jti_token_given PASSED [ 65%] tests/test_tokens.py::TestToken::test_init_no_token_given PASSED [ 66%] tests/test_tokens.py::TestToken::test_init_no_token_type_or_lifetime PASSED [ 66%] tests/test_tokens.py::TestToken::test_init_no_type_token_given PASSED [ 67%] tests/test_tokens.py::TestToken::test_init_token_given PASSED [ 67%] tests/test_tokens.py::TestToken::test_init_wrong_type_token_given PASSED [ 68%] tests/test_tokens.py::TestToken::test_optional_jti PASSED [ 69%] tests/test_tokens.py::TestToken::test_optional_type_token PASSED [ 69%] tests/test_tokens.py::TestToken::test_repr PASSED [ 70%] tests/test_tokens.py::TestToken::test_revoke_token_claim_included_in_authorization_token PASSED [ 70%] tests/test_tokens.py::TestToken::test_set_exp PASSED [ 71%] tests/test_tokens.py::TestToken::test_set_iat PASSED [ 71%] tests/test_tokens.py::TestToken::test_set_jti PASSED [ 72%] tests/test_tokens.py::TestToken::test_setitem PASSED [ 72%] tests/test_tokens.py::TestToken::test_str PASSED [ 73%] tests/test_tokens.py::TestToken::test_token_user_id_claim_should_always_be_string PASSED [ 73%] tests/test_tokens.py::TestToken::test_type_checking PASSED [ 74%] tests/test_tokens.py::TestSlidingToken::test_init PASSED [ 75%] tests/test_tokens.py::TestAccessToken::test_init PASSED [ 75%] tests/test_tokens.py::TestRefreshToken::test_access_token PASSED [ 76%] tests/test_tokens.py::TestRefreshToken::test_init PASSED [ 76%] tests/test_tokens.py::TestUntypedToken::test_it_should_accept_and_verify_any_type_of_token PASSED [ 77%] tests/test_tokens.py::TestUntypedToken::test_it_should_expire_immediately_if_made_from_scratch PASSED [ 77%] tests/test_utils.py::TestMakeUtc::test_it_should_return_the_correct_values PASSED [ 78%] tests/test_utils.py::TestAwareUtcnow::test_it_should_return_the_correct_value PASSED [ 78%] tests/test_utils.py::TestDatetimeToEpoch::test_it_should_return_the_correct_values PASSED [ 79%] tests/test_utils.py::TestDatetimeFromEpoch::test_it_should_return_the_correct_values PASSED [ 79%] tests/test_utils.py::TestFormatLazy::test_it_should_work PASSED [ 80%] tests/test_views.py::TestTokenObtainPairView::test_credentials_wrong PASSED [ 80%] tests/test_views.py::TestTokenObtainPairView::test_fields_missing PASSED [ 81%] tests/test_views.py::TestTokenObtainPairView::test_success PASSED [ 82%] tests/test_views.py::TestTokenObtainPairView::test_update_last_login PASSED [ 82%] tests/test_views.py::TestTokenObtainPairView::test_update_last_login_updated PASSED [ 83%] tests/test_views.py::TestTokenObtainPairView::test_user_inactive PASSED [ 83%] tests/test_views.py::TestTokenRefreshView::test_fields_missing PASSED [ 84%] tests/test_views.py::TestTokenRefreshView::test_it_should_return_401_if_token_invalid PASSED [ 84%] tests/test_views.py::TestTokenRefreshView::test_it_should_return_access_token_if_everything_ok PASSED [ 85%] tests/test_views.py::TestTokenObtainSlidingView::test_credentials_wrong PASSED [ 85%] tests/test_views.py::TestTokenObtainSlidingView::test_fields_missing PASSED [ 86%] tests/test_views.py::TestTokenObtainSlidingView::test_success PASSED [ 86%] tests/test_views.py::TestTokenObtainSlidingView::test_update_last_login PASSED [ 87%] tests/test_views.py::TestTokenObtainSlidingView::test_update_last_login_updated PASSED [ 88%] tests/test_views.py::TestTokenObtainSlidingView::test_user_inactive PASSED [ 88%] tests/test_views.py::TestTokenRefreshSlidingView::test_fields_missing PASSED [ 89%] tests/test_views.py::TestTokenRefreshSlidingView::test_it_should_return_401_if_token_has_no_refresh_exp_claim PASSED [ 89%] tests/test_views.py::TestTokenRefreshSlidingView::test_it_should_return_401_if_token_has_refresh_period_expired PASSED [ 90%] tests/test_views.py::TestTokenRefreshSlidingView::test_it_should_return_401_if_token_invalid PASSED [ 90%] tests/test_views.py::TestTokenRefreshSlidingView::test_it_should_update_token_exp_claim_if_everything_ok PASSED [ 91%] tests/test_views.py::TestTokenVerifyView::test_fields_missing PASSED [ 91%] tests/test_views.py::TestTokenVerifyView::test_it_should_ignore_token_type PASSED [ 92%] tests/test_views.py::TestTokenVerifyView::test_it_should_return_200_if_everything_okay PASSED [ 92%] tests/test_views.py::TestTokenVerifyView::test_it_should_return_401_if_token_invalid PASSED [ 93%] tests/test_views.py::TestTokenBlacklistView::test_fields_missing PASSED [ 94%] tests/test_views.py::TestTokenBlacklistView::test_it_should_return_401_if_token_invalid PASSED [ 94%] tests/test_views.py::TestTokenBlacklistView::test_it_should_return_401_if_token_is_blacklisted PASSED [ 95%] tests/test_views.py::TestTokenBlacklistView::test_it_should_return_if_everything_ok PASSED [ 95%] tests/test_views.py::TestCustomTokenView::test_custom_view_class PASSED [ 96%] tests/test_views.py::TestTokenViewBase::test_serializer_class_not_set_in_settings_and_class_attribute_or_wrong_path PASSED [ 96%] tests/test_token_blacklist.py::TestPopulateJtiHexMigration::test_jti_field_should_contain_uuid_hex_strings PASSED [ 97%] tests/test_token_blacklist.py::TokenVerifySerializerShouldHonourBlacklist::test_token_verify_serializer_should_honour_blacklist_if_blacklisting_enabled PASSED [ 97%] tests/test_token_blacklist.py::TokenVerifySerializerShouldHonourBlacklist::test_token_verify_serializer_should_not_honour_blacklist_if_blacklisting_not_enabled PASSED [ 98%] tests/test_token_blacklist.py::TestBigAutoFieldIDMigration::test_blacklistedtoken_id_field_is_biagauto_field PASSED [ 98%] tests/test_token_blacklist.py::TestBigAutoFieldIDMigration::test_outstandingtoken_id_field_is_biagauto_field PASSED [ 99%] tests/test_init.py::TestInit::test_package_is_not_installed PASSED [100%] =================================== FAILURES =================================== _ TestTokenBackend.test_decode_success [Test decode success for f{backend.algorithm}] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_success(self): self.payload["exp"] = aware_utcnow() + timedelta(days=1) self.payload["foo"] = "baz" for backend in self.backends: with self.subTest("Test decode success for f{backend.algorithm}"): > token = jwt.encode( self.payload, backend.signing_key, algorithm=backend.algorithm ) backend = payload = {'exp': 1777782624, 'foo': 'baz'} self = token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2MjR9.QKl-GMQEEIW-fqz_sk2WfWPcTUHyuaEoiJbvbNIOZJ61GLlIQv3WV-lEebJXy-Irt6adLrXM31WgnWtdqSmAmg' tests/test_backends.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES384' headers = None json_encoder = None json_payload = b'{"foo":"baz","exp":1777782624}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'exp': 1777782624, 'foo': 'baz'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES384' algorithm_ = 'ES384' header = {'alg': 'ES384', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES384","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2MjR9' payload = b'{"foo":"baz","exp":1777782624}' segments = [b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2MjR9'] self = signing_input = b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2MjR9' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp384r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_success [Test decode success for f{backend.algorithm}] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_success(self): self.payload["exp"] = aware_utcnow() + timedelta(days=1) self.payload["foo"] = "baz" for backend in self.backends: with self.subTest("Test decode success for f{backend.algorithm}"): > token = jwt.encode( self.payload, backend.signing_key, algorithm=backend.algorithm ) backend = payload = {'exp': 1777782624, 'foo': 'baz'} self = token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2MjR9.QKl-GMQEEIW-fqz_sk2WfWPcTUHyuaEoiJbvbNIOZJ61GLlIQv3WV-lEebJXy-Irt6adLrXM31WgnWtdqSmAmg' tests/test_backends.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES512' headers = None json_encoder = None json_payload = b'{"foo":"baz","exp":1777782624}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'exp': 1777782624, 'foo': 'baz'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES512' algorithm_ = 'ES512' header = {'alg': 'ES512', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES512","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2MjR9' payload = b'{"foo":"baz","exp":1777782624}' segments = [b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2MjR9'] self = signing_input = b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2MjR9' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp521r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_with_expiry [Test decode with expiry for f{backend.algorithm}] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_with_expiry(self): self.payload["exp"] = aware_utcnow() - timedelta(seconds=1) for backend in self.backends: with self.subTest("Test decode with expiry for f{backend.algorithm}"): > expired_token = jwt.encode( self.payload, backend.signing_key, algorithm=backend.algorithm ) backend = expired_token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc2OTYyMjV9.Zq9Nqbm5Ygyqd1yauKg7Fs1ELlIGnbsZa1U1X77wEP1gTdR253o9o8mrezpn8iUgYstjKWkgeyGTixEguOd_Qg' self = tests/test_backends.py:192: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES384' headers = None json_encoder = None json_payload = b'{"foo":"bar","exp":1777696225}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'exp': 1777696225, 'foo': 'bar'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES384' algorithm_ = 'ES384' header = {'alg': 'ES384', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES384","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc2OTYyMjV9' payload = b'{"foo":"bar","exp":1777696225}' segments = [b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc2OTYyMjV9'] self = signing_input = b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc2OTYyMjV9' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp384r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_with_expiry [Test decode with expiry for f{backend.algorithm}] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_with_expiry(self): self.payload["exp"] = aware_utcnow() - timedelta(seconds=1) for backend in self.backends: with self.subTest("Test decode with expiry for f{backend.algorithm}"): > expired_token = jwt.encode( self.payload, backend.signing_key, algorithm=backend.algorithm ) backend = expired_token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc2OTYyMjV9.Zq9Nqbm5Ygyqd1yauKg7Fs1ELlIGnbsZa1U1X77wEP1gTdR253o9o8mrezpn8iUgYstjKWkgeyGTixEguOd_Qg' self = tests/test_backends.py:192: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES512' headers = None json_encoder = None json_payload = b'{"foo":"bar","exp":1777696225}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'exp': 1777696225, 'foo': 'bar'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES512' algorithm_ = 'ES512' header = {'alg': 'ES512', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES512","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc2OTYyMjV9' payload = b'{"foo":"bar","exp":1777696225}' segments = [b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc2OTYyMjV9'] self = signing_input = b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc2OTYyMjV9' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp521r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_with_invalid_sig [Test decode with invalid sig for ES384] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_with_invalid_sig(self): self.payload["exp"] = aware_utcnow() - timedelta(seconds=1) for backend in self.backends: with self.subTest(f"Test decode with invalid sig for {backend.algorithm}"): payload = self.payload.copy() payload["exp"] = aware_utcnow() + timedelta(days=1) > token_1 = jwt.encode( payload, backend.signing_key, algorithm=backend.algorithm ) backend = invalid_token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9.cbCVx7aeTDCnWbNGUfx1wN-noCAV67awA0FR3eSCSzPh5z_u53GmznIzgHlxiPwhHtGy37ltGXH70bTqgWSEuQ' payload = {'exp': datetime.datetime(2026, 5, 3, 4, 30, 27, 842685, tzinfo=datetime.timezone.utc), 'foo': 'bar'} self = token_1 = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9.cbCVx7aeTDCnWbNGUfx1wN-noCAV67awA0FR3eSCSzPh5z_u53GmznIzgHlxiPwhHtGy37ltGXH70bTqgWSEuQ' token_1_sig = 'cbCVx7aeTDCnWbNGUfx1wN-noCAV67awA0FR3eSCSzPh5z_u53GmznIzgHlxiPwhHtGy37ltGXH70bTqgWSEuQ' token_2 = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9.lRInXSpek5D9AHz9Qfgyr6nv4Wf2831TBl6gnMAVlqLULNzdQwN2sM87VIIJZc_wkDWH0O_HVaomLffgNPJHdw' token_2_payload = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9' tests/test_backends.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES384' headers = None json_encoder = None json_payload = b'{"foo":"bar","exp":1777782627}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'exp': 1777782627, 'foo': 'bar'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES384' algorithm_ = 'ES384' header = {'alg': 'ES384', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES384","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9' payload = b'{"foo":"bar","exp":1777782627}' segments = [b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9'] self = signing_input = b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp384r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_with_invalid_sig [Test decode with invalid sig for ES512] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_with_invalid_sig(self): self.payload["exp"] = aware_utcnow() - timedelta(seconds=1) for backend in self.backends: with self.subTest(f"Test decode with invalid sig for {backend.algorithm}"): payload = self.payload.copy() payload["exp"] = aware_utcnow() + timedelta(days=1) > token_1 = jwt.encode( payload, backend.signing_key, algorithm=backend.algorithm ) backend = invalid_token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9.cbCVx7aeTDCnWbNGUfx1wN-noCAV67awA0FR3eSCSzPh5z_u53GmznIzgHlxiPwhHtGy37ltGXH70bTqgWSEuQ' payload = {'exp': datetime.datetime(2026, 5, 3, 4, 30, 27, 901753, tzinfo=datetime.timezone.utc), 'foo': 'bar'} self = token_1 = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9.cbCVx7aeTDCnWbNGUfx1wN-noCAV67awA0FR3eSCSzPh5z_u53GmznIzgHlxiPwhHtGy37ltGXH70bTqgWSEuQ' token_1_sig = 'cbCVx7aeTDCnWbNGUfx1wN-noCAV67awA0FR3eSCSzPh5z_u53GmznIzgHlxiPwhHtGy37ltGXH70bTqgWSEuQ' token_2 = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9.lRInXSpek5D9AHz9Qfgyr6nv4Wf2831TBl6gnMAVlqLULNzdQwN2sM87VIIJZc_wkDWH0O_HVaomLffgNPJHdw' token_2_payload = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9' tests/test_backends.py:205: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES512' headers = None json_encoder = None json_payload = b'{"foo":"bar","exp":1777782627}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'exp': 1777782627, 'foo': 'bar'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES512' algorithm_ = 'ES512' header = {'alg': 'ES512', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES512","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9' payload = b'{"foo":"bar","exp":1777782627}' segments = [b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9'] self = signing_input = b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp521r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_with_invalid_sig_no_verify [Test decode with invalid sig for f{backend.algorithm}] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_with_invalid_sig_no_verify(self): self.payload["exp"] = aware_utcnow() + timedelta(days=1) for backend in self.backends: with self.subTest("Test decode with invalid sig for f{backend.algorithm}"): payload = self.payload.copy() > token_1 = jwt.encode( payload, backend.signing_key, algorithm=backend.algorithm ) backend = invalid_token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9.wha_XXQcsEK18NgVCtXociSEc1hTSRZDdbuqgd2q60pO18Wzo2Zo51i9DrMkGzOkLqwkfsQa3uYjNEeXMycUcg' payload = {'exp': datetime.datetime(2026, 5, 3, 4, 30, 27, 961217, tzinfo=datetime.timezone.utc), 'foo': 'bar'} self = token_1 = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9.wha_XXQcsEK18NgVCtXociSEc1hTSRZDdbuqgd2q60pO18Wzo2Zo51i9DrMkGzOkLqwkfsQa3uYjNEeXMycUcg' token_1_sig = 'wha_XXQcsEK18NgVCtXociSEc1hTSRZDdbuqgd2q60pO18Wzo2Zo51i9DrMkGzOkLqwkfsQa3uYjNEeXMycUcg' token_2 = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9.XNF9CGQC3n74D3jeMC4kK3dzwvtnBJ1VGn2mOIXlnogTSZK0McMEncCvvmgm1ZEnkgNTJ1zmHjphVgooy4UleQ' token_2_payload = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9' tests/test_backends.py:229: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES384' headers = None json_encoder = None json_payload = b'{"foo":"bar","exp":1777782627}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'exp': 1777782627, 'foo': 'bar'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES384' algorithm_ = 'ES384' header = {'alg': 'ES384', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES384","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9' payload = b'{"foo":"bar","exp":1777782627}' segments = [b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9'] self = signing_input = b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp384r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_with_invalid_sig_no_verify [Test decode with invalid sig for f{backend.algorithm}] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_with_invalid_sig_no_verify(self): self.payload["exp"] = aware_utcnow() + timedelta(days=1) for backend in self.backends: with self.subTest("Test decode with invalid sig for f{backend.algorithm}"): payload = self.payload.copy() > token_1 = jwt.encode( payload, backend.signing_key, algorithm=backend.algorithm ) backend = invalid_token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9.wha_XXQcsEK18NgVCtXociSEc1hTSRZDdbuqgd2q60pO18Wzo2Zo51i9DrMkGzOkLqwkfsQa3uYjNEeXMycUcg' payload = {'exp': datetime.datetime(2026, 5, 3, 4, 30, 27, 961217, tzinfo=datetime.timezone.utc), 'foo': 'bar'} self = token_1 = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9.wha_XXQcsEK18NgVCtXociSEc1hTSRZDdbuqgd2q60pO18Wzo2Zo51i9DrMkGzOkLqwkfsQa3uYjNEeXMycUcg' token_1_sig = 'wha_XXQcsEK18NgVCtXociSEc1hTSRZDdbuqgd2q60pO18Wzo2Zo51i9DrMkGzOkLqwkfsQa3uYjNEeXMycUcg' token_2 = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9.XNF9CGQC3n74D3jeMC4kK3dzwvtnBJ1VGn2mOIXlnogTSZK0McMEncCvvmgm1ZEnkgNTJ1zmHjphVgooy4UleQ' token_2_payload = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXoiLCJleHAiOjE3Nzc3ODI2Mjd9' tests/test_backends.py:229: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES512' headers = None json_encoder = None json_payload = b'{"foo":"bar","exp":1777782627}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'exp': 1777782627, 'foo': 'bar'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES512' algorithm_ = 'ES512' header = {'alg': 'ES512', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES512","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9' payload = b'{"foo":"bar","exp":1777782627}' segments = [b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9'] self = signing_input = b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIiLCJleHAiOjE3Nzc3ODI2Mjd9' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp521r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_with_no_expiry [Test decode with no expiry for f{backend.algorithm}] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_with_no_expiry(self): for backend in self.backends: with self.subTest("Test decode with no expiry for f{backend.algorithm}"): > no_exp_token = jwt.encode( self.payload, backend.signing_key, algorithm=backend.algorithm ) backend = no_exp_token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIifQ.JtL4BBCLnQzEdKBzhremRU3p4ibWUxKjSVIHDs0_3TEpiofYC3oUT9TjDLeSmuLdm0dHs_8bzt6d7I8ROqxFTQ' self = tests/test_backends.py:168: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES384' headers = None json_encoder = None json_payload = b'{"foo":"bar"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'foo': 'bar'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES384' algorithm_ = 'ES384' header = {'alg': 'ES384', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES384","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXIifQ' payload = b'{"foo":"bar"}' segments = [b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXIifQ'] self = signing_input = b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIifQ' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp384r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_with_no_expiry [Test decode with no expiry for f{backend.algorithm}] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_with_no_expiry(self): for backend in self.backends: with self.subTest("Test decode with no expiry for f{backend.algorithm}"): > no_exp_token = jwt.encode( self.payload, backend.signing_key, algorithm=backend.algorithm ) backend = no_exp_token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIifQ.JtL4BBCLnQzEdKBzhremRU3p4ibWUxKjSVIHDs0_3TEpiofYC3oUT9TjDLeSmuLdm0dHs_8bzt6d7I8ROqxFTQ' self = tests/test_backends.py:168: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES512' headers = None json_encoder = None json_payload = b'{"foo":"bar"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'foo': 'bar'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES512' algorithm_ = 'ES512' header = {'alg': 'ES512', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES512","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXIifQ' payload = b'{"foo":"bar"}' segments = [b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXIifQ'] self = signing_input = b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIifQ' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp521r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_with_no_expiry_no_verify [Test decode with no expiry and no verify for f{backend.algorithm}] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_with_no_expiry_no_verify(self): for backend in self.backends: with self.subTest( "Test decode with no expiry and no verify for f{backend.algorithm}" ): > no_exp_token = jwt.encode( self.payload, backend.signing_key, algorithm=backend.algorithm ) backend = no_exp_token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIifQ.JD0B7WMHREZsDSOoZsILYWv2dG8g3HauBEwwsrLC-z4b_UAWYj5dTaCSmmovLwoJK64i4laButl47Kef1b580Q' self = tests/test_backends.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES384' headers = None json_encoder = None json_payload = b'{"foo":"bar"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'foo': 'bar'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES384' algorithm_ = 'ES384' header = {'alg': 'ES384', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES384","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXIifQ' payload = b'{"foo":"bar"}' segments = [b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXIifQ'] self = signing_input = b'eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIifQ' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp384r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError _ TestTokenBackend.test_decode_with_no_expiry_no_verify [Test decode with no expiry and no verify for f{backend.algorithm}] _ self = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' def prepare_key(self, key: AllowedECKeys | str | bytes) -> AllowedECKeys: if isinstance(key, self._crypto_key_types): ec_key = cast(AllowedECKeys, key) self._validate_curve(ec_key) return ec_key if not isinstance(key, (bytes, str)): raise TypeError("Expecting a PEM-formatted key.") key_bytes = force_bytes(key) # Attempt to load key. We don't know if it's # a Signing Key or a Verifying Key, so we try # the Verifying Key first. try: if key_bytes.startswith(b"ecdsa-sha2-"): public_key: PublicKeyTypes = load_ssh_public_key(key_bytes) else: > public_key = load_pem_public_key(key_bytes) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ E ValueError: Valid PEM but no BEGIN PUBLIC KEY/END PUBLIC KEY delimiters. Are you sure this is a public key? ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:633: ValueError During handling of the above exception, another exception occurred: self = def test_decode_with_no_expiry_no_verify(self): for backend in self.backends: with self.subTest( "Test decode with no expiry and no verify for f{backend.algorithm}" ): > no_exp_token = jwt.encode( self.payload, backend.signing_key, algorithm=backend.algorithm ) backend = no_exp_token = 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIifQ.JD0B7WMHREZsDSOoZsILYWv2dG8g3HauBEwwsrLC-z4b_UAWYj5dTaCSmmovLwoJK64i4laButl47Kef1b580Q' self = tests/test_backends.py:179: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/site-packages/jwt/api_jwt.py:147: in encode return self._jws.encode( algorithm = 'ES512' headers = None json_encoder = None json_payload = b'{"foo":"bar"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' payload = {'foo': 'bar'} self = sort_headers = True time_claim = 'nbf' /usr/lib/python3/site-packages/jwt/api_jws.py:190: in encode key = alg_obj.prepare_key(key) ^^^^^^^^^^^^^^^^^^^^^^^^ alg_obj = algorithm = 'ES512' algorithm_ = 'ES512' header = {'alg': 'ES512', 'typ': 'JWT'} headers = None is_payload_detached = False json_encoder = None json_header = b'{"alg":"ES512","typ":"JWT"}' key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' msg_payload = b'eyJmb28iOiJiYXIifQ' payload = b'{"foo":"bar"}' segments = [b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9', b'eyJmb28iOiJiYXIifQ'] self = signing_input = b'eyJhbGciOiJFUzUxMiIsInR5cCI6IkpXVCJ9.eyJmb28iOiJiYXIifQ' sort_headers = True /usr/lib/python3/site-packages/jwt/algorithms.py:644: in prepare_key self._validate_curve(ec_private_key) ec_private_key = key = '\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' key_bytes = b'\n-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIMtBPxiLHcJCrAGdz4jHvTtAh6Rw7351AckG3whXq2WOoAoGCCqGSM49\nAwEHoUQDQgAEMZHyNxbkr7+zqQ1dQk/zug2pwYdztmjhpC+XqK88q5NfIS1cBYYt\nzhHUS4vGpazNqbW8HA3ZIvJRmx4L96O6/w==\n-----END EC PRIVATE KEY-----\n' private_key = self = _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = key = def _validate_curve(self, key: AllowedECKeys) -> None: """Validate that the key's curve matches the expected curve.""" if self.expected_curve is None: return if not isinstance(key.curve, self.expected_curve): > raise InvalidKeyError( f"The key's curve '{key.curve.name}' does not match the expected " f"curve '{self.expected_curve.name}' for this algorithm" ) E jwt.exceptions.InvalidKeyError: The key's curve 'secp256r1' does not match the expected curve 'secp521r1' for this algorithm key = self = /usr/lib/python3/site-packages/jwt/algorithms.py:610: InvalidKeyError =============================== warnings summary =============================== tests/test_authentication.py: 3 warnings tests/test_integration.py: 4 warnings tests/test_serializers.py: 24 warnings tests/test_token_blacklist.py: 14 warnings tests/test_tokens.py: 7 warnings tests/test_views.py: 18 warnings /usr/lib/python3/site-packages/jwt/api_jwt.py:147: InsecureKeyLengthWarning: The HMAC key is 24 bytes long, which is below the minimum recommended length of 32 bytes for SHA256. See RFC 7518 Section 3.2. return self._jws.encode( tests/test_authentication.py: 3 warnings tests/test_integration.py: 3 warnings tests/test_serializers.py: 24 warnings tests/test_token_blacklist.py: 5 warnings tests/test_tokens.py: 7 warnings tests/test_views.py: 12 warnings /usr/lib/python3/site-packages/jwt/api_jwt.py:365: InsecureKeyLengthWarning: The HMAC key is 24 bytes long, which is below the minimum recommended length of 32 bytes for SHA256. See RFC 7518 Section 3.2. decoded = self.decode_complete( tests/test_backends.py: 10 warnings /usr/lib/python3/site-packages/jwt/api_jwt.py:147: InsecureKeyLengthWarning: The HMAC key is 10 bytes long, which is below the minimum recommended length of 32 bytes for SHA256. See RFC 7518 Section 3.2. return self._jws.encode( tests/test_backends.py::TestTokenBackend::test_custom_JSONEncoder tests/test_backends.py::TestTokenBackend::test_decode_leeway_hmac_fail tests/test_backends.py::TestTokenBackend::test_decode_leeway_hmac_success tests/test_backends.py::TestTokenBackend::test_decode_success tests/test_backends.py::TestTokenBackend::test_decode_with_expiry tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry /usr/lib/python3/site-packages/jwt/api_jwt.py:365: InsecureKeyLengthWarning: The HMAC key is 10 bytes long, which is below the minimum recommended length of 32 bytes for SHA256. See RFC 7518 Section 3.2. decoded = self.decode_complete( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 3.05s call tests/test_backends.py::TestTokenBackend::test_decode_jwk_missing_key_raises_tokenbackenderror 3.02s call tests/test_backends.py::TestTokenBackend::test_decode_rsa_aud_iss_jwk_success 1.00s call tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig_no_verify 0.97s call tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig 0.61s call tests/test_backends.py::TestTokenBackend::test_decode_success 0.56s call tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry_no_verify 0.56s call tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry 0.55s call tests/test_backends.py::TestTokenBackend::test_decode_with_expiry 0.43s call tests/test_backends.py::TestTokenBackend::test_encode_aud_iss 0.43s call tests/test_backends.py::TestTokenBackend::test_decode_when_algorithm_not_available =========================== short test summary info ============================ SUBFAILED[Test decode success for f{backend.algorithm}] tests/test_backends.py::TestTokenBackend::test_decode_success SUBFAILED[Test decode success for f{backend.algorithm}] tests/test_backends.py::TestTokenBackend::test_decode_success SUBFAILED[Test decode with expiry for f{backend.algorithm}] tests/test_backends.py::TestTokenBackend::test_decode_with_expiry SUBFAILED[Test decode with expiry for f{backend.algorithm}] tests/test_backends.py::TestTokenBackend::test_decode_with_expiry SUBFAILED[Test decode with invalid sig for ES384] tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig SUBFAILED[Test decode with invalid sig for ES512] tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig SUBFAILED[Test decode with invalid sig for f{backend.algorithm}] tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig_no_verify SUBFAILED[Test decode with invalid sig for f{backend.algorithm}] tests/test_backends.py::TestTokenBackend::test_decode_with_invalid_sig_no_verify SUBFAILED[Test decode with no expiry for f{backend.algorithm}] tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry SUBFAILED[Test decode with no expiry for f{backend.algorithm}] tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry SUBFAILED[Test decode with no expiry and no verify for f{backend.algorithm}] tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry_no_verify SUBFAILED[Test decode with no expiry and no verify for f{backend.algorithm}] tests/test_backends.py::TestTokenBackend::test_decode_with_no_expiry_no_verify ====== 12 failed, 184 passed, 141 warnings, 18 subtests passed in 14.49s ======= INFO : Command's result: FAILURE INFO : Command's error: Command '['python3', '-m', 'pytest']' returned non-zero exit status 1. error: Bad exit status from /usr/src/tmp/rpm-tmp.51838 (%check) RPM build errors: Bad exit status from /usr/src/tmp/rpm-tmp.51838 (%check) Command exited with non-zero status 1 16.75user 1.22system 0:18.33elapsed 98%CPU (0avgtext+0avgdata 62968maxresident)k 0inputs+0outputs (0major+110122minor)pagefaults 0swaps hsh-rebuild: rebuild of `python3-module-djangorestframework-simplejwt-5.5.1-alt1.src.rpm' failed. Command exited with non-zero status 1 7.17user 6.05system 0:49.04elapsed 26%CPU (0avgtext+0avgdata 141992maxresident)k 696inputs+0outputs (0major+368950minor)pagefaults 0swaps