From e1d923bbe33bdabd2abe912b1c16497224da48e2 Mon Sep 17 00:00:00 2001 From: Igor Djachenko Date: Sun, 5 Jul 2026 15:21:12 +0700 Subject: [PATCH] fix: resolve circular import between Group and User --- src/pyvko/aspects/groups.py | 4 ++-- src/pyvko/entities/user.py | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/pyvko/aspects/groups.py b/src/pyvko/aspects/groups.py index d2bcf3a..02cfd2c 100644 --- a/src/pyvko/aspects/groups.py +++ b/src/pyvko/aspects/groups.py @@ -8,12 +8,10 @@ from pyvko.aspects.albums import Albums from pyvko.aspects.events import Events, Event from pyvko.aspects.posts import Posts -from pyvko.entities.user import User from pyvko.shared.utils import get_all class Group(ApiBased, Posts, Albums, Events): - # from pyvko.entities.user import User def __init__(self, api: Any, group_object: Dict) -> None: super().__init__(api) @@ -56,6 +54,8 @@ def get_members(self) -> List['User']: users_descriptions = get_all(parameters, self.new_api.groups.getMembers) + from pyvko.entities.user import User + users = [User(api=self.new_api, user_object=description) for description in users_descriptions] return users diff --git a/src/pyvko/entities/user.py b/src/pyvko/entities/user.py index fd53cb8..9a4a98e 100644 --- a/src/pyvko/entities/user.py +++ b/src/pyvko/entities/user.py @@ -1,8 +1,10 @@ -from typing import List, Dict, Any +from typing import List, Dict, Any, TYPE_CHECKING + +if TYPE_CHECKING: + from pyvko.aspects.groups import Group from pyvko.api_based import ApiBased from pyvko.aspects.events import Event -from pyvko.aspects.groups import Group from pyvko.aspects.posts import Posts from pyvko.shared.utils import get_all @@ -51,6 +53,8 @@ def groups(self) -> List[Group]: groups_objects = groups_response["items"] + from pyvko.aspects.groups import Group + groups = [Group(api=self.new_api, group_object=group_object) for group_object in groups_objects] return groups