From b9361d2f71e390f9e92cca169afcf9fc1099f46f Mon Sep 17 00:00:00 2001 From: "reportportal.io" Date: Fri, 3 Apr 2026 07:25:51 +0000 Subject: [PATCH 1/4] Changelog update --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 050ad1c..e5d74ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog ## [Unreleased] + +## [5.7.1] ### Added - Attribute key length and number truncation, by @HardNorth - Binary character replacement in basic text fields, by @HardNorth From 83119acb4a2e0a73bfe4728f154e7eba323479a3 Mon Sep 17 00:00:00 2001 From: "reportportal.io" Date: Fri, 3 Apr 2026 07:25:52 +0000 Subject: [PATCH 2/4] Version update --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 6a80726..63d8db6 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ from setuptools import find_packages, setup -__version__ = "5.7.1" +__version__ = "5.7.2" TYPE_STUBS = ["*.pyi"] From b37a0104d8a8b4e63415c08389d6008159e9aa3e Mon Sep 17 00:00:00 2001 From: Vadzim Hushchanskou Date: Mon, 6 Apr 2026 23:13:21 +0300 Subject: [PATCH 3/4] Update requirements --- CHANGELOG.md | 5 +++++ reportportal_client/__init__.py | 13 ++++++------- reportportal_client/_internal/aio/http.py | 2 +- reportportal_client/_internal/static/defines.py | 7 +++---- reportportal_client/client.py | 8 ++++---- reportportal_client/core/worker.py | 14 ++++++-------- requirements.txt | 7 +++---- 7 files changed, 28 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5d74ad..16c3cc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ # Changelog ## [Unreleased] +### Changed +- `aiohttp` version updated to 3.13.4, by @HardNorth +- `requests` version updated to 2.33.1, by @HardNorth +### Removed +- `aenum` dependency, by @HardNorth ## [5.7.1] ### Added diff --git a/reportportal_client/__init__.py b/reportportal_client/__init__.py index 4b344e5..5fe2e93 100644 --- a/reportportal_client/__init__.py +++ b/reportportal_client/__init__.py @@ -15,6 +15,7 @@ import sys import warnings +from enum import Enum from typing import Optional, TypedDict, Union # noinspection PyUnreachableCode @@ -23,8 +24,6 @@ else: from typing_extensions import Unpack -import aenum # type: ignore - # noinspection PyProtectedMember from reportportal_client._internal.local import current, set_current from reportportal_client.aio.client import AsyncRPClient, BatchedRPClient, ThreadedRPClient @@ -33,13 +32,13 @@ from reportportal_client.steps import step -class ClientType(aenum.Enum): +class ClientType(Enum): """Enum of possible type of ReportPortal clients.""" - SYNC = aenum.auto() - ASYNC = aenum.auto() - ASYNC_THREAD = aenum.auto() - ASYNC_BATCHED = aenum.auto() + SYNC = 1 + ASYNC = 2 + ASYNC_THREAD = 3 + ASYNC_BATCHED = 4 class _ClientOptions(TypedDict, total=False): diff --git a/reportportal_client/_internal/aio/http.py b/reportportal_client/_internal/aio/http.py index 9022e6b..0297b4b 100644 --- a/reportportal_client/_internal/aio/http.py +++ b/reportportal_client/_internal/aio/http.py @@ -23,10 +23,10 @@ import asyncio import sys +from enum import Enum from types import TracebackType from typing import Any, Callable, Coroutine, Optional, Union -from aenum import Enum # type: ignore from aiohttp import ClientResponse, ClientResponseError from aiohttp import ClientSession as AioHttpClientSession from aiohttp import ServerConnectionError diff --git a/reportportal_client/_internal/static/defines.py b/reportportal_client/_internal/static/defines.py index ea574f8..d231efe 100644 --- a/reportportal_client/_internal/static/defines.py +++ b/reportportal_client/_internal/static/defines.py @@ -12,8 +12,7 @@ # limitations under the License """This module provides RP client static objects and variables.""" - -import aenum as enum +from enum import Enum, IntEnum from reportportal_client.helpers import ATTRIBUTE_LENGTH_LIMIT as ATTRIBUTE_LIMIT @@ -47,7 +46,7 @@ def __nonzero__(self): __bool__ = __nonzero__ # Python3 support -class ItemStartType(str, enum.Enum): +class ItemStartType(str, Enum): """This class defines item type mapping.""" BEFORE_CLASS = "before_class" @@ -69,7 +68,7 @@ class ItemStartType(str, enum.Enum): AFTER_TEST = "after_test" -class Priority(enum.IntEnum): +class Priority(IntEnum): """Generic enum for various operations' prioritization.""" PRIORITY_IMMEDIATE = 0x0 diff --git a/reportportal_client/client.py b/reportportal_client/client.py index 5200fc6..3b55fa0 100644 --- a/reportportal_client/client.py +++ b/reportportal_client/client.py @@ -19,10 +19,10 @@ import sys import warnings from abc import abstractmethod +from enum import Enum from os import getenv from typing import Any, Optional, TextIO, Union -import aenum from requests.adapters import DEFAULT_RETRIES, HTTPAdapter, Retry # noinspection PyProtectedMember @@ -69,11 +69,11 @@ logger.addHandler(logging.NullHandler()) -class OutputType(aenum.Enum): +class OutputType(Enum): """Enum of possible print output types.""" - STDOUT = aenum.auto() - STDERR = aenum.auto() + STDOUT = 1 + STDERR = 2 def get_output(self) -> Optional[TextIO]: """Return TextIO based on the current type.""" diff --git a/reportportal_client/core/worker.py b/reportportal_client/core/worker.py index d22fbe4..d30996e 100644 --- a/reportportal_client/core/worker.py +++ b/reportportal_client/core/worker.py @@ -17,12 +17,11 @@ import queue import threading import warnings +from enum import Enum from queue import PriorityQueue from threading import Thread, current_thread from typing import Optional, Union -from aenum import Enum, auto, unique - # noinspection PyProtectedMember from reportportal_client._internal.static.defines import Priority from reportportal_client.core.rp_requests import HttpRequest @@ -33,15 +32,14 @@ THREAD_TIMEOUT: int = 10 # Thread termination / wait timeout in seconds -@unique class ControlCommand(Enum): """This class stores worker control commands.""" - CLEAR_QUEUE = auto() - NOP = auto() - REPORT_STATUS = auto() - STOP = auto() - STOP_IMMEDIATE = auto() + CLEAR_QUEUE = 1 + NOP = 2 + REPORT_STATUS = 3 + STOP = 4 + STOP_IMMEDIATE = 5 def is_stop_cmd(self) -> bool: """Verify if the command is the stop one.""" diff --git a/requirements.txt b/requirements.txt index 87b3923..0381fb8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ -aenum==3.1.17 -typing-extensions==4.13.2 -requests==2.32.5 -aiohttp==3.11.18 +typing-extensions>=4.13.2, <=4.15.0 +requests==2.33.1 +aiohttp>=3.13.4, <=3.13.5 certifi==2026.2.25 From 6c51bb6301f2c0db0db886773a590ae6b02fbd37 Mon Sep 17 00:00:00 2001 From: Vadzim Hushchanskou Date: Mon, 6 Apr 2026 23:18:29 +0300 Subject: [PATCH 4/4] Update requirements --- CHANGELOG.md | 1 - requirements.txt | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16c3cc3..b426ba4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,6 @@ ## [Unreleased] ### Changed - `aiohttp` version updated to 3.13.4, by @HardNorth -- `requests` version updated to 2.33.1, by @HardNorth ### Removed - `aenum` dependency, by @HardNorth diff --git a/requirements.txt b/requirements.txt index 0381fb8..f1287ed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ typing-extensions>=4.13.2, <=4.15.0 -requests==2.33.1 +requests>=2.32.5, <=2.33.1 aiohttp>=3.13.4, <=3.13.5 certifi==2026.2.25