Skip to content

LogfirePlugin doesn't work with newest Temporal #4424

@maver1ck

Description

@maver1ck

Initial Checks

Description

After upgrade of Temporal Python SDK to 1.23.0 initialization of LogfirePlugin fails with

temporal-worker-1                   | Starting Temporal worker...
temporal-worker-1                   |   Temporal address: temporal:7233
temporal-worker-1                   |   Temporal namespace: default
temporal-worker-1                   |   Task queue: case-processing
temporal-worker-1                   | Worker error: SimplePlugin.__init__() got an unexpected keyword argument 'client_interceptors'
temporal-worker-1                   | [25/Feb/2026 06:35:02] ERROR "apps.cases.management.commands.temporal_worker" Temporal worker error: SimplePlugin.__init__() got an unexpected keyword argument 'client_interceptors'
temporal-worker-1                   | Traceback (most recent call last):
temporal-worker-1                   |   File "/code/apps/cases/management/commands/temporal_worker.py", line 84, in run_worker
temporal-worker-1                   |     plugins=[PydanticAIPlugin(), LogfirePlugin(setup_logfire=configure_logfire)],
temporal-worker-1                   |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
temporal-worker-1                   |   File "/home/django/.venv/lib/python3.12/site-packages/pydantic_ai/durable_exec/temporal/_logfire.py", line 39, in __init__
temporal-worker-1                   |     super().__init__(  # type: ignore[reportUnknownMemberType]
temporal-worker-1                   | TypeError: SimplePlugin.__init__() got an unexpected keyword argument 'client_interceptors'
temporal-worker-1                   | Traceback (most recent call last):
temporal-worker-1                   |   File "/code/manage.py", line 15, in <module>
temporal-worker-1                   |     execute_from_command_line(sys.argv)
temporal-worker-1                   |   File "/home/django/.venv/lib/python3.12/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
temporal-worker-1                   |     utility.execute()
temporal-worker-1                   |   File "/home/django/.venv/lib/python3.12/site-packages/django/core/management/__init__.py", line 437, in execute
temporal-worker-1                   |     self.fetch_command(subcommand).run_from_argv(self.argv)
temporal-worker-1                   |   File "/home/django/.venv/lib/python3.12/site-packages/django/core/management/base.py", line 420, in run_from_argv
temporal-worker-1                   |     self.execute(*args, **cmd_options)
temporal-worker-1                   |   File "/home/django/.venv/lib/python3.12/site-packages/django/core/management/base.py", line 464, in execute
temporal-worker-1                   |     output = self.handle(*args, **options)
temporal-worker-1                   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
temporal-worker-1                   |   File "/code/apps/cases/management/commands/temporal_worker.py", line 75, in handle
temporal-worker-1                   |     asyncio.run(self.run_worker(temporal_address, temporal_namespace, task_queue))
temporal-worker-1                   |   File "/usr/local/lib/python3.12/asyncio/runners.py", line 195, in run
temporal-worker-1                   |     return runner.run(main)
temporal-worker-1                   |            ^^^^^^^^^^^^^^^^
temporal-worker-1                   |   File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
temporal-worker-1                   |     return self._loop.run_until_complete(task)
temporal-worker-1                   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
temporal-worker-1                   |   File "/usr/local/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
temporal-worker-1                   |     return future.result()
temporal-worker-1                   |            ^^^^^^^^^^^^^^^
temporal-worker-1                   |   File "/code/apps/cases/management/commands/temporal_worker.py", line 84, in run_worker
temporal-worker-1                   |     plugins=[PydanticAIPlugin(), LogfirePlugin(setup_logfire=configure_logfire)],
temporal-worker-1                   |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
temporal-worker-1                   |   File "/home/django/.venv/lib/python3.12/site-packages/pydantic_ai/durable_exec/temporal/_logfire.py", line 39, in __init__
temporal-worker-1                   |     super().__init__(  # type: ignore[reportUnknownMemberType]
temporal-worker-1                   | TypeError: SimplePlugin.__init__() got an unexpected keyword argument 'client_interceptors'

Minimal, Reproducible Example

Logfire Trace

No response

Python, Pydantic AI & LLM client version

  • Python: 3.12.12
  • Pydantic AI: 1.63.0
  • Temporal SDK: 1.23.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugReport that something isn't working, or PR implementing a fix

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions