From bf3ab7da4cd5c4912662a717b4bdc014d48210ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 27 Nov 2023 12:22:33 +0100 Subject: [PATCH] chore: reorder imports --- src/speckle_automate/automation_context.py | 16 ++--- src/speckle_automate/helpers.py | 3 +- src/specklepy/api/client.py | 5 +- src/specklepy/api/credentials.py | 19 +++--- src/specklepy/api/host_applications.py | 62 +++++++++---------- src/specklepy/api/models.py | 14 ++--- src/specklepy/api/operations.py | 11 ++-- src/specklepy/api/resource.py | 8 +-- src/specklepy/api/resources/active_user.py | 3 +- src/specklepy/api/resources/branch.py | 3 +- src/specklepy/api/resources/commit.py | 3 +- src/specklepy/api/resources/object.py | 6 +- src/specklepy/api/resources/other_user.py | 3 +- src/specklepy/api/resources/server.py | 3 +- src/specklepy/api/resources/stream.py | 3 +- src/specklepy/api/resources/subscriptions.py | 5 +- src/specklepy/api/resources/user.py | 6 +- src/specklepy/api/wrapper.py | 5 +- src/specklepy/core/api/client.py | 2 +- src/specklepy/core/api/resources/user.py | 1 - src/specklepy/core/api/wrapper.py | 1 + src/specklepy/objects/GIS/CRS.py | 1 + src/specklepy/objects/GIS/__init__.py | 15 ++--- src/specklepy/objects/GIS/geometry.py | 24 +++---- src/specklepy/objects/GIS/layers.py | 9 +-- .../graph_traversal/commit_object_builder.py | 2 + src/specklepy/objects/other.py | 3 +- src/specklepy/objects/structural/__init__.py | 2 +- src/specklepy/objects/structural/axis.py | 2 +- .../test_automation_context.py | 12 ++-- utils/installer.py | 2 +- 31 files changed, 119 insertions(+), 135 deletions(-) diff --git a/src/speckle_automate/automation_context.py b/src/speckle_automate/automation_context.py index e1038c9..9ce2eff 100644 --- a/src/speckle_automate/automation_context.py +++ b/src/speckle_automate/automation_context.py @@ -1,18 +1,11 @@ """This module provides an abstraction layer above the Speckle Automate runtime.""" +import time from dataclasses import dataclass, field from pathlib import Path -import time from typing import Any, Dict, List, Optional, Tuple, Union import httpx from gql import gql -from specklepy.api import operations -from specklepy.api.client import SpeckleClient -from specklepy.core.api.models import Branch -from specklepy.objects import Base -from specklepy.transports.memory import MemoryTransport -from specklepy.transports.server import ServerTransport -from specklepy.logging.exceptions import SpeckleException from speckle_automate.schema import ( AutomateBase, @@ -22,6 +15,13 @@ from speckle_automate.schema import ( ObjectResultLevel, ResultCase, ) +from specklepy.api import operations +from specklepy.api.client import SpeckleClient +from specklepy.core.api.models import Branch +from specklepy.logging.exceptions import SpeckleException +from specklepy.objects import Base +from specklepy.transports.memory import MemoryTransport +from specklepy.transports.server import ServerTransport @dataclass diff --git a/src/speckle_automate/helpers.py b/src/speckle_automate/helpers.py index 8fe7870..0f9cbb3 100644 --- a/src/speckle_automate/helpers.py +++ b/src/speckle_automate/helpers.py @@ -2,9 +2,10 @@ import secrets import string -from specklepy.api.client import SpeckleClient from gql import gql +from specklepy.api.client import SpeckleClient + def register_new_automation( speckle_client: SpeckleClient, diff --git a/src/specklepy/api/client.py b/src/specklepy/api/client.py index c21a566..2dd62ec 100644 --- a/src/specklepy/api/client.py +++ b/src/specklepy/api/client.py @@ -5,7 +5,6 @@ from gql.transport.websockets import WebsocketsTransport from specklepy.api.credentials import Account, get_account_from_token from specklepy.api.resources import ( - user, active_user, branch, commit, @@ -14,12 +13,12 @@ from specklepy.api.resources import ( server, stream, subscriptions, + user, ) +from specklepy.core.api.client import SpeckleClient as CoreSpeckleClient from specklepy.logging import metrics from specklepy.logging.exceptions import SpeckleException, SpeckleWarning -from specklepy.core.api.client import SpeckleClient as CoreSpeckleClient - class SpeckleClient(CoreSpeckleClient): """ diff --git a/src/specklepy/api/credentials.py b/src/specklepy/api/credentials.py index 04ab00f..23744ad 100644 --- a/src/specklepy/api/credentials.py +++ b/src/specklepy/api/credentials.py @@ -4,21 +4,20 @@ from typing import List, Optional from pydantic import BaseModel, Field # pylint: disable=no-name-in-module from specklepy.api.models import ServerInfo + +# following imports seem to be unnecessary, but they need to stay +# to not break the scripts using these functions as non-core +from specklepy.core.api.credentials import StreamWrapper # deprecated +from specklepy.core.api.credentials import Account, UserInfo +from specklepy.core.api.credentials import ( + get_account_from_token as core_get_account_from_token, +) +from specklepy.core.api.credentials import get_local_accounts as core_get_local_accounts from specklepy.core.helpers import speckle_path_provider from specklepy.logging import metrics from specklepy.logging.exceptions import SpeckleException from specklepy.transports.sqlite import SQLiteTransport -# following imports seem to be unnecessary, but they need to stay -# to not break the scripts using these functions as non-core -from specklepy.core.api.credentials import ( - Account, - UserInfo, - StreamWrapper, # deprecated - get_local_accounts as core_get_local_accounts, - get_account_from_token as core_get_account_from_token, -) - def get_local_accounts(base_path: Optional[str] = None) -> List[Account]: """Gets all the accounts present in this environment diff --git a/src/specklepy/api/host_applications.py b/src/specklepy/api/host_applications.py index c9e2a55..b52fcbe 100644 --- a/src/specklepy/api/host_applications.py +++ b/src/specklepy/api/host_applications.py @@ -5,40 +5,40 @@ from unicodedata import name # following imports seem to be unnecessary, but they need to stay # to not break the scripts using these functions as non-core from specklepy.core.api.host_applications import ( + ARCGIS, + ARCHICAD, + AUTOCAD, + BLENDER, + CIVIL, + CSIBRIDGE, + DXF, + DYNAMO, + ETABS, + EXCEL, + GRASSHOPPER, + GSA, + MICROSTATION, + NET, + OPENBUILDINGS, + OPENRAIL, + OPENROADS, + OTHER, + POWERBI, + PYTHON, + QGIS, + REVIT, + RHINO, + SAFE, + SAP2000, + SKETCHUP, + TEKLASTRUCTURES, + TOPSOLID, + UNITY, + UNREAL, HostApplication, HostAppVersion, - get_host_app_from_string, _app_name_host_app_mapping, - RHINO, - GRASSHOPPER, - REVIT, - DYNAMO, - UNITY, - GSA, - CIVIL, - AUTOCAD, - MICROSTATION, - OPENROADS, - OPENRAIL, - OPENBUILDINGS, - ETABS, - SAP2000, - CSIBRIDGE, - SAFE, - TEKLASTRUCTURES, - DXF, - EXCEL, - UNREAL, - POWERBI, - BLENDER, - QGIS, - ARCGIS, - SKETCHUP, - ARCHICAD, - TOPSOLID, - PYTHON, - NET, - OTHER, + get_host_app_from_string, ) if __name__ == "__main__": diff --git a/src/specklepy/api/models.py b/src/specklepy/api/models.py index 12346dd..3857d37 100644 --- a/src/specklepy/api/models.py +++ b/src/specklepy/api/models.py @@ -6,18 +6,18 @@ from pydantic import BaseModel, Field # following imports seem to be unnecessary, but they need to stay # to not break the scripts using these functions as non-core from specklepy.core.api.models import ( + Activity, + ActivityCollection, + Branch, + Branches, Collaborator, Commit, Commits, + LimitedUser, Object, - Branch, - Branches, + PendingStreamCollaborator, + ServerInfo, Stream, Streams, User, - LimitedUser, - PendingStreamCollaborator, - Activity, - ActivityCollection, - ServerInfo, ) diff --git a/src/specklepy/api/operations.py b/src/specklepy/api/operations.py index 489b65e..6ef7f5e 100644 --- a/src/specklepy/api/operations.py +++ b/src/specklepy/api/operations.py @@ -1,5 +1,9 @@ from typing import List, Optional +from specklepy.core.api.operations import deserialize as core_deserialize +from specklepy.core.api.operations import receive as _untracked_receive +from specklepy.core.api.operations import send as core_send +from specklepy.core.api.operations import serialize as core_serialize from specklepy.logging import metrics from specklepy.logging.exceptions import SpeckleException from specklepy.objects.base import Base @@ -7,13 +11,6 @@ from specklepy.serialization.base_object_serializer import BaseObjectSerializer from specklepy.transports.abstract_transport import AbstractTransport from specklepy.transports.sqlite import SQLiteTransport -from specklepy.core.api.operations import ( - send as core_send, - receive as _untracked_receive, - serialize as core_serialize, - deserialize as core_deserialize, -) - def send( base: Base, diff --git a/src/specklepy/api/resource.py b/src/specklepy/api/resource.py index 028bceb..c2e25ea 100644 --- a/src/specklepy/api/resource.py +++ b/src/specklepy/api/resource.py @@ -6,6 +6,10 @@ from gql.transport.exceptions import TransportQueryError from graphql import DocumentNode from specklepy.api.credentials import Account + +# following imports seem to be unnecessary, but they need to stay +# to not break the scripts using these functions as non-core +from specklepy.core.api.resource import ResourceBase as CoreResourceBase from specklepy.logging.exceptions import ( GraphQLException, SpeckleException, @@ -14,10 +18,6 @@ from specklepy.logging.exceptions import ( from specklepy.serialization.base_object_serializer import BaseObjectSerializer from specklepy.transports.sqlite import SQLiteTransport -# following imports seem to be unnecessary, but they need to stay -# to not break the scripts using these functions as non-core -from specklepy.core.api.resource import ResourceBase as CoreResourceBase - class ResourceBase(CoreResourceBase): def __init__( diff --git a/src/specklepy/api/resources/active_user.py b/src/specklepy/api/resources/active_user.py index c33d16b..141a717 100644 --- a/src/specklepy/api/resources/active_user.py +++ b/src/specklepy/api/resources/active_user.py @@ -5,11 +5,10 @@ from gql import gql from specklepy.api.models import ActivityCollection, PendingStreamCollaborator, User from specklepy.api.resource import ResourceBase +from specklepy.core.api.resources.active_user import Resource as CoreResource from specklepy.logging import metrics from specklepy.logging.exceptions import SpeckleException -from specklepy.core.api.resources.active_user import Resource as CoreResource - class Resource(CoreResource): """API Access class for users""" diff --git a/src/specklepy/api/resources/branch.py b/src/specklepy/api/resources/branch.py index e913390..590b979 100644 --- a/src/specklepy/api/resources/branch.py +++ b/src/specklepy/api/resources/branch.py @@ -4,9 +4,8 @@ from gql import gql from specklepy.api.models import Branch from specklepy.api.resource import ResourceBase -from specklepy.logging import metrics - from specklepy.core.api.resources.branch import Resource as CoreResource +from specklepy.logging import metrics class Resource(CoreResource): diff --git a/src/specklepy/api/resources/commit.py b/src/specklepy/api/resources/commit.py index 8a0bc6a..404de5c 100644 --- a/src/specklepy/api/resources/commit.py +++ b/src/specklepy/api/resources/commit.py @@ -4,9 +4,8 @@ from gql import gql from specklepy.api.models import Commit from specklepy.api.resource import ResourceBase -from specklepy.logging import metrics - from specklepy.core.api.resources.commit import Resource as CoreResource +from specklepy.logging import metrics from specklepy.logging.exceptions import SpeckleException diff --git a/src/specklepy/api/resources/object.py b/src/specklepy/api/resources/object.py index b6683d3..a15caf9 100644 --- a/src/specklepy/api/resources/object.py +++ b/src/specklepy/api/resources/object.py @@ -3,11 +3,9 @@ from typing import Dict, List from gql import gql from specklepy.api.resource import ResourceBase -from specklepy.objects.base import Base - -from specklepy.logging import metrics - from specklepy.core.api.resources.object import Resource as CoreResource +from specklepy.logging import metrics +from specklepy.objects.base import Base class Resource(CoreResource): diff --git a/src/specklepy/api/resources/other_user.py b/src/specklepy/api/resources/other_user.py index 585afd4..a3c2656 100644 --- a/src/specklepy/api/resources/other_user.py +++ b/src/specklepy/api/resources/other_user.py @@ -5,11 +5,10 @@ from gql import gql from specklepy.api.models import ActivityCollection, LimitedUser from specklepy.api.resource import ResourceBase +from specklepy.core.api.resources.other_user import Resource as CoreResource from specklepy.logging import metrics from specklepy.logging.exceptions import SpeckleException -from specklepy.core.api.resources.other_user import Resource as CoreResource - class Resource(CoreResource): """API Access class for other users, that are not the currently active user.""" diff --git a/src/specklepy/api/resources/server.py b/src/specklepy/api/resources/server.py index 74cc957..f851def 100644 --- a/src/specklepy/api/resources/server.py +++ b/src/specklepy/api/resources/server.py @@ -5,11 +5,10 @@ from gql import gql from specklepy.api.models import ServerInfo from specklepy.api.resource import ResourceBase +from specklepy.core.api.resources.server import Resource as CoreResource from specklepy.logging import metrics from specklepy.logging.exceptions import GraphQLException -from specklepy.core.api.resources.server import Resource as CoreResource - class Resource(CoreResource): """API Access class for the server""" diff --git a/src/specklepy/api/resources/stream.py b/src/specklepy/api/resources/stream.py index 3e5558a..24dc4ca 100644 --- a/src/specklepy/api/resources/stream.py +++ b/src/specklepy/api/resources/stream.py @@ -6,11 +6,10 @@ from gql import gql from specklepy.api.models import ActivityCollection, PendingStreamCollaborator, Stream from specklepy.api.resource import ResourceBase +from specklepy.core.api.resources.stream import Resource as CoreResource from specklepy.logging import metrics from specklepy.logging.exceptions import SpeckleException, UnsupportedException -from specklepy.core.api.resources.stream import Resource as CoreResource - class Resource(CoreResource): """API Access class for streams""" diff --git a/src/specklepy/api/resources/subscriptions.py b/src/specklepy/api/resources/subscriptions.py index d8b11ee..ab28736 100644 --- a/src/specklepy/api/resources/subscriptions.py +++ b/src/specklepy/api/resources/subscriptions.py @@ -6,10 +6,9 @@ from graphql import DocumentNode from specklepy.api.resource import ResourceBase from specklepy.api.resources.stream import Stream -from specklepy.logging.exceptions import SpeckleException - -from specklepy.logging import metrics from specklepy.core.api.resources.subscriptions import Resource as CoreResource +from specklepy.logging import metrics +from specklepy.logging.exceptions import SpeckleException def check_wsclient(function): diff --git a/src/specklepy/api/resources/user.py b/src/specklepy/api/resources/user.py index f603f87..6742a50 100644 --- a/src/specklepy/api/resources/user.py +++ b/src/specklepy/api/resources/user.py @@ -6,11 +6,9 @@ from gql import gql from specklepy.api.models import ActivityCollection, PendingStreamCollaborator, User from specklepy.api.resource import ResourceBase - -from specklepy.logging.exceptions import SpeckleException - -from specklepy.logging import metrics from specklepy.core.api.resources.user import Resource as CoreResource +from specklepy.logging import metrics +from specklepy.logging.exceptions import SpeckleException DEPRECATION_VERSION = "2.9.0" DEPRECATION_TEXT = ( diff --git a/src/specklepy/api/wrapper.py b/src/specklepy/api/wrapper.py index 7a3ae31..22a3ea6 100644 --- a/src/specklepy/api/wrapper.py +++ b/src/specklepy/api/wrapper.py @@ -7,12 +7,11 @@ from specklepy.api.credentials import ( get_account_from_token, get_local_accounts, ) +from specklepy.core.api.wrapper import StreamWrapper as CoreStreamWrapper +from specklepy.logging import metrics from specklepy.logging.exceptions import SpeckleException, SpeckleWarning from specklepy.transports.server.server import ServerTransport -from specklepy.logging import metrics -from specklepy.core.api.wrapper import StreamWrapper as CoreStreamWrapper - class StreamWrapper(CoreStreamWrapper): """ diff --git a/src/specklepy/core/api/client.py b/src/specklepy/core/api/client.py index 197fcc9..24adb87 100644 --- a/src/specklepy/core/api/client.py +++ b/src/specklepy/core/api/client.py @@ -11,7 +11,6 @@ from gql.transport.websockets import WebsocketsTransport from specklepy.core.api import resources from specklepy.core.api.credentials import Account, get_account_from_token from specklepy.core.api.resources import ( - user, active_user, branch, commit, @@ -20,6 +19,7 @@ from specklepy.core.api.resources import ( server, stream, subscriptions, + user, ) from specklepy.logging import metrics from specklepy.logging.exceptions import SpeckleException, SpeckleWarning diff --git a/src/specklepy/core/api/resources/user.py b/src/specklepy/core/api/resources/user.py index d17e755..b9ecd1e 100644 --- a/src/specklepy/core/api/resources/user.py +++ b/src/specklepy/core/api/resources/user.py @@ -10,7 +10,6 @@ from specklepy.core.api.models import ( User, ) from specklepy.core.api.resource import ResourceBase - from specklepy.logging.exceptions import SpeckleException NAME = "user" diff --git a/src/specklepy/core/api/wrapper.py b/src/specklepy/core/api/wrapper.py index 9f9a11e..8a46608 100644 --- a/src/specklepy/core/api/wrapper.py +++ b/src/specklepy/core/api/wrapper.py @@ -1,5 +1,6 @@ from urllib.parse import unquote, urlparse from warnings import warn + from gql import gql from specklepy.core.api.client import SpeckleClient diff --git a/src/specklepy/objects/GIS/CRS.py b/src/specklepy/objects/GIS/CRS.py index 4fc2d5c..44b998d 100644 --- a/src/specklepy/objects/GIS/CRS.py +++ b/src/specklepy/objects/GIS/CRS.py @@ -1,4 +1,5 @@ from typing import Optional + from specklepy.objects import Base diff --git a/src/specklepy/objects/GIS/__init__.py b/src/specklepy/objects/GIS/__init__.py index a2e3f85..58d7b33 100644 --- a/src/specklepy/objects/GIS/__init__.py +++ b/src/specklepy/objects/GIS/__init__.py @@ -1,21 +1,14 @@ """Builtin Speckle object kit.""" -from specklepy.objects.GIS.layers import ( - VectorLayer, - RasterLayer, -) - +from specklepy.objects.GIS.CRS import CRS from specklepy.objects.GIS.geometry import ( - GisPolygonGeometry, - GisPolygonElement, GisLineElement, GisPointElement, + GisPolygonElement, + GisPolygonGeometry, GisRasterElement, ) - -from specklepy.objects.GIS.CRS import ( - CRS, -) +from specklepy.objects.GIS.layers import RasterLayer, VectorLayer __all__ = [ "VectorLayer", diff --git a/src/specklepy/objects/GIS/geometry.py b/src/specklepy/objects/GIS/geometry.py index 6cccb45..e2951c5 100644 --- a/src/specklepy/objects/GIS/geometry.py +++ b/src/specklepy/objects/GIS/geometry.py @@ -1,16 +1,18 @@ -from typing import Optional, Union, List -from specklepy.objects.geometry import ( - Point, - Line, - Polyline, - Circle, - Arc, - Polycurve, - Mesh, -) -from specklepy.objects import Base +from typing import List, Optional, Union + from deprecated import deprecated +from specklepy.objects import Base +from specklepy.objects.geometry import ( + Arc, + Circle, + Line, + Mesh, + Point, + Polycurve, + Polyline, +) + class GisPolygonGeometry( Base, speckle_type="Objects.GIS.PolygonGeometry", detachable={"displayValue"} diff --git a/src/specklepy/objects/GIS/layers.py b/src/specklepy/objects/GIS/layers.py index ae39cfa..ffa207a 100644 --- a/src/specklepy/objects/GIS/layers.py +++ b/src/specklepy/objects/GIS/layers.py @@ -1,10 +1,11 @@ -from typing import Any, Dict, List, Union, Optional -from specklepy.objects.base import Base -from specklepy.objects.other import Collection +from typing import Any, Dict, List, Optional, Union -from specklepy.objects.GIS.CRS import CRS from deprecated import deprecated +from specklepy.objects.base import Base +from specklepy.objects.GIS.CRS import CRS +from specklepy.objects.other import Collection + @deprecated(version="2.15", reason="Use VectorLayer or RasterLayer instead") class Layer(Base, detachable={"features"}): diff --git a/src/specklepy/objects/graph_traversal/commit_object_builder.py b/src/specklepy/objects/graph_traversal/commit_object_builder.py index 5157a45..71d76b5 100644 --- a/src/specklepy/objects/graph_traversal/commit_object_builder.py +++ b/src/specklepy/objects/graph_traversal/commit_object_builder.py @@ -11,7 +11,9 @@ from typing import ( Tuple, TypeVar, ) + from attrs import define + from specklepy.objects.base import Base ROOT: str = "__Root" diff --git a/src/specklepy/objects/other.py b/src/specklepy/objects/other.py index b8d65a3..5a2576e 100644 --- a/src/specklepy/objects/other.py +++ b/src/specklepy/objects/other.py @@ -1,7 +1,8 @@ from typing import Any, List, Optional + from deprecated import deprecated -from specklepy.objects.geometry import Point, Vector, Plane, Polyline +from specklepy.objects.geometry import Plane, Point, Polyline, Vector from .base import Base diff --git a/src/specklepy/objects/structural/__init__.py b/src/specklepy/objects/structural/__init__.py index 448aca3..dc91f3a 100644 --- a/src/specklepy/objects/structural/__init__.py +++ b/src/specklepy/objects/structural/__init__.py @@ -6,7 +6,7 @@ from specklepy.objects.structural.analysis import ( ModelSettings, ModelUnits, ) -from specklepy.objects.structural.axis import AxisType, Axis +from specklepy.objects.structural.axis import Axis, AxisType from specklepy.objects.structural.geometry import ( Element1D, Element2D, diff --git a/src/specklepy/objects/structural/axis.py b/src/specklepy/objects/structural/axis.py index 87773dc..aa4408d 100644 --- a/src/specklepy/objects/structural/axis.py +++ b/src/specklepy/objects/structural/axis.py @@ -1,5 +1,5 @@ -from typing import Optional from enum import Enum +from typing import Optional from specklepy.objects.base import Base from specklepy.objects.geometry import Plane diff --git a/tests/intergration/speckle_automate/test_automation_context.py b/tests/intergration/speckle_automate/test_automation_context.py index 2d6d2a0..01f2685 100644 --- a/tests/intergration/speckle_automate/test_automation_context.py +++ b/tests/intergration/speckle_automate/test_automation_context.py @@ -5,12 +5,6 @@ from typing import Dict import pytest from gql import gql -from speckle_automate.schema import AutomateBase -from speckle_automate.helpers import register_new_automation, crypto_random_string -from specklepy.api import operations -from specklepy.api.client import SpeckleClient -from specklepy.objects.base import Base -from specklepy.transports.server import ServerTransport from speckle_automate import ( AutomationContext, @@ -18,6 +12,12 @@ from speckle_automate import ( AutomationStatus, run_function, ) +from speckle_automate.helpers import crypto_random_string, register_new_automation +from speckle_automate.schema import AutomateBase +from specklepy.api import operations +from specklepy.api.client import SpeckleClient +from specklepy.objects.base import Base +from specklepy.transports.server import ServerTransport @pytest.fixture diff --git a/utils/installer.py b/utils/installer.py index 7637ba4..668ad64 100644 --- a/utils/installer.py +++ b/utils/installer.py @@ -3,9 +3,9 @@ Provides uniform and consistent path helpers for `specklepy` """ import os import sys +from importlib import import_module, invalidate_caches from pathlib import Path from typing import Optional -from importlib import import_module, invalidate_caches _user_data_env_var = "SPECKLE_USERDATA_PATH"