Skip to content

expat dependency issue (?) / homebrew install / 0.15.0 #417

Description

@kspurgin
You've found a bug! Please, raise an issue attaching the following traceback
https://github.com/jorgebastida/awslogs/issues/new

Version:       0.15.0
Python:        3.14.4 (main, Apr  7 2026, 13:13:20) [Clang 21.0.0 (clang-2100.0.123.102)]
boto3 version: 1.42.24
Platform:      Darwin-25.0.0-arm64-arm-64bit-Mach-O
Args:          ['/opt/homebrew/bin/awslogs', 'groups', '--profile', 'collectionspace']
Config: {options}

Traceback (most recent call last):
  File "/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/xml/etree/ElementTree.py", line 1532, in __init__
    from xml.parsers import expat
  File "/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/xml/parsers/expat.py", line 4, in <module>
    from pyexpat import *
ImportError: dlopen(/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/lib-dynload/pyexpat.cpython-314-darwin.so, 0x0002): Symbol not found: _XML_SetAllocTrackerActivationThreshold
  Referenced from: <1AAB1AFF-0B6A-3B67-86F5-A72CB69F8B1B> /opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/lib-dynload/pyexpat.cpython-314-darwin.so
  Expected in:     <4B473812-533A-3FD9-BA8B-D53CF5581C92> /usr/lib/libexpat.1.dylib

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/xml/etree/ElementTree.py", line 1535, in __init__
    import pyexpat as expat
ImportError: dlopen(/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/lib-dynload/pyexpat.cpython-314-darwin.so, 0x0002): Symbol not found: _XML_SetAllocTrackerActivationThreshold
  Referenced from: <1AAB1AFF-0B6A-3B67-86F5-A72CB69F8B1B> /opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/lib-dynload/pyexpat.cpython-314-darwin.so
  Expected in:     <4B473812-533A-3FD9-BA8B-D53CF5581C92> /usr/lib/libexpat.1.dylib

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/awslogs/bin.py", line 210, in main
    getattr(logs, options.func)()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/awslogs/core.py", line 226, in list_groups
    for group in self.get_groups():
                 ~~~~~~~~~~~~~~~^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/awslogs/core.py", line 240, in get_groups
    for page in paginator.paginate(**kwargs):
                ~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/paginate.py", line 272, in __iter__
    response = self._make_request(current_kwargs)
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/context.py", line 123, in wrapper
    return func(*args, **kwargs)
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/paginate.py", line 360, in _make_request
    return self._method(**current_kwargs)
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/client.py", line 602, in _api_call
    return self._make_api_call(operation_name, kwargs)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/context.py", line 123, in wrapper
    return func(*args, **kwargs)
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/client.py", line 1060, in _make_api_call
    http, parsed_response = self._make_request(
                            ~~~~~~~~~~~~~~~~~~^
        operation_model, request_dict, request_context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/client.py", line 1084, in _make_request
    return self._endpoint.make_request(operation_model, request_dict)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/endpoint.py", line 119, in make_request
    return self._send_request(request_dict, operation_model)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/endpoint.py", line 196, in _send_request
    request = self.create_request(request_dict, operation_model)
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/endpoint.py", line 132, in create_request
    self._event_emitter.emit(
    ~~~~~~~~~~~~~~~~~~~~~~~~^
        event_name,
        ^^^^^^^^^^^
        request=request,
        ^^^^^^^^^^^^^^^^
        operation_name=operation_model.name,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/hooks.py", line 412, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/hooks.py", line 256, in emit
    return self._emit(event_name, kwargs)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/hooks.py", line 239, in _emit
    response = handler(**kwargs)
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/signers.py", line 108, in handler
    return self.sign(operation_name, request)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/signers.py", line 191, in sign
    auth = self.get_auth_instance(**kwargs)
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/signers.py", line 312, in get_auth_instance
    frozen_credentials = credentials.get_frozen_credentials()
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/credentials.py", line 697, in get_frozen_credentials
    self._refresh()
    ~~~~~~~~~~~~~^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/credentials.py", line 584, in _refresh
    self._protected_refresh(is_mandatory=is_mandatory_refresh)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/credentials.py", line 600, in _protected_refresh
    metadata = self._refresh_using()
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/credentials.py", line 750, in fetch_credentials
    return self._get_cached_credentials()
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/credentials.py", line 760, in _get_cached_credentials
    response = self._get_credentials()
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/credentials.py", line 920, in _get_credentials
    response = client.assume_role(**kwargs)
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/client.py", line 602, in _api_call
    return self._make_api_call(operation_name, kwargs)
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/context.py", line 123, in wrapper
    return func(*args, **kwargs)
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/client.py", line 1060, in _make_api_call
    http, parsed_response = self._make_request(
                            ~~~~~~~~~~~~~~~~~~^
        operation_model, request_dict, request_context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/client.py", line 1084, in _make_request
    return self._endpoint.make_request(operation_model, request_dict)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/endpoint.py", line 119, in make_request
    return self._send_request(request_dict, operation_model)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/endpoint.py", line 197, in _send_request
    success_response, exception = self._get_response(
                                  ~~~~~~~~~~~~~~~~~~^
        request, operation_model, context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/endpoint.py", line 239, in _get_response
    success_response, exception = self._do_get_response(
                                  ~~~~~~~~~~~~~~~~~~~~~^
        request, operation_model, context
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/endpoint.py", line 313, in _do_get_response
    parsed_response = parser.parse(
        response_dict, operation_model.output_shape
    )
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/parsers.py", line 267, in parse
    parsed = self._do_parse(response, shape)
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/parsers.py", line 613, in _do_parse
    return self._parse_body_as_xml(response, shape, inject_metadata=True)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/parsers.py", line 617, in _parse_body_as_xml
    root = self._parse_xml_string_to_dom(xml_contents)
  File "/opt/homebrew/Cellar/awslogs/0.15.0_4/libexec/lib/python3.14/site-packages/botocore/parsers.py", line 539, in _parse_xml_string_to_dom
    parser = ETree.XMLParser(
        target=ETree.TreeBuilder(), encoding=self.DEFAULT_ENCODING
    )
  File "/opt/homebrew/Cellar/python@3.14/3.14.4/Frameworks/Python.framework/Versions/3.14/lib/python3.14/xml/etree/ElementTree.py", line 1537, in __init__
    raise ImportError(
        "No module named expat; use SimpleXMLTreeBuilder instead"
        )
ImportError: No module named expat; use SimpleXMLTreeBuilder instead

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions