diff --git a/src/bonsai/bonsai/bim/module/drawing/operator.py b/src/bonsai/bonsai/bim/module/drawing/operator.py index 66a1482acc..582c7b062b 100644 --- a/src/bonsai/bonsai/bim/module/drawing/operator.py +++ b/src/bonsai/bonsai/bim/module/drawing/operator.py @@ -18,6 +18,7 @@ import hashlib import json +import logging import multiprocessing import os import shutil @@ -39,7 +40,6 @@ from typing import ( import bmesh import bpy -import logging import ifcopenshell import ifcopenshell.api.document import ifcopenshell.api.pset @@ -58,9 +58,9 @@ from bpy_extras.io_utils import ImportHelper from lxml import etree from mathutils import Color, Vector -import bonsai.bim.import_ifc import bonsai.bim.export_ifc import bonsai.bim.handler +import bonsai.bim.import_ifc import bonsai.bim.module.drawing.sheeter as sheeter import bonsai.bim.module.drawing.svgwriter as svgwriter import bonsai.core.drawing as core diff --git a/src/bonsai/bonsai/bim/module/project/operator.py b/src/bonsai/bonsai/bim/module/project/operator.py index 7bffc724e5..da3771ba9c 100644 --- a/src/bonsai/bonsai/bim/module/project/operator.py +++ b/src/bonsai/bonsai/bim/module/project/operator.py @@ -56,14 +56,6 @@ import bonsai.core.project as core import bonsai.tool as tool from bonsai.bim import export_ifc, import_ifc from bonsai.bim.ifc import IfcStore -from bonsai.bim.ui import IFCFileSelector -from bonsai.bim import import_ifc -from bonsai.bim import export_ifc -from math import radians -from pathlib import Path -from collections import defaultdict -from mathutils import Vector, Matrix -from bpy.app.handlers import persistent from bonsai.bim.module.model.decorator import FaceAreaDecorator, PolylineDecorator from bonsai.bim.module.model.polyline import PolylineOperator from bonsai.bim.module.project.data import LinksData, ProjectLibraryData diff --git a/src/bonsai/bonsai/bim/module/project/ui.py b/src/bonsai/bonsai/bim/module/project/ui.py index 7029eb7227..1f00c1b2b4 100644 --- a/src/bonsai/bonsai/bim/module/project/ui.py +++ b/src/bonsai/bonsai/bim/module/project/ui.py @@ -29,7 +29,6 @@ import bonsai.tool as tool from bonsai.bim.helper import draw_attributes, prop_with_search from bonsai.bim.ifc import IfcStore from bonsai.bim.module.project.data import LinksData, ProjectData -from typing import TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.project.prop import ( diff --git a/src/bonsai/bonsai/core/drawing.py b/src/bonsai/bonsai/core/drawing.py index 953f57e7f4..42b0f77fbb 100644 --- a/src/bonsai/bonsai/core/drawing.py +++ b/src/bonsai/bonsai/core/drawing.py @@ -19,7 +19,7 @@ from __future__ import annotations from pathlib import Path -from typing import TYPE_CHECKING, Optional, Union +from typing import TYPE_CHECKING, Literal, Optional, Union if TYPE_CHECKING: import bpy diff --git a/src/bonsai/bonsai/tool/project.py b/src/bonsai/bonsai/tool/project.py index 6e1c9b2186..dc47b977f8 100644 --- a/src/bonsai/bonsai/tool/project.py +++ b/src/bonsai/bonsai/tool/project.py @@ -18,10 +18,9 @@ from __future__ import annotations -import os import json +import os import shutil -import numpy as np from collections import defaultdict from math import radians from pathlib import Path @@ -32,6 +31,7 @@ import ifcopenshell import ifcopenshell.api.document import ifcopenshell.util.element import ifcopenshell.util.representation +import numpy as np from ifcopenshell.api.project.append_asset import APPENDABLE_ASSET_TYPES import bonsai.bim.schema diff --git a/src/bonsai/pyproject.toml b/src/bonsai/pyproject.toml index 398687a715..4ee183cba0 100644 --- a/src/bonsai/pyproject.toml +++ b/src/bonsai/pyproject.toml @@ -38,6 +38,12 @@ exclude = ["test*"] [tool.ruff] extend = "../../pyproject.toml" -lint.select = [ +lint.extend-select = [ "F401", # unused imports ] + +[tool.ruff.lint.isort] +known-first-party = [ + "test", + "bonsai", +] diff --git a/src/bonsai/test/tool/test_blender.py b/src/bonsai/test/tool/test_blender.py index 97e68b9d08..cd155b5dee 100644 --- a/src/bonsai/test/tool/test_blender.py +++ b/src/bonsai/test/tool/test_blender.py @@ -16,6 +16,8 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import tempfile +from pathlib import Path from typing import TYPE_CHECKING import bpy @@ -24,10 +26,8 @@ import pytest import bonsai.core.tool import bonsai.tool as tool -import tempfile from bonsai.tool.blender import Blender as subject from test.bim.bootstrap import NewFile -from pathlib import Path if TYPE_CHECKING: import bpy.stub_internal.rna_enums as rna_enums diff --git a/src/bonsai/test/tool/test_drawing.py b/src/bonsai/test/tool/test_drawing.py index 3fa2e68cae..06091ff8c4 100644 --- a/src/bonsai/test/tool/test_drawing.py +++ b/src/bonsai/test/tool/test_drawing.py @@ -21,7 +21,6 @@ import xml.etree.ElementTree as ET from pathlib import Path import bpy -import pytest import ifcopenshell import ifcopenshell.api.drawing import ifcopenshell.api.group @@ -31,8 +30,9 @@ import ifcopenshell.guid import ifcopenshell.util.element import mathutils import numpy as np -from mathutils import Vector +import pytest from ifcopenshell.util.shape_builder import ShapeBuilder +from mathutils import Vector import bonsai.core.tool import bonsai.tool as tool diff --git a/src/bonsai/test/tool/test_project.py b/src/bonsai/test/tool/test_project.py index 43dc61be8e..28ff090be6 100644 --- a/src/bonsai/test/tool/test_project.py +++ b/src/bonsai/test/tool/test_project.py @@ -16,10 +16,9 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import json import contextlib +import json import tempfile -import numpy as np from pathlib import Path from tempfile import NamedTemporaryFile @@ -30,6 +29,7 @@ import ifcopenshell.api.document import ifcopenshell.api.root import ifcopenshell.api.unit import ifcpatch +import numpy as np from ifcpatch.recipes import Ifc2Sql import bonsai.core.tool diff --git a/src/ifcopenshell-python/ifcopenshell/util/geolocation.py b/src/ifcopenshell-python/ifcopenshell/util/geolocation.py index 42aa28ca51..47c8886691 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/geolocation.py +++ b/src/ifcopenshell-python/ifcopenshell/util/geolocation.py @@ -18,7 +18,7 @@ import math from decimal import ROUND_HALF_UP, Decimal -from typing import NamedTuple, Optional, Union, Any +from typing import Any, NamedTuple, Optional, Union import numpy as np diff --git a/src/ifcpatch/ifcpatch/recipes/MergeProjects.py b/src/ifcpatch/ifcpatch/recipes/MergeProjects.py index ffb8e2e65b..4a06c3d253 100644 --- a/src/ifcpatch/ifcpatch/recipes/MergeProjects.py +++ b/src/ifcpatch/ifcpatch/recipes/MergeProjects.py @@ -25,6 +25,7 @@ import ifcopenshell.util.geolocation import ifcopenshell.util.unit import numpy as np +import ifcpatch from ifcpatch.recipes.SetFalseOrigin import Patcher as SetFalseOrigin