[fix:py3.14] Struct fields aren't discovered in Python 3.14

This is a temporary workaround for #5284 [1].  However, the problem must be
solved at a different level, in msgspec [2].

[1] https://github.com/searxng/searxng/issues/5284
[2] https://github.com/jcrist/msgspec/issues/847

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser 2025-10-07 15:02:26 +02:00 committed by Markus Heiser
parent d8d5de4d47
commit 8fdc59a760
10 changed files with 32 additions and 0 deletions

View File

@ -5,6 +5,10 @@
----
"""
# Struct fields aren't discovered in Python 3.14
# - https://github.com/searxng/searxng/issues/5284
from __future__ import annotations
__all__ = ["ExpireCacheCfg", "ExpireCacheStats", "ExpireCache", "ExpireCacheSQLite"]
import abc

View File

@ -17,6 +17,10 @@
"""
# Struct fields aren't discovered in Python 3.14
# - https://github.com/searxng/searxng/issues/5284
from __future__ import annotations
import typing as t
import os

View File

@ -1,6 +1,9 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
# pylint: disable=missing-module-docstring
# Struct fields aren't discovered in Python 3.14
# - https://github.com/searxng/searxng/issues/5284
from __future__ import annotations
import pathlib
import msgspec

View File

@ -1,6 +1,9 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
"""Implementations for a favicon proxy"""
# Struct fields aren't discovered in Python 3.14
# - https://github.com/searxng/searxng/issues/5284
from __future__ import annotations
from typing import Callable

View File

@ -16,6 +16,10 @@
:members:
"""
# Struct fields aren't discovered in Python 3.14
# - https://github.com/searxng/searxng/issues/5284
from __future__ import annotations
__all__ = ["Result"]
import typing as t

View File

@ -28,6 +28,9 @@ template.
"""
# pylint: disable=too-few-public-methods
# Struct fields aren't discovered in Python 3.14
# - https://github.com/searxng/searxng/issues/5284
from __future__ import annotations
__all__ = ["AnswerSet", "Answer", "Translations", "WeatherAnswer"]

View File

@ -14,6 +14,8 @@ template. For highlighting the code passages, Pygments_ is used.
"""
# pylint: disable=too-few-public-methods, disable=invalid-name
# Struct fields aren't discovered in Python 3.14
# - https://github.com/searxng/searxng/issues/5284
from __future__ import annotations
__all__ = ["Code"]

View File

@ -13,6 +13,9 @@ template.
"""
# pylint: disable=too-few-public-methods
# Struct fields aren't discovered in Python 3.14
# - https://github.com/searxng/searxng/issues/5284
from __future__ import annotations
__all__ = ["KeyValue"]

View File

@ -21,6 +21,8 @@ Related topics:
"""
# pylint: disable=too-few-public-methods, disable=invalid-name
# Struct fields aren't discovered in Python 3.14
# - https://github.com/searxng/searxng/issues/5284
from __future__ import annotations
__all__ = ["Paper"]

View File

@ -2,6 +2,10 @@
"""Implementations used for weather conditions and forecast."""
# pylint: disable=too-few-public-methods
# Struct fields aren't discovered in Python 3.14
# - https://github.com/searxng/searxng/issues/5284
from __future__ import annotations
__all__ = [
"symbol_url",
"Temperature",