Skip to content

AWS CLI v2 support for Python 3.13 #9234

Closed
@aureq

Description

@aureq

Describe the bug

Hi,

I'm unable to install the AWS CLI version 2 using Python 3.13.1 by running /usr/local/bin/pip install https://github.com/aws/aws-cli/archive/refs/tags/2.23.2.tar.gz (this work fine on Python 3.12.x, and this works fine with AWS CLI 1.37.2 too).

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

The AWS CLI v2 should install as expected on Python 3.13.x.

Current Behavior

The build fails with the following errors and warnings

Collecting https://github.com/aws/aws-cli/archive/refs/tags/2.23.2.tar.gz
  Using cached https://github.com/aws/aws-cli/archive/refs/tags/2.23.2.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... error
  error: subprocess-exited-with-error
  
  × pip subprocess to install backend dependencies did not run successfully.
  │ exit code: 1
  ╰─> [518 lines of output]
      Collecting distro<1.9.0,>=1.5.0
        Using cached distro-1.8.0-py3-none-any.whl.metadata (6.9 kB)
      Collecting docutils<0.20,>=0.10
        Using cached docutils-0.19-py3-none-any.whl.metadata (2.7 kB)
      Collecting awscrt==0.23.4
        Using cached awscrt-0.23.4-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB)
      Collecting urllib3<1.27,>=1.25.4
        Using cached urllib3-1.26.20-py2.py3-none-any.whl.metadata (50 kB)
      Collecting colorama<0.4.7,>=0.2.5
        Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
      Collecting zipp<3.21.0
        Using cached zipp-3.20.2-py3-none-any.whl.metadata (3.7 kB)
      Collecting ruamel.yaml.clib<=0.2.8,>=0.2.0
        Using cached ruamel.yaml.clib-0.2.8.tar.gz (213 kB)
        Installing build dependencies: started
        Installing build dependencies: finished with status 'done'
        Getting requirements to build wheel: started
        Getting requirements to build wheel: finished with status 'done'
        Preparing metadata (pyproject.toml): started
        Preparing metadata (pyproject.toml): finished with status 'done'
      Collecting cryptography<43.0.2,>=40.0.0
        Using cached cryptography-43.0.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (5.4 kB)
      Collecting jmespath<1.1.0,>=0.7.1
        Using cached jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)
      Collecting ruamel.yaml<=0.17.21,>=0.15.0
        Using cached ruamel.yaml-0.17.21-py3-none-any.whl.metadata (13 kB)
      Collecting prompt-toolkit<3.0.39,>=3.0.24
        Using cached prompt_toolkit-3.0.38-py3-none-any.whl.metadata (7.0 kB)
      Collecting python-dateutil<=2.9.0,>=2.1
        Using cached python_dateutil-2.9.0-py2.py3-none-any.whl.metadata (8.3 kB)
      Collecting cffi>=1.12 (from cryptography<43.0.2,>=40.0.0)
        Using cached cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
      Collecting wcwidth (from prompt-toolkit<3.0.39,>=3.0.24)
        Using cached wcwidth-0.2.13-py2.py3-none-any.whl.metadata (14 kB)
      Collecting six>=1.5 (from python-dateutil<=2.9.0,>=2.1)
        Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
      Collecting pycparser (from cffi>=1.12->cryptography<43.0.2,>=40.0.0)
        Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
      Using cached awscrt-0.23.4-cp313-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB)
      Using cached distro-1.8.0-py3-none-any.whl (20 kB)
      Using cached docutils-0.19-py3-none-any.whl (570 kB)
      Using cached urllib3-1.26.20-py2.py3-none-any.whl (144 kB)
      Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
      Using cached zipp-3.20.2-py3-none-any.whl (9.2 kB)
      Using cached cryptography-43.0.1-cp39-abi3-manylinux_2_28_x86_64.whl (4.0 MB)
      Using cached jmespath-1.0.1-py3-none-any.whl (20 kB)
      Using cached ruamel.yaml-0.17.21-py3-none-any.whl (109 kB)
      Using cached prompt_toolkit-3.0.38-py3-none-any.whl (385 kB)
      Using cached python_dateutil-2.9.0-py2.py3-none-any.whl (230 kB)
      Using cached cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479 kB)
      Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
      Using cached wcwidth-0.2.13-py2.py3-none-any.whl (34 kB)
      Using cached pycparser-2.22-py3-none-any.whl (117 kB)
      Building wheels for collected packages: ruamel.yaml.clib
        Building wheel for ruamel.yaml.clib (pyproject.toml): started
        Building wheel for ruamel.yaml.clib (pyproject.toml): finished with status 'error'
        error: subprocess-exited-with-error
      
        × Building wheel for ruamel.yaml.clib (pyproject.toml) did not run successfully.
        │ exit code: 1
        ╰─> [451 lines of output]
            <string>:79: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
            <string>:79: DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; use ast.Constant instead
            <string>:79: DeprecationWarning: ast.Bytes is deprecated and will be removed in Python 3.14; use ast.Constant instead
            <string>:79: DeprecationWarning: ast.NameConstant is deprecated and will be removed in Python 3.14; use ast.Constant instead
            <string>:101: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
            <string>:105: DeprecationWarning: ast.Bytes is deprecated and will be removed in Python 3.14; use ast.Constant instead
            <string>:107: DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; use ast.Constant instead
            <string>:117: DeprecationWarning: ast.NameConstant is deprecated and will be removed in Python 3.14; use ast.Constant instead
            <string>:104: DeprecationWarning: Attribute s is deprecated and will be removed in Python 3.14; use value instead
            <string>:108: DeprecationWarning: Attribute n is deprecated and will be removed in Python 3.14; use value instead
            /tmp/pip-build-env-pa9nletn/overlay/lib/python3.13/site-packages/setuptools/_distutils/dist.py:270: UserWarning: Unknown distribution option: 'test_suite'
              warnings.warn(msg)
            running bdist_wheel
            running build
            running build_py
            creating build/lib.linux-x86_64-cpython-313/ruamel/yaml/clib
            copying ./setup.py -> build/lib.linux-x86_64-cpython-313/ruamel/yaml/clib
            copying ./__init__.py -> build/lib.linux-x86_64-cpython-313/ruamel/yaml/clib
            copying ./LICENSE -> build/lib.linux-x86_64-cpython-313/ruamel/yaml/clib
            running build_ext
            building '_ruamel_yaml' extension
            creating build/temp.linux-x86_64-cpython-313
            gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/usr/local/include/python3.13 -c _ruamel_yaml.c -o build/temp.linux-x86_64-cpython-313/_ruamel_yaml.o
            In file included from _ruamel_yaml.c:1149:
            _ruamel_yaml.h:10: warning: "PyString_CheckExact" redefined
               10 | #define PyString_CheckExact PyBytes_CheckExact
                  |
            _ruamel_yaml.c:998: note: this is the location of the previous definition
              998 |   #define PyString_CheckExact          PyUnicode_CheckExact
                  |
            _ruamel_yaml.c:1236:1: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
             1236 | static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u)
                  | ^~~~~~
            _ruamel_yaml.c: In function ‘__Pyx_Py_UNICODE_strlen’:
            _ruamel_yaml.c:1238:5: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
             1238 |     const Py_UNICODE *u_end = u;
                  |     ^~~~~
            _ruamel_yaml.c: In function ‘__pyx_pf_6ruamel_4yaml_4clib_12_ruamel_yaml_get_version_string’:
            _ruamel_yaml.c:4156:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             4156 |   __pyx_v_value = yaml_get_version_string();
                  |                 ^
            _ruamel_yaml.c: In function ‘__pyx_pf_6ruamel_4yaml_4clib_12_ruamel_yaml_7CParser___init__’:
            _ruamel_yaml.c:5929:52: warning: passing argument 2 of ‘yaml_parser_set_input’ from incompatible pointer type [-Wincompatible-pointer-types]
             5929 |     yaml_parser_set_input((&__pyx_v_self->parser), __pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_input_handler, ((void *)__pyx_v_self));
                  |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  |                                                    |
                  |                                                    int (*)(void *, char *, int,  int *)
            In file included from _ruamel_yaml.h:2:
            yaml.h:1370:30: note: expected ‘int (*)(void *, unsigned char *, size_t,  size_t *)’ {aka ‘int (*)(void *, unsigned char *, long unsigned int,  long unsigned int *)’} but argument is of type ‘int (*)(void *, char *, int,  int *)’
             1370 |         yaml_read_handler_t *handler, void *data);
                  |         ~~~~~~~~~~~~~~~~~~~~~^~~~~~~
            In file included from /usr/local/include/python3.13/bytesobject.h:59,
                             from /usr/local/include/python3.13/Python.h:78,
                             from _ruamel_yaml.c:16:
            /usr/local/include/python3.13/cpython/bytesobject.h:27:31: warning: pointer targets in passing argument 2 of ‘yaml_parser_set_input_string’ differ in signedness [-Wpointer-sign]
               27 | #define PyBytes_AS_STRING(op) PyBytes_AS_STRING(_PyObject_CAST(op))
                  |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  |                               |
                  |                               char *
            _ruamel_yaml.h:11:29: note: in expansion of macro ‘PyBytes_AS_STRING’
               11 | #define PyString_AS_STRING  PyBytes_AS_STRING
                  |                             ^~~~~~~~~~~~~~~~~
            _ruamel_yaml.c:6170:59: note: in expansion of macro ‘PyString_AS_STRING’
             6170 |     yaml_parser_set_input_string((&__pyx_v_self->parser), PyString_AS_STRING(__pyx_v_stream), PyString_GET_SIZE(__pyx_v_stream));
                  |                                                           ^~~~~~~~~~~~~~~~~~
            yaml.h:1344:30: note: expected ‘const unsigned char *’ but argument is of type ‘char *’
             1344 |         const unsigned char *input, size_t size);
                  |         ~~~~~~~~~~~~~~~~~~~~~^~~~~
            _ruamel_yaml.c: In function ‘__pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_7CParser__token_to_object’:
            _ruamel_yaml.c:7887:71: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
             7887 |     __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag_directive.handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 416, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                                       |
                  |                                                                       yaml_char_t * {aka unsigned char *}
            In file included from /usr/local/include/python3.13/Python.h:79:
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:7899:71: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
             7899 |     __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag_directive.prefix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 417, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                                       |
                  |                                                                       yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:8572:63: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
             8572 |     __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.alias.value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 447, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
                  |                                                               |
                  |                                                               yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:8630:64: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
             8630 |     __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.anchor.value); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 450, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
                  |                                                                |
                  |                                                                yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:8688:61: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
             8688 |     __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag.handle); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                             |
                  |                                                             yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:8700:61: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
             8700 |     __pyx_t_2 = PyUnicode_FromString(__pyx_v_token->data.tag.suffix); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                             |
                  |                                                             yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:8797:64: warning: pointer targets in passing argument 1 of ‘PyUnicode_DecodeUTF8’ differ in signedness [-Wpointer-sign]
             8797 |     __pyx_t_2 = PyUnicode_DecodeUTF8(__pyx_v_token->data.scalar.value, __pyx_v_token->data.scalar.length, ((char *)"strict")); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 459, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
                  |                                                                |
                  |                                                                yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:430:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              430 |     const char *string,         /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c: In function ‘__pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_7CParser__event_to_object’:
            _ruamel_yaml.c:10545:63: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            10545 |         __pyx_t_4 = PyUnicode_FromString(__pyx_v_tag_directive->handle); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 573, __pyx_L1_error)
                  |                                          ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
                  |                                                               |
                  |                                                               yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:10557:63: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            10557 |         __pyx_t_4 = PyUnicode_FromString(__pyx_v_tag_directive->prefix); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 574, __pyx_L1_error)
                  |                                          ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
                  |                                                               |
                  |                                                               yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:10740:63: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            10740 |     __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.alias.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                               |
                  |                                                               yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:10818:66: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            10818 |       __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.scalar.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 590, __pyx_L1_error)
                  |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                                  |
                  |                                                                  yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:10859:66: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            10859 |       __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.scalar.tag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 593, __pyx_L1_error)
                  |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
                  |                                                                  |
                  |                                                                  yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:10880:64: warning: pointer targets in passing argument 1 of ‘PyUnicode_DecodeUTF8’ differ in signedness [-Wpointer-sign]
            10880 |     __pyx_t_4 = PyUnicode_DecodeUTF8(__pyx_v_event->data.scalar.value, __pyx_v_event->data.scalar.length, ((char *)"strict")); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 594, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
                  |                                                                |
                  |                                                                yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:430:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              430 |     const char *string,         /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c:11182:74: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            11182 |       __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.sequence_start.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 619, __pyx_L1_error)
                  |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                                          |
                  |                                                                          yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:11223:74: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            11223 |       __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.sequence_start.tag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 622, __pyx_L1_error)
                  |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
                  |                                                                          |
                  |                                                                          yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:11419:73: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            11419 |       __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.mapping_start.anchor); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 636, __pyx_L1_error)
                  |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                                         |
                  |                                                                         yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:11460:73: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            11460 |       __pyx_t_4 = PyUnicode_FromString(__pyx_v_event->data.mapping_start.tag); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 639, __pyx_L1_error)
                  |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
                  |                                                                         |
                  |                                                                         yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c: In function ‘__pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_7CParser__compose_node’:
            _ruamel_yaml.c:13221:75: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            13221 |     __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.alias.anchor); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 733, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                                           |
                  |                                                                           yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:13482:76: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            13482 |     __pyx_t_5 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.anchor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 749, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                                            |
                  |                                                                            yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:13538:84: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            13538 |     __pyx_t_5 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.anchor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 752, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                                                    |
                  |                                                                                    yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c:13594:83: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            13594 |     __pyx_t_5 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.mapping_start.anchor); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 755, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
                  |                                                                                   |
                  |                                                                                   yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c: In function ‘__pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_7CParser__compose_scalar_node’:
            _ruamel_yaml.c:14176:74: warning: pointer targets in passing argument 1 of ‘PyUnicode_DecodeUTF8’ differ in signedness [-Wpointer-sign]
            14176 |   __pyx_t_2 = PyUnicode_DecodeUTF8(__pyx_v_self->parsed_event.data.scalar.value, __pyx_v_self->parsed_event.data.scalar.length, ((char *)"strict")); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 790, __pyx_L1_error)
                  |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
                  |                                                                          |
                  |                                                                          yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:430:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              430 |     const char *string,         /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c:14371:76: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            14371 |     __pyx_t_2 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.tag); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 803, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
                  |                                                                            |
                  |                                                                            yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c: In function ‘__pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_7CParser__compose_sequence_node’:
            _ruamel_yaml.c:14850:84: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            14850 |     __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.tag); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 836, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
                  |                                                                                    |
                  |                                                                                    yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c: In function ‘__pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_7CParser__compose_mapping_node’:
            _ruamel_yaml.c:15415:83: warning: pointer targets in passing argument 1 of ‘PyUnicode_FromString’ differ in signedness [-Wpointer-sign]
            15415 |     __pyx_t_3 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.mapping_start.tag); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 875, __pyx_L1_error)
                  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
                  |                                                                                   |
                  |                                                                                   yaml_char_t * {aka unsigned char *}
            /usr/local/include/python3.13/unicodeobject.h:130:17: note: expected ‘const char *’ but argument is of type ‘yaml_char_t *’ {aka ‘unsigned char *’}
              130 |     const char *u              /* UTF-8 encoded string */
                  |     ~~~~~~~~~~~~^
            _ruamel_yaml.c: In function ‘__pyx_pf_6ruamel_4yaml_4clib_12_ruamel_yaml_8CEmitter___init__’:
            _ruamel_yaml.c:16882:53: warning: passing argument 2 of ‘yaml_emitter_set_output’ from incompatible pointer type [-Wincompatible-pointer-types]
            16882 |   yaml_emitter_set_output((&__pyx_v_self->emitter), __pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_output_handler, ((void *)__pyx_v_self));
                  |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                  |                                                     |
                  |                                                     int (*)(void *, char *, int)
            yaml.h:1837:31: note: expected ‘int (*)(void *, unsigned char *, size_t)’ {aka ‘int (*)(void *, unsigned char *, long unsigned int)’} but argument is of type ‘int (*)(void *, char *, int)’
             1837 |         yaml_write_handler_t *handler, void *data);
                  |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
            _ruamel_yaml.c: In function ‘__pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_8CEmitter__object_to_event’:
            _ruamel_yaml.c:18282:44: warning: pointer targets in assignment from ‘char *’ to ‘yaml_char_t *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign]
            18282 |         __pyx_v_tag_directives_end->handle = PyString_AS_STRING(__pyx_v_handle);
                  |                                            ^
            _ruamel_yaml.c:18397:44: warning: pointer targets in assignment from ‘char *’ to ‘yaml_char_t *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign]
            18397 |         __pyx_v_tag_directives_end->prefix = PyString_AS_STRING(__pyx_v_prefix);
                  |                                            ^
            _ruamel_yaml.c:18732:61: warning: pointer targets in passing argument 2 of ‘yaml_alias_event_initialize’ differ in signedness [-Wpointer-sign]
            18732 |     __pyx_t_2 = (yaml_alias_event_initialize(__pyx_v_event, __pyx_v_anchor) == 0);
                  |                                                             ^~~~~~~~~~~~~~
                  |                                                             |
                  |                                                             char *
            yaml.h:555:63: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              555 | yaml_alias_event_initialize(yaml_event_t *event, yaml_char_t *anchor);
                  |                                                  ~~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c:19443:62: warning: pointer targets in passing argument 2 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
            19443 |     __pyx_t_2 = (yaml_scalar_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0);
                  |                                                              ^~~~~~~~~~~~~~
                  |                                                              |
                  |                                                              char *
            yaml.h:581:22: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              581 |         yaml_char_t *anchor, yaml_char_t *tag,
                  |         ~~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c:19443:78: warning: pointer targets in passing argument 3 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
            19443 |     __pyx_t_2 = (yaml_scalar_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0);
                  |                                                                              ^~~~~~~~~~~
                  |                                                                              |
                  |                                                                              char *
            yaml.h:581:43: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              581 |         yaml_char_t *anchor, yaml_char_t *tag,
                  |                              ~~~~~~~~~~~~~^~~
            _ruamel_yaml.c:19443:91: warning: pointer targets in passing argument 4 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
            19443 |     __pyx_t_2 = (yaml_scalar_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0);
                  |                                                                                           ^~~~~~~~~~~~~
                  |                                                                                           |
                  |                                                                                           char *
            yaml.h:582:22: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              582 |         yaml_char_t *value, int length,
                  |         ~~~~~~~~~~~~~^~~~~
            _ruamel_yaml.c:19874:70: warning: pointer targets in passing argument 2 of ‘yaml_sequence_start_event_initialize’ differ in signedness [-Wpointer-sign]
            19874 |     __pyx_t_2 = (yaml_sequence_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0);
                  |                                                                      ^~~~~~~~~~~~~~
                  |                                                                      |
                  |                                                                      char *
            yaml.h:604:22: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              604 |         yaml_char_t *anchor, yaml_char_t *tag, int implicit,
                  |         ~~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c:19874:86: warning: pointer targets in passing argument 3 of ‘yaml_sequence_start_event_initialize’ differ in signedness [-Wpointer-sign]
            19874 |     __pyx_t_2 = (yaml_sequence_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0);
                  |                                                                                      ^~~~~~~~~~~
                  |                                                                                      |
                  |                                                                                      char *
            yaml.h:604:43: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              604 |         yaml_char_t *anchor, yaml_char_t *tag, int implicit,
                  |                              ~~~~~~~~~~~~~^~~
            _ruamel_yaml.c:20305:69: warning: pointer targets in passing argument 2 of ‘yaml_mapping_start_event_initialize’ differ in signedness [-Wpointer-sign]
            20305 |     __pyx_t_2 = (yaml_mapping_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0);
                  |                                                                     ^~~~~~~~~~~~~~
                  |                                                                     |
                  |                                                                     char *
            yaml.h:636:22: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              636 |         yaml_char_t *anchor, yaml_char_t *tag, int implicit,
                  |         ~~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c:20305:85: warning: pointer targets in passing argument 3 of ‘yaml_mapping_start_event_initialize’ differ in signedness [-Wpointer-sign]
            20305 |     __pyx_t_2 = (yaml_mapping_start_event_initialize(__pyx_v_event, __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0);
                  |                                                                                     ^~~~~~~~~~~
                  |                                                                                     |
                  |                                                                                     char *
            yaml.h:636:43: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              636 |         yaml_char_t *anchor, yaml_char_t *tag, int implicit,
                  |                              ~~~~~~~~~~~~~^~~
            _ruamel_yaml.c: In function ‘__pyx_pf_6ruamel_4yaml_4clib_12_ruamel_yaml_8CEmitter_12serialize’:
            _ruamel_yaml.c:22198:42: warning: pointer targets in assignment from ‘char *’ to ‘yaml_char_t *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign]
            22198 |       __pyx_v_tag_directives_end->handle = PyString_AS_STRING(__pyx_v_handle);
                  |                                          ^
            _ruamel_yaml.c:22313:42: warning: pointer targets in assignment from ‘char *’ to ‘yaml_char_t *’ {aka ‘unsigned char *’} differ in signedness [-Wpointer-sign]
            22313 |       __pyx_v_tag_directives_end->prefix = PyString_AS_STRING(__pyx_v_prefix);
                  |                                          ^
            _ruamel_yaml.c: In function ‘__pyx_f_6ruamel_4yaml_4clib_12_ruamel_yaml_8CEmitter__serialize_node’:
            _ruamel_yaml.c:23168:64: warning: pointer targets in passing argument 2 of ‘yaml_alias_event_initialize’ differ in signedness [-Wpointer-sign]
            23168 |     __pyx_t_2 = (yaml_alias_event_initialize((&__pyx_v_event), __pyx_v_anchor) == 0);
                  |                                                                ^~~~~~~~~~~~~~
                  |                                                                |
                  |                                                                char *
            yaml.h:555:63: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              555 | yaml_alias_event_initialize(yaml_event_t *event, yaml_char_t *anchor);
                  |                                                  ~~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c:23898:67: warning: pointer targets in passing argument 2 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
            23898 |       __pyx_t_2 = (yaml_scalar_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0);
                  |                                                                   ^~~~~~~~~~~~~~
                  |                                                                   |
                  |                                                                   char *
            yaml.h:581:22: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              581 |         yaml_char_t *anchor, yaml_char_t *tag,
                  |         ~~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c:23898:83: warning: pointer targets in passing argument 3 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
            23898 |       __pyx_t_2 = (yaml_scalar_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0);
                  |                                                                                   ^~~~~~~~~~~
                  |                                                                                   |
                  |                                                                                   char *
            yaml.h:581:43: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              581 |         yaml_char_t *anchor, yaml_char_t *tag,
                  |                              ~~~~~~~~~~~~~^~~
            _ruamel_yaml.c:23898:96: warning: pointer targets in passing argument 4 of ‘yaml_scalar_event_initialize’ differ in signedness [-Wpointer-sign]
            23898 |       __pyx_t_2 = (yaml_scalar_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_value, __pyx_v_length, __pyx_v_plain_implicit, __pyx_v_quoted_implicit, __pyx_v_scalar_style) == 0);
                  |                                                                                                ^~~~~~~~~~~~~
                  |                                                                                                |
                  |                                                                                                char *
            yaml.h:582:22: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              582 |         yaml_char_t *value, int length,
                  |         ~~~~~~~~~~~~~^~~~~
            _ruamel_yaml.c:24255:75: warning: pointer targets in passing argument 2 of ‘yaml_sequence_start_event_initialize’ differ in signedness [-Wpointer-sign]
            24255 |       __pyx_t_2 = (yaml_sequence_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0);
                  |                                                                           ^~~~~~~~~~~~~~
                  |                                                                           |
                  |                                                                           char *
            yaml.h:604:22: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              604 |         yaml_char_t *anchor, yaml_char_t *tag, int implicit,
                  |         ~~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c:24255:91: warning: pointer targets in passing argument 3 of ‘yaml_sequence_start_event_initialize’ differ in signedness [-Wpointer-sign]
            24255 |       __pyx_t_2 = (yaml_sequence_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_sequence_style) == 0);
                  |                                                                                           ^~~~~~~~~~~
                  |                                                                                           |
                  |                                                                                           char *
            yaml.h:604:43: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              604 |         yaml_char_t *anchor, yaml_char_t *tag, int implicit,
                  |                              ~~~~~~~~~~~~~^~~
            _ruamel_yaml.c:24755:74: warning: pointer targets in passing argument 2 of ‘yaml_mapping_start_event_initialize’ differ in signedness [-Wpointer-sign]
            24755 |       __pyx_t_2 = (yaml_mapping_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0);
                  |                                                                          ^~~~~~~~~~~~~~
                  |                                                                          |
                  |                                                                          char *
            yaml.h:636:22: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              636 |         yaml_char_t *anchor, yaml_char_t *tag, int implicit,
                  |         ~~~~~~~~~~~~~^~~~~~
            _ruamel_yaml.c:24755:90: warning: pointer targets in passing argument 3 of ‘yaml_mapping_start_event_initialize’ differ in signedness [-Wpointer-sign]
            24755 |       __pyx_t_2 = (yaml_mapping_start_event_initialize((&__pyx_v_event), __pyx_v_anchor, __pyx_v_tag, __pyx_v_implicit, __pyx_v_mapping_style) == 0);
                  |                                                                                          ^~~~~~~~~~~
                  |                                                                                          |
                  |                                                                                          char *
            yaml.h:636:43: note: expected ‘yaml_char_t *’ {aka ‘unsigned char *’} but argument is of type ‘char *’
              636 |         yaml_char_t *anchor, yaml_char_t *tag, int implicit,
                  |                              ~~~~~~~~~~~~~^~~
            _ruamel_yaml.c: In function ‘__Pyx_PyInt_As_size_t’:
            _ruamel_yaml.c:33208:23: error: too few arguments to function ‘_PyLong_AsByteArray’
            33208 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
                  |                       ^~~~~~~~~~~~~~~~~~~
            In file included from /usr/local/include/python3.13/longobject.h:107,
                             from /usr/local/include/python3.13/Python.h:81:
            /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
              111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
                  |                 ^~~~~~~~~~~~~~~~~~~
            _ruamel_yaml.c: In function ‘__Pyx_PyInt_As_long’:
            _ruamel_yaml.c:33481:23: error: too few arguments to function ‘_PyLong_AsByteArray’
            33481 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
                  |                       ^~~~~~~~~~~~~~~~~~~
            /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
              111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
                  |                 ^~~~~~~~~~~~~~~~~~~
            _ruamel_yaml.c: In function ‘__Pyx_PyInt_As_int’:
            _ruamel_yaml.c:33816:23: error: too few arguments to function ‘_PyLong_AsByteArray’
            33816 |                 ret = _PyLong_AsByteArray((PyLongObject *)v,
                  |                       ^~~~~~~~~~~~~~~~~~~
            /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
              111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
                  |                 ^~~~~~~~~~~~~~~~~~~
            error: command '/usr/bin/gcc' failed with exit code 1
            [end of output]
      
        note: This error originates from a subprocess, and is likely not a problem with pip.
        ERROR: Failed building wheel for ruamel.yaml.clib
      Failed to build ruamel.yaml.clib
      ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (ruamel.yaml.clib)
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install backend dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Reproduction Steps

  • install Python 3.13.1 as your unique python version
  • run pip install https://github.com/aws/aws-cli/archive/refs/tags/2.23.2.tar.gz
  • the build fails ❌

Running pip install https://github.com/aws/aws-cli/archive/refs/tags/1.37.2.tar.gz works as expected ✔

Possible Solution

No response

Additional Information/Context

Note 1: It seems like the issue stems from the use of the ruamel.yaml package but I'm not sure how this dependency is dragged. Maybe PyYAML?

Note 2: I'm using the method described above to globally install the AWS CLI v2 (ie, available to all users). Running pip install --upgrade awscliv2 followed by awsv2 --install result in some executable being installed in /usr/local/bin but also in /root/.awscliv2 which is not desired as it would require other users to run 1) run awsv2 --install themselves and result in extra binaries installed in $HOME/.awscliv2/.

CLI version used

2.23.2

Environment details (OS name and version, etc.)

Containerized Debian 12 (bookwork)

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestA feature should be added or improved.p2This is a standard priority issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions