diff --git a/src/bonsai/bonsai/__init__.py b/src/bonsai/bonsai/__init__.py
index b4083b0eef..e30e2bf699 100644
--- a/src/bonsai/bonsai/__init__.py
+++ b/src/bonsai/bonsai/__init__.py
@@ -34,7 +34,6 @@ IN_PACKAGE = __package__ == "bonsai"
import platform
import re
-import shutil
import traceback
import uuid
import webbrowser
diff --git a/src/bonsai/bonsai/bim/export_ifc.py b/src/bonsai/bonsai/bim/export_ifc.py
index cfab523942..633d6292f9 100644
--- a/src/bonsai/bonsai/bim/export_ifc.py
+++ b/src/bonsai/bonsai/bim/export_ifc.py
@@ -24,21 +24,14 @@ import os
import tempfile
import zipfile
from logging import Logger
-from math import radians
from typing import Union
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.util.element
-import ifcopenshell.util.placement
import ifcopenshell.util.unit
-from mathutils import Vector
-import bonsai.core.aggregate
import bonsai.core.geometry
-import bonsai.core.spatial
-import bonsai.core.style
import bonsai.tool as tool
from bonsai.bim.ifc import IfcStore
diff --git a/src/bonsai/bonsai/bim/helper.py b/src/bonsai/bonsai/bim/helper.py
index 9267134988..ab4a0875ab 100644
--- a/src/bonsai/bonsai/bim/helper.py
+++ b/src/bonsai/bonsai/bim/helper.py
@@ -28,7 +28,6 @@ import bpy
import ifcopenshell
import ifcopenshell.ifcopenshell_wrapper as W
import ifcopenshell.util.attribute
-import ifcopenshell.util.element
import ifcopenshell.util.unit
from ifcopenshell.util.doc import (
get_attribute_doc,
diff --git a/src/bonsai/bonsai/bim/import_ifc.py b/src/bonsai/bonsai/bim/import_ifc.py
index 9f846d8ccc..7e8f40560e 100644
--- a/src/bonsai/bonsai/bim/import_ifc.py
+++ b/src/bonsai/bonsai/bim/import_ifc.py
@@ -32,7 +32,6 @@ import ifcopenshell.api.pset
import ifcopenshell.geom
import ifcopenshell.ifcopenshell_wrapper as W
import ifcopenshell.util.element
-import ifcopenshell.util.geolocation
import ifcopenshell.util.placement
import ifcopenshell.util.representation
import ifcopenshell.util.shape
diff --git a/src/bonsai/bonsai/bim/module/aggregate/decorator.py b/src/bonsai/bonsai/bim/module/aggregate/decorator.py
index 080f965bf8..eb389a58bd 100644
--- a/src/bonsai/bonsai/bim/module/aggregate/decorator.py
+++ b/src/bonsai/bonsai/bim/module/aggregate/decorator.py
@@ -19,7 +19,6 @@
import blf
import bpy
import gpu
-import ifcopenshell
import ifcopenshell.util.element
from bpy.types import SpaceView3D
from bpy_extras import view3d_utils
@@ -27,7 +26,6 @@ from gpu_extras.batch import batch_for_shader
from mathutils import Vector
import bonsai.tool as tool
-from bonsai.bim.module.geometry.decorator import ItemDecorator
def transparent_color(color, alpha=0.1):
diff --git a/src/bonsai/bonsai/bim/module/aggregate/operator.py b/src/bonsai/bonsai/bim/module/aggregate/operator.py
index e9f23afece..98bc612784 100644
--- a/src/bonsai/bonsai/bim/module/aggregate/operator.py
+++ b/src/bonsai/bonsai/bim/module/aggregate/operator.py
@@ -19,8 +19,6 @@
from typing import TYPE_CHECKING
import bpy
-import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.group
import ifcopenshell.api.pset
import ifcopenshell.api.root
diff --git a/src/bonsai/bonsai/bim/module/aggregate/prop.py b/src/bonsai/bonsai/bim/module/aggregate/prop.py
index 241663882f..0595c200c5 100644
--- a/src/bonsai/bonsai/bim/module/aggregate/prop.py
+++ b/src/bonsai/bonsai/bim/module/aggregate/prop.py
@@ -23,12 +23,7 @@ import ifcopenshell.util.element
from bpy.props import (
BoolProperty,
CollectionProperty,
- EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
PointerProperty,
- StringProperty,
)
from bpy.types import PropertyGroup
@@ -37,8 +32,6 @@ from bonsai.bim.module.aggregate.decorator import (
AggregateDecorator,
AggregateModeDecorator,
)
-from bonsai.bim.module.spatial.data import SpatialData
-from bonsai.bim.prop import Attribute, StrProperty
def can_aggregate(relating_obj: bpy.types.Object, related_obj: bpy.types.Object) -> bool:
diff --git a/src/bonsai/bonsai/bim/module/aggregate/ui.py b/src/bonsai/bonsai/bim/module/aggregate/ui.py
index d693843401..f59ead6308 100644
--- a/src/bonsai/bonsai/bim/module/aggregate/ui.py
+++ b/src/bonsai/bonsai/bim/module/aggregate/ui.py
@@ -21,7 +21,6 @@ from bpy.types import Panel
import bonsai.tool as tool
from bonsai.bim.ifc import IfcStore
from bonsai.bim.module.aggregate.data import AggregateData
-from bonsai.bim.module.group.data import GroupsData, ObjectGroupsData
class BIM_PT_aggregate(Panel):
diff --git a/src/bonsai/bonsai/bim/module/alignment/operator.py b/src/bonsai/bonsai/bim/module/alignment/operator.py
index 0705dcb1b9..42ad1d25de 100644
--- a/src/bonsai/bonsai/bim/module/alignment/operator.py
+++ b/src/bonsai/bonsai/bim/module/alignment/operator.py
@@ -18,24 +18,14 @@
# pyright: reportUnnecessaryTypeIgnoreComment=error
-import calendar
-import json
-import os
import time
-from datetime import datetime
import bpy
import ifcopenshell.api.alignment
import ifcopenshell.api.spatial
import ifcopenshell.geom
-import ifcopenshell.util.selector
-import ifcopenshell.util.sequence
-import isodate
from bpy_extras.io_utils import ImportHelper
-from dateutil import parser, relativedelta
-import bonsai.bim.module.sequence.helper as helper
-import bonsai.core.sequence as core
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/attribute/prop.py b/src/bonsai/bonsai/bim/module/attribute/prop.py
index 98ffb00c5c..acff2424b7 100644
--- a/src/bonsai/bonsai/bim/module/attribute/prop.py
+++ b/src/bonsai/bonsai/bim/module/attribute/prop.py
@@ -23,16 +23,12 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
- StringProperty,
)
from bpy.types import PropertyGroup
import bonsai.tool as tool
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
class BIMAttributeProperties(PropertyGroup):
diff --git a/src/bonsai/bonsai/bim/module/bcf/bcfstore.py b/src/bonsai/bonsai/bim/module/bcf/bcfstore.py
index a1fec8aa6e..b1abc97c6e 100644
--- a/src/bonsai/bonsai/bim/module/bcf/bcfstore.py
+++ b/src/bonsai/bonsai/bim/module/bcf/bcfstore.py
@@ -19,9 +19,7 @@
import os
from typing import Union
-import bcf
import bcf.bcfxml
-import bcf.v2.bcfxml
import bpy
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/bcf/operator.py b/src/bonsai/bonsai/bim/module/bcf/operator.py
index b0a6f1f699..6edf257f05 100644
--- a/src/bonsai/bonsai/bim/module/bcf/operator.py
+++ b/src/bonsai/bonsai/bim/module/bcf/operator.py
@@ -16,22 +16,18 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import os
import tempfile
import uuid
import webbrowser
-from math import atan, cos, degrees, radians, sin, tan
+from math import atan, degrees, radians, tan
from pathlib import Path
-import bcf
import bcf.agnostic.topic
import bcf.agnostic.visinfo
-import bcf.bcfxml
import bcf.v2.bcfxml
import bcf.v2.model
import bcf.v2.topic
import bcf.v2.visinfo
-import bcf.v3
import bcf.v3.bcfxml
import bcf.v3.document
import bcf.v3.model
@@ -43,11 +39,10 @@ import ifcopenshell.util.geolocation
import ifcopenshell.util.unit
import numpy as np
from bpy_extras.io_utils import ExportHelper, ImportHelper
-from mathutils import Euler, Matrix, Vector, geometry
+from mathutils import Matrix, Vector
from xsdata.models.datatype import XmlDateTime
import bonsai.bim.module.bcf.bcfstore as bcfstore
-import bonsai.bim.module.bcf.prop as bcf_prop
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/bcf/prop.py b/src/bonsai/bonsai/bim/module/bcf/prop.py
index b720a2ff74..3ac751387e 100644
--- a/src/bonsai/bonsai/bim/module/bcf/prop.py
+++ b/src/bonsai/bonsai/bim/module/bcf/prop.py
@@ -24,8 +24,6 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
PointerProperty,
StringProperty,
diff --git a/src/bonsai/bonsai/bim/module/bcf/ui.py b/src/bonsai/bonsai/bim/module/bcf/ui.py
index e3478f63cf..881bef488b 100644
--- a/src/bonsai/bonsai/bim/module/bcf/ui.py
+++ b/src/bonsai/bonsai/bim/module/bcf/ui.py
@@ -18,7 +18,6 @@
from __future__ import annotations
-import os
from typing import TYPE_CHECKING
import bpy
diff --git a/src/bonsai/bonsai/bim/module/boundary/decorator.py b/src/bonsai/bonsai/bim/module/boundary/decorator.py
index 1f5859824e..a2d134a135 100644
--- a/src/bonsai/bonsai/bim/module/boundary/decorator.py
+++ b/src/bonsai/bonsai/bim/module/boundary/decorator.py
@@ -20,7 +20,6 @@ import bmesh
import gpu
from bpy.types import SpaceView3D
from gpu_extras.batch import batch_for_shader
-from mathutils import Vector
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/boundary/operator.py b/src/bonsai/bonsai/bim/module/boundary/operator.py
index 4b26a0a4d9..5720d6aae5 100644
--- a/src/bonsai/bonsai/bim/module/boundary/operator.py
+++ b/src/bonsai/bonsai/bim/module/boundary/operator.py
@@ -29,18 +29,15 @@ import ifcopenshell.api.root
import ifcopenshell.geom
import ifcopenshell.util.element
import ifcopenshell.util.placement
-import ifcopenshell.util.representation
import ifcopenshell.util.shape
import ifcopenshell.util.unit
import mathutils
-import numpy as np
import shapely
import shapely.ops
from ifcopenshell.util.shape_builder import ShapeBuilder
from mathutils import Matrix, Vector
import bonsai.bim.import_ifc as import_ifc
-import bonsai.core
import bonsai.core.geometry
import bonsai.tool as tool
from bonsai.bim.ifc import IfcStore
diff --git a/src/bonsai/bonsai/bim/module/boundary/prop.py b/src/bonsai/bonsai/bim/module/boundary/prop.py
index cd7e0b9de3..2e9ab8c975 100644
--- a/src/bonsai/bonsai/bim/module/boundary/prop.py
+++ b/src/bonsai/bonsai/bim/module/boundary/prop.py
@@ -21,13 +21,7 @@ from typing import TYPE_CHECKING, Union
import bpy
from bpy.props import (
BoolProperty,
- CollectionProperty,
- EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
PointerProperty,
- StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/boundary/ui.py b/src/bonsai/bonsai/bim/module/boundary/ui.py
index 54694d752c..0ca21b9ce5 100644
--- a/src/bonsai/bonsai/bim/module/boundary/ui.py
+++ b/src/bonsai/bonsai/bim/module/boundary/ui.py
@@ -16,8 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import bpy
-from bpy.types import Panel, UIList
+from bpy.types import Panel
import bonsai.tool as tool
from bonsai.bim.module.boundary.data import SpaceBoundariesData
diff --git a/src/bonsai/bonsai/bim/module/brick/operator.py b/src/bonsai/bonsai/bim/module/brick/operator.py
index cb0a5f675f..2f71e6b638 100644
--- a/src/bonsai/bonsai/bim/module/brick/operator.py
+++ b/src/bonsai/bonsai/bim/module/brick/operator.py
@@ -19,7 +19,6 @@
import os
import bpy
-import ifcopenshell.api
from bpy_extras.io_utils import ExportHelper, ImportHelper
import bonsai.bim.handler
diff --git a/src/bonsai/bonsai/bim/module/brick/prop.py b/src/bonsai/bonsai/bim/module/brick/prop.py
index 9fe6d78407..6201113a09 100644
--- a/src/bonsai/bonsai/bim/module/brick/prop.py
+++ b/src/bonsai/bonsai/bim/module/brick/prop.py
@@ -23,10 +23,7 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
@@ -34,7 +31,7 @@ from bpy.types import PropertyGroup
import bonsai.core.brick as core
import bonsai.tool.brick as tool
from bonsai.bim.module.brick.data import BrickschemaData, BrickschemaReferencesData
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import StrProperty
from bonsai.tool.brick import BrickStore
diff --git a/src/bonsai/bonsai/bim/module/bsdd/data.py b/src/bonsai/bonsai/bim/module/bsdd/data.py
index 6e916d3355..37d030d867 100644
--- a/src/bonsai/bonsai/bim/module/bsdd/data.py
+++ b/src/bonsai/bonsai/bim/module/bsdd/data.py
@@ -16,13 +16,8 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import bpy
-import ifcopenshell
-import ifcopenshell.util.classification
-import ifcopenshell.util.date
import bonsai.tool as tool
-from bonsai.bim.ifc import IfcStore
def refresh():
diff --git a/src/bonsai/bonsai/bim/module/bsdd/operator.py b/src/bonsai/bonsai/bim/module/bsdd/operator.py
index d3f5533c1a..8b94e12fd9 100644
--- a/src/bonsai/bonsai/bim/module/bsdd/operator.py
+++ b/src/bonsai/bonsai/bim/module/bsdd/operator.py
@@ -19,7 +19,6 @@ import textwrap
from typing import Any
import bpy
-import bsdd
import ifcopenshell.api.pset
import ifcopenshell.util.element
diff --git a/src/bonsai/bonsai/bim/module/bsdd/prop.py b/src/bonsai/bonsai/bim/module/bsdd/prop.py
index efd8db46db..d595ad8018 100644
--- a/src/bonsai/bonsai/bim/module/bsdd/prop.py
+++ b/src/bonsai/bonsai/bim/module/bsdd/prop.py
@@ -23,10 +23,7 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
@@ -34,7 +31,7 @@ from bpy.types import PropertyGroup
import bonsai.tool as tool
from bonsai.bim.module.bsdd.data import BSDDData
from bonsai.bim.module.classification.data import ClassificationsData
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
def get_active_dictionary(self: "BIMBSDDProperties", context: object) -> tool.Blender.BLENDER_ENUM_ITEMS:
diff --git a/src/bonsai/bonsai/bim/module/bsdd/ui.py b/src/bonsai/bonsai/bim/module/bsdd/ui.py
index f239eb41cf..f49f48abb9 100644
--- a/src/bonsai/bonsai/bim/module/bsdd/ui.py
+++ b/src/bonsai/bonsai/bim/module/bsdd/ui.py
@@ -24,7 +24,6 @@ import bpy
from bpy.types import Panel, UIList
import bonsai.tool as tool
-import bsdd
from bonsai.bim.module.bsdd.data import BSDDData
if TYPE_CHECKING:
diff --git a/src/bonsai/bonsai/bim/module/cad/operator.py b/src/bonsai/bonsai/bim/module/cad/operator.py
index 857d757ca1..3b6ef8fc69 100644
--- a/src/bonsai/bonsai/bim/module/cad/operator.py
+++ b/src/bonsai/bonsai/bim/module/cad/operator.py
@@ -17,13 +17,11 @@
# along with Bonsai. If not, see .
import math
-from math import cos, pi, radians, sin, sqrt
-from typing import Union
+from math import pi, sqrt
import bmesh
import bpy
import bpy_extras
-import ifcopenshell.util.unit
import mathutils
from mathutils import Matrix, Vector
diff --git a/src/bonsai/bonsai/bim/module/cad/prop.py b/src/bonsai/bonsai/bim/module/cad/prop.py
index db737b51dc..7dab36df91 100644
--- a/src/bonsai/bonsai/bim/module/cad/prop.py
+++ b/src/bonsai/bonsai/bim/module/cad/prop.py
@@ -22,8 +22,6 @@ from typing import TYPE_CHECKING
import bpy
from bpy.types import PropertyGroup
-from bonsai.bim.module.model.data import AuthoringData
-
class BIMCadProperties(PropertyGroup):
resolution: bpy.props.IntProperty(name="Arc Resolution", min=1, default=1)
diff --git a/src/bonsai/bonsai/bim/module/cad/workspace.py b/src/bonsai/bonsai/bim/module/cad/workspace.py
index b384463ac2..20faa4dcc7 100644
--- a/src/bonsai/bonsai/bim/module/cad/workspace.py
+++ b/src/bonsai/bonsai/bim/module/cad/workspace.py
@@ -20,12 +20,10 @@ import os
from functools import partial
import bpy
-import ifcopenshell.util.unit
from bpy.types import WorkSpaceTool
-import bonsai.bim.module.type.prop as type_prop
import bonsai.tool as tool
-from bonsai.bim.module.model.data import AuthoringData, RailingData, RoofData
+from bonsai.bim.module.model.data import RailingData, RoofData
def load_custom_icons():
diff --git a/src/bonsai/bonsai/bim/module/clash/data.py b/src/bonsai/bonsai/bim/module/clash/data.py
index 4ecbb229a4..f5b87ede95 100644
--- a/src/bonsai/bonsai/bim/module/clash/data.py
+++ b/src/bonsai/bonsai/bim/module/clash/data.py
@@ -18,9 +18,6 @@
import json
-import bpy
-import ifcopenshell.util.element
-
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/clash/decorator.py b/src/bonsai/bonsai/bim/module/clash/decorator.py
index d1d0daf095..ab95c92d9f 100644
--- a/src/bonsai/bonsai/bim/module/clash/decorator.py
+++ b/src/bonsai/bonsai/bim/module/clash/decorator.py
@@ -17,7 +17,6 @@
# along with Bonsai. If not, see .
import blf
-import bmesh
import gpu
from bpy.types import SpaceView3D
from bpy_extras.view3d_utils import location_3d_to_region_2d
diff --git a/src/bonsai/bonsai/bim/module/clash/operator.py b/src/bonsai/bonsai/bim/module/clash/operator.py
index 688568270f..94866a4e97 100644
--- a/src/bonsai/bonsai/bim/module/clash/operator.py
+++ b/src/bonsai/bonsai/bim/module/clash/operator.py
@@ -18,16 +18,13 @@
import json
import logging
-import os
import tempfile
from math import radians
from pathlib import Path
from typing import TYPE_CHECKING
-import bmesh
import bpy
import ifcopenshell
-import numpy as np
from bpy_extras.io_utils import ExportHelper, ImportHelper
from mathutils import Matrix, Vector
diff --git a/src/bonsai/bonsai/bim/module/clash/prop.py b/src/bonsai/bonsai/bim/module/clash/prop.py
index 5f42a400e7..8bcd71632b 100644
--- a/src/bonsai/bonsai/bim/module/clash/prop.py
+++ b/src/bonsai/bonsai/bim/module/clash/prop.py
@@ -26,7 +26,6 @@ from bpy.props import (
FloatProperty,
FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
@@ -34,7 +33,7 @@ from ifcopenshell.geom.main import CLASH_TYPE_ITEMS, ClashType
from mathutils import Vector
import bonsai.tool as tool
-from bonsai.bim.prop import Attribute, BIMFilterGroup, StrProperty
+from bonsai.bim.prop import BIMFilterGroup, StrProperty
class ClashSource(PropertyGroup):
diff --git a/src/bonsai/bonsai/bim/module/classification/operator.py b/src/bonsai/bonsai/bim/module/classification/operator.py
index 7bf699cc31..77b77ba541 100644
--- a/src/bonsai/bonsai/bim/module/classification/operator.py
+++ b/src/bonsai/bonsai/bim/module/classification/operator.py
@@ -18,7 +18,6 @@
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.classification
import ifcopenshell.api.pset
import ifcopenshell.util.classification
diff --git a/src/bonsai/bonsai/bim/module/classification/prop.py b/src/bonsai/bonsai/bim/module/classification/prop.py
index 454f861f07..44f174bd13 100644
--- a/src/bonsai/bonsai/bim/module/classification/prop.py
+++ b/src/bonsai/bonsai/bim/module/classification/prop.py
@@ -23,10 +23,7 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/classification/ui.py b/src/bonsai/bonsai/bim/module/classification/ui.py
index 77310be49a..6840238927 100644
--- a/src/bonsai/bonsai/bim/module/classification/ui.py
+++ b/src/bonsai/bonsai/bim/module/classification/ui.py
@@ -25,7 +25,6 @@ import ifcopenshell.util.classification
from bpy.types import Panel, UIList
import bonsai.bim.helper
-import bonsai.bim.module.classification.prop as classification_prop
import bonsai.tool as tool
from bonsai.bim.module.classification.data import (
ClassificationsData,
diff --git a/src/bonsai/bonsai/bim/module/constraint/operator.py b/src/bonsai/bonsai/bim/module/constraint/operator.py
index 976f4ff6a3..d438325f44 100644
--- a/src/bonsai/bonsai/bim/module/constraint/operator.py
+++ b/src/bonsai/bonsai/bim/module/constraint/operator.py
@@ -19,7 +19,6 @@
from typing import TYPE_CHECKING
import bpy
-import ifcopenshell.api
import ifcopenshell.api.constraint
import bonsai.bim.helper
diff --git a/src/bonsai/bonsai/bim/module/constraint/prop.py b/src/bonsai/bonsai/bim/module/constraint/prop.py
index c76d48e8a6..55ae9d1223 100644
--- a/src/bonsai/bonsai/bim/module/constraint/prop.py
+++ b/src/bonsai/bonsai/bim/module/constraint/prop.py
@@ -20,19 +20,13 @@ from typing import TYPE_CHECKING, Literal
import bpy
from bpy.props import (
- BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
-from ifcopenshell.util.doc import get_entity_doc
-import bonsai.tool as tool
from bonsai.bim.module.constraint.data import ConstraintsData
from bonsai.bim.prop import Attribute
diff --git a/src/bonsai/bonsai/bim/module/context/data.py b/src/bonsai/bonsai/bim/module/context/data.py
index ade8061a4b..e2717a166a 100644
--- a/src/bonsai/bonsai/bim/module/context/data.py
+++ b/src/bonsai/bonsai/bim/module/context/data.py
@@ -18,7 +18,6 @@
from typing import Any
-import bpy
import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/context/prop.py b/src/bonsai/bonsai/bim/module/context/prop.py
index ff73c53a5a..e8540746ff 100644
--- a/src/bonsai/bonsai/bim/module/context/prop.py
+++ b/src/bonsai/bonsai/bim/module/context/prop.py
@@ -20,19 +20,13 @@ from typing import TYPE_CHECKING
import bpy
from bpy.props import (
- BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
- StringProperty,
)
from bpy.types import PropertyGroup
-from bonsai.bim.module.context.data import ContextData
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
class BIMContextProperties(PropertyGroup):
diff --git a/src/bonsai/bonsai/bim/module/cost/data.py b/src/bonsai/bonsai/bim/module/cost/data.py
index aab9ea9231..32299b8e41 100644
--- a/src/bonsai/bonsai/bim/module/cost/data.py
+++ b/src/bonsai/bonsai/bim/module/cost/data.py
@@ -18,13 +18,11 @@
from typing import Any, Union
-import bpy
import ifcopenshell
import ifcopenshell.util.cost
import ifcopenshell.util.date
import ifcopenshell.util.element
import ifcopenshell.util.unit
-from ifcopenshell.util.doc import get_entity_doc, get_predefined_type_doc
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/cost/operator.py b/src/bonsai/bonsai/bim/module/cost/operator.py
index 48b672a2c2..b612100a1d 100644
--- a/src/bonsai/bonsai/bim/module/cost/operator.py
+++ b/src/bonsai/bonsai/bim/module/cost/operator.py
@@ -987,10 +987,10 @@ class ExportCostSchedulesToPDF(bpy.types.Operator, ExportHelper):
@classmethod
def poll(cls, context):
try:
- import typst
+ import typst # noqa: F401
return True
- except:
+ except ModuleNotFoundError:
cls.poll_message_set(
"Typst not available.\nIt can be installed from Quality and\nControl -> Debug and using 'typst' with Pip Install.\n(Run Blender as Administrator)"
)
diff --git a/src/bonsai/bonsai/bim/module/cost/prop.py b/src/bonsai/bonsai/bim/module/cost/prop.py
index 121ca617e7..426d5c1e33 100644
--- a/src/bonsai/bonsai/bim/module/cost/prop.py
+++ b/src/bonsai/bonsai/bim/module/cost/prop.py
@@ -19,16 +19,13 @@
from typing import TYPE_CHECKING, Literal, Union
import bpy
-import ifcopenshell.api
import ifcopenshell.api.cost
from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/covering/workspace.py b/src/bonsai/bonsai/bim/module/covering/workspace.py
index 68b2704166..728b4f6013 100644
--- a/src/bonsai/bonsai/bim/module/covering/workspace.py
+++ b/src/bonsai/bonsai/bim/module/covering/workspace.py
@@ -21,7 +21,6 @@ import os
from functools import partial
import bpy
-import ifcopenshell
from bpy.types import WorkSpaceTool
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/covetool/operator.py b/src/bonsai/bonsai/bim/module/covetool/operator.py
index fa298ada9c..fb2b2f3086 100644
--- a/src/bonsai/bonsai/bim/module/covetool/operator.py
+++ b/src/bonsai/bonsai/bim/module/covetool/operator.py
@@ -20,7 +20,6 @@ import json
from math import atan2, degrees
import bpy
-import ifcopenshell
import ifcopenshell.util.element
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/csv/operator.py b/src/bonsai/bonsai/bim/module/csv/operator.py
index d42e8d3852..3b1db40b6b 100644
--- a/src/bonsai/bonsai/bim/module/csv/operator.py
+++ b/src/bonsai/bonsai/bim/module/csv/operator.py
@@ -19,14 +19,10 @@
from __future__ import annotations
import json
-import logging
-import os
-import tempfile
from collections import Counter
from typing import TYPE_CHECKING
import bpy
-import ifccsv
import ifcopenshell
import ifcopenshell.util.selector
from bpy_extras.io_utils import ExportHelper, ImportHelper
diff --git a/src/bonsai/bonsai/bim/module/csv/prop.py b/src/bonsai/bonsai/bim/module/csv/prop.py
index a698f89b76..8104a8d75b 100644
--- a/src/bonsai/bonsai/bim/module/csv/prop.py
+++ b/src/bonsai/bonsai/bim/module/csv/prop.py
@@ -23,15 +23,11 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
-from bonsai.bim.prop import BIMFilterGroup, StrProperty
+from bonsai.bim.prop import BIMFilterGroup
class CsvAttribute(PropertyGroup):
diff --git a/src/bonsai/bonsai/bim/module/debug/operator.py b/src/bonsai/bonsai/bim/module/debug/operator.py
index 6e30a3cc0f..9315386008 100644
--- a/src/bonsai/bonsai/bim/module/debug/operator.py
+++ b/src/bonsai/bonsai/bim/module/debug/operator.py
@@ -29,7 +29,6 @@ from typing import TYPE_CHECKING, Any, Literal, Union, assert_never, get_args
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.pset
import ifcopenshell.geom
import ifcopenshell.ifcopenshell_wrapper as W
diff --git a/src/bonsai/bonsai/bim/module/debug/prop.py b/src/bonsai/bonsai/bim/module/debug/prop.py
index e52ec5ff7d..9744159e20 100644
--- a/src/bonsai/bonsai/bim/module/debug/prop.py
+++ b/src/bonsai/bonsai/bim/module/debug/prop.py
@@ -20,13 +20,9 @@ from typing import TYPE_CHECKING, Literal, get_args
import bpy
from bpy.props import (
- BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/demo/prop.py b/src/bonsai/bonsai/bim/module/demo/prop.py
index f206fe3156..6570c4cbc0 100644
--- a/src/bonsai/bonsai/bim/module/demo/prop.py
+++ b/src/bonsai/bonsai/bim/module/demo/prop.py
@@ -32,18 +32,10 @@
from typing import TYPE_CHECKING
-import bpy
-
# Properties have many different data types. We won't use all of them in this
# demo module, but this is a list for your reference.
from bpy.props import (
BoolProperty,
- CollectionProperty,
- EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/diff/prop.py b/src/bonsai/bonsai/bim/module/diff/prop.py
index c8f9d48c84..cfe5b147fe 100644
--- a/src/bonsai/bonsai/bim/module/diff/prop.py
+++ b/src/bonsai/bonsai/bim/module/diff/prop.py
@@ -23,16 +23,12 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
from bonsai.bim.module.diff.data import DiffData
-from bonsai.bim.prop import BIMFilterGroup, StrProperty
+from bonsai.bim.prop import BIMFilterGroup
def update_diff_json_file(self: "DiffProperties", context: bpy.types.Context) -> None:
diff --git a/src/bonsai/bonsai/bim/module/document/data.py b/src/bonsai/bonsai/bim/module/document/data.py
index 97b4a1f206..f194e2f4e0 100644
--- a/src/bonsai/bonsai/bim/module/document/data.py
+++ b/src/bonsai/bonsai/bim/module/document/data.py
@@ -19,8 +19,6 @@
import os
import bpy
-import ifcopenshell
-import ifcopenshell.util.schema
from natsort import natsorted
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/document/operator.py b/src/bonsai/bonsai/bim/module/document/operator.py
index a4e5cfc4ac..006ed27957 100644
--- a/src/bonsai/bonsai/bim/module/document/operator.py
+++ b/src/bonsai/bonsai/bim/module/document/operator.py
@@ -20,10 +20,9 @@ import json
import bpy
-import bonsai.bim.handler
import bonsai.core.document as core
import bonsai.tool as tool
-from bonsai.bim.module.document.data import DocumentData, ObjectDocumentData
+from bonsai.bim.module.document.data import ObjectDocumentData
class LoadProjectDocuments(bpy.types.Operator):
diff --git a/src/bonsai/bonsai/bim/module/document/prop.py b/src/bonsai/bonsai/bim/module/document/prop.py
index b1eb41cc2e..c51f7b636c 100644
--- a/src/bonsai/bonsai/bim/module/document/prop.py
+++ b/src/bonsai/bonsai/bim/module/document/prop.py
@@ -5,17 +5,14 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
import bonsai.tool as tool
from bonsai.bim.module.document.data import DocumentData, refresh
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
def update_document_name(self: "Document", context: bpy.types.Context) -> None:
diff --git a/src/bonsai/bonsai/bim/module/document/ui.py b/src/bonsai/bonsai/bim/module/document/ui.py
index eda5d34a1d..d618d6d966 100644
--- a/src/bonsai/bonsai/bim/module/document/ui.py
+++ b/src/bonsai/bonsai/bim/module/document/ui.py
@@ -16,7 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import bpy
from bpy.types import Panel, UIList
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/drawing/annotation.py b/src/bonsai/bonsai/bim/module/drawing/annotation.py
index 18d914872a..d1e2dc4b2b 100644
--- a/src/bonsai/bonsai/bim/module/drawing/annotation.py
+++ b/src/bonsai/bonsai/bim/module/drawing/annotation.py
@@ -18,15 +18,12 @@
from __future__ import annotations
-import math
-import os
-from pathlib import Path
from typing import Optional
import bmesh
import bpy
import ifcopenshell.util.element
-from mathutils import Matrix, Vector
+from mathutils import Vector
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/drawing/data.py b/src/bonsai/bonsai/bim/module/drawing/data.py
index 1668d386d3..8373ed29bc 100644
--- a/src/bonsai/bonsai/bim/module/drawing/data.py
+++ b/src/bonsai/bonsai/bim/module/drawing/data.py
@@ -23,8 +23,6 @@ from typing import Any, Union
import bpy
import ifcopenshell.util.element
-import ifcopenshell.util.representation
-import ifcopenshell.util.selector
import ifcopenshell.util.unit
from natsort import natsorted
diff --git a/src/bonsai/bonsai/bim/module/drawing/decoration.py b/src/bonsai/bonsai/bim/module/drawing/decoration.py
index 705fabfcf9..f950f7a1bb 100644
--- a/src/bonsai/bonsai/bim/module/drawing/decoration.py
+++ b/src/bonsai/bonsai/bim/module/drawing/decoration.py
@@ -23,7 +23,7 @@ from functools import cache
from math import acos, atan, cos, degrees, pi, radians, sin
from pathlib import Path
from timeit import default_timer as timer
-from typing import Optional, Union
+from typing import Optional
import blf
import bmesh
@@ -34,7 +34,6 @@ import ifcopenshell.util.element
import ifcopenshell.util.representation
import ifcopenshell.util.unit
import numpy as np
-import shapely
from bpy.types import SpaceView3D
from bpy_extras.view3d_utils import location_3d_to_region_2d
from gpu_extras.batch import batch_for_shader
diff --git a/src/bonsai/bonsai/bim/module/drawing/helper.py b/src/bonsai/bonsai/bim/module/drawing/helper.py
index ee8ecf805d..7dce81359d 100644
--- a/src/bonsai/bonsai/bim/module/drawing/helper.py
+++ b/src/bonsai/bonsai/bim/module/drawing/helper.py
@@ -17,10 +17,8 @@
# along with Bonsai. If not, see .
import math
-from typing import Union
import bpy
-import ifcopenshell
import ifcopenshell.util.element
import ifcopenshell.util.unit
import mathutils.geometry
diff --git a/src/bonsai/bonsai/bim/module/drawing/operator.py b/src/bonsai/bonsai/bim/module/drawing/operator.py
index 2cddf46f9e..55804498ec 100644
--- a/src/bonsai/bonsai/bim/module/drawing/operator.py
+++ b/src/bonsai/bonsai/bim/module/drawing/operator.py
@@ -20,7 +20,6 @@ import hashlib
import json
import multiprocessing
import os
-import re
import shutil
import subprocess
import time
@@ -42,7 +41,6 @@ import bmesh
import bpy
import logging
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.document
import ifcopenshell.api.pset
import ifcopenshell.api.style
@@ -55,17 +53,14 @@ import ifcopenshell.util.shape_builder
import ifcopenshell.util.unit
import numpy as np
import shapely
-import shapely.ops
from bpy_extras.image_utils import load_image
from bpy_extras.io_utils import ImportHelper
from lxml import etree
-from mathutils import Color, Matrix, Vector
+from mathutils import Color, Vector
import bonsai.bim.import_ifc
import bonsai.bim.export_ifc
import bonsai.bim.handler
-import bonsai.bim.helper
-import bonsai.bim.module.drawing.annotation as annotation
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/drawing/prop.py b/src/bonsai/bonsai/bim/module/drawing/prop.py
index b323b8d41e..cc597a4802 100644
--- a/src/bonsai/bonsai/bim/module/drawing/prop.py
+++ b/src/bonsai/bonsai/bim/module/drawing/prop.py
@@ -18,14 +18,11 @@
import enum
import json
-import os
from collections.abc import Callable
-from pathlib import Path
-from typing import TYPE_CHECKING, Any, Literal, Union, get_args
+from typing import TYPE_CHECKING, Any, Literal, Union
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.pset
import ifcopenshell.util.element
from bpy.props import (
@@ -34,7 +31,6 @@ from bpy.props import (
CollectionProperty,
EnumProperty,
FloatProperty,
- FloatVectorProperty,
IntProperty,
PointerProperty,
StringProperty,
@@ -42,19 +38,17 @@ from bpy.props import (
from bpy.types import PropertyGroup
from mathutils import Matrix
-import bonsai.bim.module.drawing.annotation as annotation
import bonsai.bim.module.drawing.decoration as decoration
import bonsai.core.drawing as core
import bonsai.tool as tool
from bonsai.bim.module.drawing.data import (
AnnotationData,
- DecoratorData,
DrawingsData,
ElementValuesData,
SheetsData,
)
from bonsai.bim.module.drawing.data import refresh as refresh_drawing_data
-from bonsai.bim.prop import Attribute, BIMFilterGroup, StrProperty
+from bonsai.bim.prop import Attribute, BIMFilterGroup
diagram_scales_enum = []
diff --git a/src/bonsai/bonsai/bim/module/drawing/scheduler.py b/src/bonsai/bonsai/bim/module/drawing/scheduler.py
index 3b120e8d99..a1610020c4 100644
--- a/src/bonsai/bonsai/bim/module/drawing/scheduler.py
+++ b/src/bonsai/bonsai/bim/module/drawing/scheduler.py
@@ -22,7 +22,6 @@ import string
from pathlib import Path
from textwrap import wrap
-import bpy
import openpyxl
import openpyxl.cell # Unnecessary, bug in typeshed.
import openpyxl.utils # Unnecessary, bug in typeshed.
@@ -33,7 +32,6 @@ from odf.table import Table, TableCell, TableColumn, TableRow
from odf.text import P
import bonsai.tool as tool
-from bonsai.bim.ifc import IfcStore
from bonsai.bim.module.drawing.svgwriter import SvgWriter
DEBUG = False
diff --git a/src/bonsai/bonsai/bim/module/drawing/sheeter.py b/src/bonsai/bonsai/bim/module/drawing/sheeter.py
index 7d8ebb67f4..df57b6efb5 100644
--- a/src/bonsai/bonsai/bim/module/drawing/sheeter.py
+++ b/src/bonsai/bonsai/bim/module/drawing/sheeter.py
@@ -26,7 +26,6 @@ import xml.etree.ElementTree as ET
from pathlib import Path
from xml.dom import minidom
-import bpy
import ifcopenshell.util.geolocation
import pystache
from mathutils import Vector
diff --git a/src/bonsai/bonsai/bim/module/drawing/svgwriter.py b/src/bonsai/bonsai/bim/module/drawing/svgwriter.py
index ef64fdefc6..83566c4d0b 100644
--- a/src/bonsai/bonsai/bim/module/drawing/svgwriter.py
+++ b/src/bonsai/bonsai/bim/module/drawing/svgwriter.py
@@ -18,7 +18,6 @@
import math
import os
-import re
import shutil
import xml.etree.ElementTree as ET
from collections.abc import Callable, Sequence
@@ -30,10 +29,8 @@ import bmesh
import bpy
import ifcopenshell
import ifcopenshell.util.element
-import ifcopenshell.util.representation
import ifcopenshell.util.selector
import ifcopenshell.util.unit
-import mathutils
import svgwrite
import svgwrite.container
import svgwrite.text
diff --git a/src/bonsai/bonsai/bim/module/drawing/ui.py b/src/bonsai/bonsai/bim/module/drawing/ui.py
index dc98715686..1b6a11cd75 100644
--- a/src/bonsai/bonsai/bim/module/drawing/ui.py
+++ b/src/bonsai/bonsai/bim/module/drawing/ui.py
@@ -30,7 +30,6 @@ from bonsai.bim.module.drawing.data import (
DocumentsData,
DrawingsData,
ElementFiltersData,
- ElementValuesData,
ProductAssignmentsData,
SheetsData,
)
diff --git a/src/bonsai/bonsai/bim/module/fm/data.py b/src/bonsai/bonsai/bim/module/fm/data.py
index 80a686e364..6d486fd9ce 100644
--- a/src/bonsai/bonsai/bim/module/fm/data.py
+++ b/src/bonsai/bonsai/bim/module/fm/data.py
@@ -16,8 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import importlib
-import os
import ifcfm
diff --git a/src/bonsai/bonsai/bim/module/fm/operator.py b/src/bonsai/bonsai/bim/module/fm/operator.py
index 629251282a..43e9bb50e7 100644
--- a/src/bonsai/bonsai/bim/module/fm/operator.py
+++ b/src/bonsai/bonsai/bim/module/fm/operator.py
@@ -16,10 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import json
-import logging
import os
-import tempfile
import bpy
import ifcfm
diff --git a/src/bonsai/bonsai/bim/module/fm/prop.py b/src/bonsai/bonsai/bim/module/fm/prop.py
index 2eb1ae4739..cd6b038bc7 100644
--- a/src/bonsai/bonsai/bim/module/fm/prop.py
+++ b/src/bonsai/bonsai/bim/module/fm/prop.py
@@ -23,11 +23,7 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
PointerProperty,
- StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/geometry/__init__.py b/src/bonsai/bonsai/bim/module/geometry/__init__.py
index bc64947436..111b67b5b0 100644
--- a/src/bonsai/bonsai/bim/module/geometry/__init__.py
+++ b/src/bonsai/bonsai/bim/module/geometry/__init__.py
@@ -16,8 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import math
-
import bpy
import ifcopenshell.util.element
from bpy.app.handlers import persistent
diff --git a/src/bonsai/bonsai/bim/module/geometry/decorator.py b/src/bonsai/bonsai/bim/module/geometry/decorator.py
index c5a82c1d59..589b18ec84 100644
--- a/src/bonsai/bonsai/bim/module/geometry/decorator.py
+++ b/src/bonsai/bonsai/bim/module/geometry/decorator.py
@@ -19,7 +19,6 @@
from collections.abc import Sequence
import blf
-import bmesh
import bpy
import gpu
import ifcopenshell
diff --git a/src/bonsai/bonsai/bim/module/geometry/helper.py b/src/bonsai/bonsai/bim/module/geometry/helper.py
index 511669d60d..3b14003435 100644
--- a/src/bonsai/bonsai/bim/module/geometry/helper.py
+++ b/src/bonsai/bonsai/bim/module/geometry/helper.py
@@ -16,22 +16,17 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-from math import pi, pow
+from math import pi
from typing import Any, Optional, TypeVar, Union
import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.util.shape
import ifcopenshell.util.unit
import mathutils
-import numpy as np
-import shapely
from ifcopenshell.util.shape_builder import ShapeBuilder
from mathutils import Matrix, Vector, geometry
-import bonsai.tool as tool
-
T = TypeVar("T")
diff --git a/src/bonsai/bonsai/bim/module/geometry/operator.py b/src/bonsai/bonsai/bim/module/geometry/operator.py
index 7937acca30..9ea6ba72f5 100644
--- a/src/bonsai/bonsai/bim/module/geometry/operator.py
+++ b/src/bonsai/bonsai/bim/module/geometry/operator.py
@@ -16,7 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import re
from collections.abc import Sequence
from time import time
from typing import (
@@ -32,11 +31,9 @@ from typing import (
import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.boundary
import ifcopenshell.api.drawing
import ifcopenshell.api.geometry
-import ifcopenshell.api.grid
import ifcopenshell.api.group
import ifcopenshell.api.layer
import ifcopenshell.api.material
@@ -61,10 +58,8 @@ import bonsai.core.geometry as core
import bonsai.core.nest
import bonsai.core.root
import bonsai.core.spatial
-import bonsai.core.style
import bonsai.tool as tool
from bonsai.bim.ifc import IfcStore
-from bonsai.bim.module.model.data import AuthoringData
from bonsai.bim.module.model.decorator import ProfileDecorator
if TYPE_CHECKING:
diff --git a/src/bonsai/bonsai/bim/module/geometry/prop.py b/src/bonsai/bonsai/bim/module/geometry/prop.py
index 5336eef1c0..549c3bd227 100644
--- a/src/bonsai/bonsai/bim/module/geometry/prop.py
+++ b/src/bonsai/bonsai/bim/module/geometry/prop.py
@@ -24,8 +24,6 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
PointerProperty,
StringProperty,
@@ -34,7 +32,6 @@ from bpy.types import PropertyGroup
import bonsai.tool as tool
from bonsai.bim.module.geometry.data import RepresentationsData, ViewportData
-from bonsai.bim.prop import Attribute, ObjProperty, StrProperty
def get_contexts(self: "BIMObjectGeometryProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]:
diff --git a/src/bonsai/bonsai/bim/module/georeference/data.py b/src/bonsai/bonsai/bim/module/georeference/data.py
index cf86314f9a..bc9e5b9ac4 100644
--- a/src/bonsai/bonsai/bim/module/georeference/data.py
+++ b/src/bonsai/bonsai/bim/module/georeference/data.py
@@ -17,7 +17,6 @@
# along with Bonsai. If not, see .
-import bpy
import ifcopenshell.util.element
import ifcopenshell.util.geolocation
import ifcopenshell.util.schema
diff --git a/src/bonsai/bonsai/bim/module/georeference/decorator.py b/src/bonsai/bonsai/bim/module/georeference/decorator.py
index 6cece45cc8..05bce0e20b 100644
--- a/src/bonsai/bonsai/bim/module/georeference/decorator.py
+++ b/src/bonsai/bonsai/bim/module/georeference/decorator.py
@@ -19,10 +19,7 @@
from math import radians
import blf
-import bmesh
-import bpy
import gpu
-import ifcopenshell
import ifcopenshell.util.geolocation
from bpy.types import SpaceView3D
from bpy_extras.view3d_utils import location_3d_to_region_2d
diff --git a/src/bonsai/bonsai/bim/module/georeference/operator.py b/src/bonsai/bonsai/bim/module/georeference/operator.py
index c2af3d9225..93a4e0ef24 100644
--- a/src/bonsai/bonsai/bim/module/georeference/operator.py
+++ b/src/bonsai/bonsai/bim/module/georeference/operator.py
@@ -21,7 +21,6 @@ from bpy_extras.io_utils import ImportHelper
import bonsai.core.georeference as core
import bonsai.tool as tool
-from bonsai.bim.module.georeference.decorator import GeoreferenceDecorator
class AddGeoreferencing(bpy.types.Operator, tool.Ifc.Operator):
diff --git a/src/bonsai/bonsai/bim/module/georeference/prop.py b/src/bonsai/bonsai/bim/module/georeference/prop.py
index 1f4ca321ac..41035398e9 100644
--- a/src/bonsai/bonsai/bim/module/georeference/prop.py
+++ b/src/bonsai/bonsai/bim/module/georeference/prop.py
@@ -23,11 +23,7 @@ import ifcopenshell.util.geolocation
from bpy.props import (
BoolProperty,
CollectionProperty,
- EnumProperty,
FloatProperty,
- FloatVectorProperty,
- IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/group/data.py b/src/bonsai/bonsai/bim/module/group/data.py
index c7be2ff393..fd5eba102d 100644
--- a/src/bonsai/bonsai/bim/module/group/data.py
+++ b/src/bonsai/bonsai/bim/module/group/data.py
@@ -17,9 +17,6 @@
# along with Bonsai. If not, see .
import bpy
-import ifcopenshell
-import ifcopenshell.util.cost
-import ifcopenshell.util.element
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/group/operator.py b/src/bonsai/bonsai/bim/module/group/operator.py
index 66872ed90a..adea9ee48c 100644
--- a/src/bonsai/bonsai/bim/module/group/operator.py
+++ b/src/bonsai/bonsai/bim/module/group/operator.py
@@ -16,10 +16,9 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-from typing import TYPE_CHECKING, Literal, get_args
+from typing import TYPE_CHECKING, get_args
import bpy
-import ifcopenshell.api
import ifcopenshell.api.group
import ifcopenshell.util.element
diff --git a/src/bonsai/bonsai/bim/module/group/prop.py b/src/bonsai/bonsai/bim/module/group/prop.py
index 48bff62e35..56cf7aae07 100644
--- a/src/bonsai/bonsai/bim/module/group/prop.py
+++ b/src/bonsai/bonsai/bim/module/group/prop.py
@@ -22,18 +22,14 @@ import bpy
from bpy.props import (
BoolProperty,
CollectionProperty,
- EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
import bonsai.tool as tool
from bonsai.bim.module.pset.data import refresh as refresh_pset
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
def update_active_group_index(self, context):
diff --git a/src/bonsai/bonsai/bim/module/ifcgit/data.py b/src/bonsai/bonsai/bim/module/ifcgit/data.py
index 9cb9f2655d..92da517a1c 100644
--- a/src/bonsai/bonsai/bim/module/ifcgit/data.py
+++ b/src/bonsai/bonsai/bim/module/ifcgit/data.py
@@ -1,8 +1,6 @@
import os
import shutil
-import bpy
-
# import tool
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/layer/data.py b/src/bonsai/bonsai/bim/module/layer/data.py
index 4550d3257e..1ec9db8b39 100644
--- a/src/bonsai/bonsai/bim/module/layer/data.py
+++ b/src/bonsai/bonsai/bim/module/layer/data.py
@@ -19,7 +19,6 @@
from typing import Any
import bpy
-import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/layer/operator.py b/src/bonsai/bonsai/bim/module/layer/operator.py
index 8475bebd54..4ff2a4fe0e 100644
--- a/src/bonsai/bonsai/bim/module/layer/operator.py
+++ b/src/bonsai/bonsai/bim/module/layer/operator.py
@@ -19,7 +19,6 @@
from typing import TYPE_CHECKING
import bpy
-import ifcopenshell.api
import ifcopenshell.api.layer
import ifcopenshell.util.element
diff --git a/src/bonsai/bonsai/bim/module/layer/prop.py b/src/bonsai/bonsai/bim/module/layer/prop.py
index 26a6c3680d..f91681af76 100644
--- a/src/bonsai/bonsai/bim/module/layer/prop.py
+++ b/src/bonsai/bonsai/bim/module/layer/prop.py
@@ -23,16 +23,13 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
import bonsai.tool as tool
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
def update_layer_property(self: "Layer", context: bpy.types.Context, *, property: str) -> None:
diff --git a/src/bonsai/bonsai/bim/module/library/operator.py b/src/bonsai/bonsai/bim/module/library/operator.py
index 6c7abe8be5..058b474732 100644
--- a/src/bonsai/bonsai/bim/module/library/operator.py
+++ b/src/bonsai/bonsai/bim/module/library/operator.py
@@ -17,7 +17,6 @@
# along with Bonsai. If not, see .
import bpy
-import ifcopenshell.api
import bonsai.core.library as core
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/library/prop.py b/src/bonsai/bonsai/bim/module/library/prop.py
index 69647c195f..d7a9b51e1f 100644
--- a/src/bonsai/bonsai/bim/module/library/prop.py
+++ b/src/bonsai/bonsai/bim/module/library/prop.py
@@ -20,20 +20,16 @@ from typing import TYPE_CHECKING, Literal
import bpy
from bpy.props import (
- BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
import bonsai.tool as tool
from bonsai.bim.module.library.data import LibrariesData
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
def update_active_reference_index(self, context):
diff --git a/src/bonsai/bonsai/bim/module/library/ui.py b/src/bonsai/bonsai/bim/module/library/ui.py
index f76e6a3251..32780f2797 100644
--- a/src/bonsai/bonsai/bim/module/library/ui.py
+++ b/src/bonsai/bonsai/bim/module/library/ui.py
@@ -28,7 +28,7 @@ import bonsai.tool as tool
from bonsai.bim.module.library.data import LibrariesData, LibraryReferencesData
if TYPE_CHECKING:
- from bonsai.bim.module.library.prop import BIMLibraryProperties, LibraryReference
+ from bonsai.bim.module.library.prop import LibraryReference
class BIM_PT_libraries(Panel):
diff --git a/src/bonsai/bonsai/bim/module/light/__init__.py b/src/bonsai/bonsai/bim/module/light/__init__.py
index 1bfe11be7a..fa167bc518 100644
--- a/src/bonsai/bonsai/bim/module/light/__init__.py
+++ b/src/bonsai/bonsai/bim/module/light/__init__.py
@@ -16,10 +16,8 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import importlib
import importlib.util
import stat
-import traceback
from pathlib import Path
import bpy
diff --git a/src/bonsai/bonsai/bim/module/light/data.py b/src/bonsai/bonsai/bim/module/light/data.py
index d708b6170f..d14835bb27 100644
--- a/src/bonsai/bonsai/bim/module/light/data.py
+++ b/src/bonsai/bonsai/bim/module/light/data.py
@@ -16,9 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import bpy
import ifcopenshell.util.geolocation
-from mathutils import Vector
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/light/decorator.py b/src/bonsai/bonsai/bim/module/light/decorator.py
index 9cfb9ae186..f72a941ab8 100644
--- a/src/bonsai/bonsai/bim/module/light/decorator.py
+++ b/src/bonsai/bonsai/bim/module/light/decorator.py
@@ -16,10 +16,8 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-from math import degrees, radians
import blf
-import bmesh
import bpy
import gpu
from bpy.types import SpaceView3D
diff --git a/src/bonsai/bonsai/bim/module/material/data.py b/src/bonsai/bonsai/bim/module/material/data.py
index 36c93add4f..543a44824b 100644
--- a/src/bonsai/bonsai/bim/module/material/data.py
+++ b/src/bonsai/bonsai/bim/module/material/data.py
@@ -16,14 +16,12 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import os
from typing import Any, Union
import bpy
import ifcopenshell
import ifcopenshell.util.doc
import ifcopenshell.util.element
-import ifcopenshell.util.schema
from natsort import natsorted
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/material/operator.py b/src/bonsai/bonsai/bim/module/material/operator.py
index 81ef17e6e4..e0761bf416 100644
--- a/src/bonsai/bonsai/bim/module/material/operator.py
+++ b/src/bonsai/bonsai/bim/module/material/operator.py
@@ -20,7 +20,6 @@ import json
from typing import TYPE_CHECKING, Any, Literal, Union
import bpy
-import ifcopenshell.api
import ifcopenshell.api.material
import ifcopenshell.api.profile
import ifcopenshell.api.style
diff --git a/src/bonsai/bonsai/bim/module/material/prop.py b/src/bonsai/bonsai/bim/module/material/prop.py
index 27567ab27e..9c8454f05e 100644
--- a/src/bonsai/bonsai/bim/module/material/prop.py
+++ b/src/bonsai/bonsai/bim/module/material/prop.py
@@ -19,25 +19,21 @@
from typing import TYPE_CHECKING
import bpy
-import ifcopenshell
from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
-from ifcopenshell.util.doc import get_entity_doc
import bonsai.tool as tool
from bonsai.bim.module.classification.data import MaterialClassificationsData
from bonsai.bim.module.material.data import MaterialsData, ObjectMaterialData
from bonsai.bim.module.profile.data import ProfileData
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
def get_profile_classes(self, context):
diff --git a/src/bonsai/bonsai/bim/module/material/ui.py b/src/bonsai/bonsai/bim/module/material/ui.py
index 2ac1908327..f743306767 100644
--- a/src/bonsai/bonsai/bim/module/material/ui.py
+++ b/src/bonsai/bonsai/bim/module/material/ui.py
@@ -22,7 +22,6 @@ from typing import TYPE_CHECKING, Any
import bpy
import ifcopenshell.util.element
-import ifcopenshell.util.unit
from bpy.types import Panel, UIList
import bonsai.bim.helper
diff --git a/src/bonsai/bonsai/bim/module/misc/operator.py b/src/bonsai/bonsai/bim/module/misc/operator.py
index 33703331f8..02cc56834b 100644
--- a/src/bonsai/bonsai/bim/module/misc/operator.py
+++ b/src/bonsai/bonsai/bim/module/misc/operator.py
@@ -19,12 +19,11 @@
from typing import TYPE_CHECKING, Literal, assert_never, get_args
import bpy
-import ifcopenshell
import ifcopenshell.util.geolocation
import ifcopenshell.util.placement
import ifcopenshell.util.unit
import numpy as np
-from mathutils import Euler, Matrix, Vector
+from mathutils import Matrix
import bonsai.core.geometry as core_geometry
import bonsai.core.misc as core
diff --git a/src/bonsai/bonsai/bim/module/misc/prop.py b/src/bonsai/bonsai/bim/module/misc/prop.py
index 889e1f5099..f596f22fc6 100644
--- a/src/bonsai/bonsai/bim/module/misc/prop.py
+++ b/src/bonsai/bonsai/bim/module/misc/prop.py
@@ -16,21 +16,12 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import bpy
from bpy.props import (
- BoolProperty,
- CollectionProperty,
- EnumProperty,
- FloatProperty,
FloatVectorProperty,
IntProperty,
- PointerProperty,
- StringProperty,
)
from bpy.types import PropertyGroup
-from bonsai.bim.prop import Attribute, StrProperty
-
class BIMMiscProperties(PropertyGroup):
total_storeys: IntProperty(
diff --git a/src/bonsai/bonsai/bim/module/model/array.py b/src/bonsai/bonsai/bim/module/model/array.py
index 5f045435ac..dd54bf0ab3 100644
--- a/src/bonsai/bonsai/bim/module/model/array.py
+++ b/src/bonsai/bonsai/bim/module/model/array.py
@@ -19,12 +19,10 @@
import json
import bpy
-import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.pset
import ifcopenshell.util.element
import ifcopenshell.util.unit
-from mathutils import Matrix, Vector
+from mathutils import Matrix
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/model/covering.py b/src/bonsai/bonsai/bim/module/model/covering.py
index 468554b9be..dd3889a7cb 100644
--- a/src/bonsai/bonsai/bim/module/model/covering.py
+++ b/src/bonsai/bonsai/bim/module/model/covering.py
@@ -18,8 +18,6 @@
import bpy
-import ifcopenshell
-import ifcopenshell.util.element
import bonsai.core.covering as core
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/model/data.py b/src/bonsai/bonsai/bim/module/model/data.py
index 0b97e05e77..10553f1bed 100644
--- a/src/bonsai/bonsai/bim/module/model/data.py
+++ b/src/bonsai/bonsai/bim/module/model/data.py
@@ -25,7 +25,7 @@ import bpy
import ifcopenshell
import ifcopenshell.util.element
import ifcopenshell.util.schema
-from ifcopenshell.util.doc import get_entity_doc, get_predefined_type_doc
+from ifcopenshell.util.doc import get_entity_doc
from natsort import natsorted
import bonsai.tool as tool
@@ -424,12 +424,12 @@ class SverchokData:
return tool.Model.get_modeling_bbim_pset_data(bpy.context.active_object, "BBIM_Sverchok")
@classmethod
- def has_sverchok(cls):
+ def has_sverchok(cls) -> bool:
try:
- import sverchok
+ import sverchok # noqa: F401
return True
- except:
+ except ModuleNotFoundError:
return False
diff --git a/src/bonsai/bonsai/bim/module/model/decorator.py b/src/bonsai/bonsai/bim/module/model/decorator.py
index 1a580b9fc7..d4dc1a218d 100644
--- a/src/bonsai/bonsai/bim/module/model/decorator.py
+++ b/src/bonsai/bonsai/bim/module/model/decorator.py
@@ -19,9 +19,8 @@
from __future__ import annotations
import math
-from itertools import chain
from math import cos, radians, sin, tan
-from typing import Any, Literal, Union
+from typing import Any, Literal
import blf
import bmesh
diff --git a/src/bonsai/bonsai/bim/module/model/door.py b/src/bonsai/bonsai/bim/module/model/door.py
index dbdf5e8dcf..5a14cde101 100644
--- a/src/bonsai/bonsai/bim/module/model/door.py
+++ b/src/bonsai/bonsai/bim/module/model/door.py
@@ -17,21 +17,18 @@
# along with Bonsai. If not, see .
-import collections
import collections.abc
import json
-from typing import TYPE_CHECKING, get_args
+from typing import TYPE_CHECKING
import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.geometry
import ifcopenshell.api.material
import ifcopenshell.api.pset
import ifcopenshell.util.element
import ifcopenshell.util.representation
-import ifcopenshell.util.schema
import ifcopenshell.util.unit
from mathutils import Matrix, Vector
diff --git a/src/bonsai/bonsai/bim/module/model/grid.py b/src/bonsai/bonsai/bim/module/model/grid.py
index df4f140ebc..8ceaa605dc 100644
--- a/src/bonsai/bonsai/bim/module/model/grid.py
+++ b/src/bonsai/bonsai/bim/module/model/grid.py
@@ -19,7 +19,6 @@
from typing import TYPE_CHECKING
import bpy
-import ifcopenshell.api
import ifcopenshell.api.grid
from bpy.props import FloatProperty, IntProperty
from bpy.types import Operator
diff --git a/src/bonsai/bonsai/bim/module/model/handler.py b/src/bonsai/bonsai/bim/module/model/handler.py
index 47075cdcfa..bfa064cda7 100644
--- a/src/bonsai/bonsai/bim/module/model/handler.py
+++ b/src/bonsai/bonsai/bim/module/model/handler.py
@@ -16,12 +16,10 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import bpy
-import ifcopenshell
import ifcopenshell.api
from bpy.app.handlers import persistent
-from bonsai.bim.module.model import opening, product, profile, slab, task, wall
+from bonsai.bim.module.model import opening, product, profile, task
@persistent
diff --git a/src/bonsai/bonsai/bim/module/model/mep.py b/src/bonsai/bonsai/bim/module/model/mep.py
index cdb2538d28..245e10a21b 100644
--- a/src/bonsai/bonsai/bim/module/model/mep.py
+++ b/src/bonsai/bonsai/bim/module/model/mep.py
@@ -16,18 +16,13 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import collections
import collections.abc
import json
-import math
import re
from copy import copy
-from math import asin, cos, degrees, pi, radians, sin, tan
+from math import cos, degrees, pi, radians, sin, tan
-import bmesh
import bpy
-import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.geometry
import ifcopenshell.api.material
import ifcopenshell.api.pset
@@ -41,9 +36,7 @@ import numpy as np
from ifcopenshell.util.shape_builder import ShapeBuilder
from mathutils import Matrix, Vector
-import bonsai.core.geometry
import bonsai.core.root
-import bonsai.core.type
import bonsai.tool as tool
from bonsai.bim.module.model.profile import DumbProfileJoiner
from bonsai.tool.cad import VTX_PRECISION
diff --git a/src/bonsai/bonsai/bim/module/model/opening.py b/src/bonsai/bonsai/bim/module/model/opening.py
index b0806ec33d..c20325c2e7 100644
--- a/src/bonsai/bonsai/bim/module/model/opening.py
+++ b/src/bonsai/bonsai/bim/module/model/opening.py
@@ -16,37 +16,29 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import json
-import logging
-from collections import defaultdict
from collections.abc import Sequence
-from math import pi, radians
-from typing import Any, Optional, Union, cast
+from math import radians
+from typing import Any, Optional, Union
import bmesh
import bpy
import gpu
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.feature
import ifcopenshell.api.geometry
import ifcopenshell.api.root
import ifcopenshell.geom
import ifcopenshell.util.element
-import ifcopenshell.util.placement
import ifcopenshell.util.representation
import ifcopenshell.util.shape
import ifcopenshell.util.shape_builder
import ifcopenshell.util.unit
import numpy as np
import shapely
-from bpy.props import FloatProperty
from bpy.types import Operator, SpaceView3D
-from bpy_extras.object_utils import AddObjectHelper, object_data_add
from gpu_extras.batch import batch_for_shader
-from mathutils import Euler, Matrix, Vector
+from mathutils import Matrix, Vector
-import bonsai.bim.import_ifc as import_ifc
import bonsai.core.geometry
import bonsai.tool as tool
from bonsai.bim.module.drawing.decoration import DecoratorData
diff --git a/src/bonsai/bonsai/bim/module/model/polyline.py b/src/bonsai/bonsai/bim/module/model/polyline.py
index 92ec36581b..e33fe2cf5d 100644
--- a/src/bonsai/bonsai/bim/module/model/polyline.py
+++ b/src/bonsai/bonsai/bim/module/model/polyline.py
@@ -18,28 +18,13 @@
from __future__ import annotations
-import copy
-import math
-from typing import Any, Literal, Optional, Union
+from typing import Literal, Union
-import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
-import ifcopenshell.geom
-import ifcopenshell.util.element
-import ifcopenshell.util.placement
-import ifcopenshell.util.representation
-import ifcopenshell.util.type
import ifcopenshell.util.unit
-import mathutils.geometry
-from lark import Lark, Transformer
from mathutils import Vector
-import bonsai.core.geometry
-import bonsai.core.model as core
-import bonsai.core.root
-import bonsai.core.type
import bonsai.tool as tool
from bonsai.bim.module.model.decorator import PolylineDecorator
diff --git a/src/bonsai/bonsai/bim/module/model/product.py b/src/bonsai/bonsai/bim/module/model/product.py
index 012cba4889..d7c96bce1d 100644
--- a/src/bonsai/bonsai/bim/module/model/product.py
+++ b/src/bonsai/bonsai/bim/module/model/product.py
@@ -19,12 +19,11 @@
# pyright: reportUnnecessaryTypeIgnoreComment=error
import json
-from typing import TYPE_CHECKING, Any, Literal, Optional, Union, assert_never, get_args
+from typing import TYPE_CHECKING, Any, Literal, get_args
import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.geometry
import ifcopenshell.api.system
import ifcopenshell.util.element
@@ -34,8 +33,6 @@ import ifcopenshell.util.shape_builder
import ifcopenshell.util.system
import ifcopenshell.util.type
import ifcopenshell.util.unit
-import mathutils
-import numpy as np
from bpy_extras.object_utils import AddObjectHelper
from mathutils import Matrix, Vector
diff --git a/src/bonsai/bonsai/bim/module/model/profile.py b/src/bonsai/bonsai/bim/module/model/profile.py
index 4e16f9b296..f759d40a94 100644
--- a/src/bonsai/bonsai/bim/module/model/profile.py
+++ b/src/bonsai/bonsai/bim/module/model/profile.py
@@ -20,10 +20,8 @@ import copy
from math import atan2, degrees, pi, radians
from typing import Any, Literal, Optional, Union
-import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.geometry
import ifcopenshell.api.pset
import ifcopenshell.api.type
@@ -38,7 +36,6 @@ from mathutils import Matrix, Vector
import bonsai.core.geometry
import bonsai.core.material
import bonsai.core.root
-import bonsai.core.type
import bonsai.tool as tool
from bonsai.bim.ifc import IfcStore
from bonsai.bim.module.model.decorator import (
diff --git a/src/bonsai/bonsai/bim/module/model/prop.py b/src/bonsai/bonsai/bim/module/model/prop.py
index ec79a49196..cb246ac7c5 100644
--- a/src/bonsai/bonsai/bim/module/model/prop.py
+++ b/src/bonsai/bonsai/bim/module/model/prop.py
@@ -22,7 +22,6 @@ from math import pi, radians
from typing import TYPE_CHECKING, Any, Literal, Optional, Union, get_args
import bpy
-import ifcopenshell
import ifcopenshell.util.element
from bpy.types import NodeTree, PropertyGroup
from mathutils import Vector
diff --git a/src/bonsai/bonsai/bim/module/model/railing.py b/src/bonsai/bonsai/bim/module/model/railing.py
index 624b1b64a7..7ca66d8dbc 100644
--- a/src/bonsai/bonsai/bim/module/model/railing.py
+++ b/src/bonsai/bonsai/bim/module/model/railing.py
@@ -23,7 +23,6 @@ from typing import Any
import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.geometry
import ifcopenshell.api.pset
import ifcopenshell.util.representation
diff --git a/src/bonsai/bonsai/bim/module/model/roof.py b/src/bonsai/bonsai/bim/module/model/roof.py
index 4038faa993..e1f7903299 100644
--- a/src/bonsai/bonsai/bim/module/model/roof.py
+++ b/src/bonsai/bonsai/bim/module/model/roof.py
@@ -23,14 +23,12 @@ from typing import Any, Literal, Union
import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.pset
import ifcopenshell.util.representation
import ifcopenshell.util.unit
-import mathutils.geometry
import shapely
from bpypolyskel import bpypolyskel
-from mathutils import Matrix, Quaternion, Vector
+from mathutils import Quaternion, Vector
import bonsai.core.root
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/model/slab.py b/src/bonsai/bonsai/bim/module/model/slab.py
index 602c36df11..58a353ab28 100644
--- a/src/bonsai/bonsai/bim/module/model/slab.py
+++ b/src/bonsai/bonsai/bim/module/model/slab.py
@@ -17,13 +17,10 @@
# along with Bonsai. If not, see .
import json
-from math import acos, cos, degrees, pi, sin
-from typing import Optional
+from math import cos, pi
-import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.geometry
import ifcopenshell.api.material
import ifcopenshell.api.pset
@@ -37,7 +34,6 @@ from mathutils import Matrix, Vector
import bonsai.core.geometry
import bonsai.core.root
-import bonsai.core.type
import bonsai.tool as tool
from bonsai.bim.ifc import IfcStore
from bonsai.bim.module.model.decorator import (
diff --git a/src/bonsai/bonsai/bim/module/model/stair.py b/src/bonsai/bonsai/bim/module/model/stair.py
index 5b52308542..87152c645b 100644
--- a/src/bonsai/bonsai/bim/module/model/stair.py
+++ b/src/bonsai/bonsai/bim/module/model/stair.py
@@ -23,7 +23,6 @@ import bpy
import ifcopenshell
import ifcopenshell.api.pset
import ifcopenshell.util.element
-import ifcopenshell.util.representation
import ifcopenshell.util.unit
from mathutils import Matrix, Vector
@@ -38,7 +37,7 @@ from bonsai.tool.numeric_input import (
)
V_ = tool.Blender.V_
-from typing import TYPE_CHECKING, get_args
+from typing import TYPE_CHECKING
from bmesh.types import BMVert
from bpy.props import IntProperty
diff --git a/src/bonsai/bonsai/bim/module/model/sverchok_modifier.py b/src/bonsai/bonsai/bim/module/model/sverchok_modifier.py
index 0a318b1fb1..08f29890c4 100644
--- a/src/bonsai/bonsai/bim/module/model/sverchok_modifier.py
+++ b/src/bonsai/bonsai/bim/module/model/sverchok_modifier.py
@@ -22,7 +22,6 @@ import zipfile
import bmesh
import bpy
-import ifcopenshell
import ifcopenshell.api.pset
import ifcopenshell.util.element
from bpy_extras.io_utils import ExportHelper, ImportHelper
diff --git a/src/bonsai/bonsai/bim/module/model/task.py b/src/bonsai/bonsai/bim/module/model/task.py
index 93a361b73c..a6fe2607a2 100644
--- a/src/bonsai/bonsai/bim/module/model/task.py
+++ b/src/bonsai/bonsai/bim/module/model/task.py
@@ -17,7 +17,6 @@
# along with Bonsai. If not, see .
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.pset
import ifcopenshell.util.date
diff --git a/src/bonsai/bonsai/bim/module/model/ui.py b/src/bonsai/bonsai/bim/module/model/ui.py
index d8a297433b..512eaf3fdf 100644
--- a/src/bonsai/bonsai/bim/module/model/ui.py
+++ b/src/bonsai/bonsai/bim/module/model/ui.py
@@ -22,11 +22,10 @@ from collections.abc import Iterable
from typing import TYPE_CHECKING, Any
import bpy
-from bpy.types import Menu, Panel
+from bpy.types import Panel
import bonsai.bim
import bonsai.tool as tool
-from bonsai.bim import module
from bonsai.bim.helper import prop_with_search
from bonsai.bim.module.model.data import (
ArrayData,
diff --git a/src/bonsai/bonsai/bim/module/model/wall.py b/src/bonsai/bonsai/bim/module/model/wall.py
index 7f4579df31..441566e3e6 100644
--- a/src/bonsai/bonsai/bim/module/model/wall.py
+++ b/src/bonsai/bonsai/bim/module/model/wall.py
@@ -20,12 +20,11 @@
import copy
import math
-from math import acos, atan2, cos, degrees, pi, sin
-from typing import TYPE_CHECKING, Any, Literal, Optional, Union, assert_never, get_args
+from math import atan2, cos, degrees, pi, sin
+from typing import TYPE_CHECKING, Any, Literal, Union, get_args
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.feature
import ifcopenshell.api.geometry
import ifcopenshell.api.material
@@ -45,11 +44,9 @@ from mathutils import Matrix, Vector
import bonsai.core.geometry
import bonsai.core.model as core
import bonsai.core.root
-import bonsai.core.type
import bonsai.tool as tool
from bonsai.bim.ifc import IfcStore
from bonsai.bim.module.model.decorator import PolylineDecorator, ProductDecorator
-from bonsai.bim.module.model.opening import FilledOpeningGenerator
from bonsai.bim.module.model.polyline import PolylineOperator
diff --git a/src/bonsai/bonsai/bim/module/model/window.py b/src/bonsai/bonsai/bim/module/model/window.py
index ad473a110e..30e8d767b5 100644
--- a/src/bonsai/bonsai/bim/module/model/window.py
+++ b/src/bonsai/bonsai/bim/module/model/window.py
@@ -17,21 +17,18 @@
# along with Bonsai. If not, see .
-import collections
import collections.abc
import json
-from typing import TYPE_CHECKING, get_args
+from typing import TYPE_CHECKING
import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.geometry
import ifcopenshell.api.material
import ifcopenshell.api.pset
import ifcopenshell.util.element
import ifcopenshell.util.representation
-import ifcopenshell.util.shape_builder
import ifcopenshell.util.unit
from bmesh.types import BMVert
from ifcopenshell.api.geometry.add_window_representation import DEFAULT_PANEL_SCHEMAS
diff --git a/src/bonsai/bonsai/bim/module/model/workspace.py b/src/bonsai/bonsai/bim/module/model/workspace.py
index 7b7a91906d..5f7cf7699d 100644
--- a/src/bonsai/bonsai/bim/module/model/workspace.py
+++ b/src/bonsai/bonsai/bim/module/model/workspace.py
@@ -17,15 +17,13 @@
# along with Bonsai. If not, see .
import os
-import sys
from functools import partial
-from typing import Any, Optional, Union
+from typing import Optional, Union
import bpy
import bpy.utils.previews
from bpy.types import Menu, WorkSpaceTool
-import bonsai.bim
import bonsai.core.model as core
import bonsai.tool as tool
from bonsai.bim.helper import draw_attribute, prop_with_search
diff --git a/src/bonsai/bonsai/bim/module/nest/decorator.py b/src/bonsai/bonsai/bim/module/nest/decorator.py
index e9630ebc26..66608b0171 100644
--- a/src/bonsai/bonsai/bim/module/nest/decorator.py
+++ b/src/bonsai/bonsai/bim/module/nest/decorator.py
@@ -19,7 +19,6 @@
import blf
import bpy
import gpu
-import ifcopenshell
import ifcopenshell.util.element
from bpy.types import SpaceView3D
from bpy_extras import view3d_utils
@@ -27,7 +26,6 @@ from gpu_extras.batch import batch_for_shader
from mathutils import Vector
import bonsai.tool as tool
-from bonsai.bim.module.geometry.decorator import ItemDecorator
def transparent_color(color, alpha=0.1):
diff --git a/src/bonsai/bonsai/bim/module/nest/operator.py b/src/bonsai/bonsai/bim/module/nest/operator.py
index 9d7eb2df67..6961fea0c8 100644
--- a/src/bonsai/bonsai/bim/module/nest/operator.py
+++ b/src/bonsai/bonsai/bim/module/nest/operator.py
@@ -17,7 +17,6 @@
# along with Bonsai. If not, see .
import bpy
-import ifcopenshell
import ifcopenshell.util.element
import bonsai.core.nest as core
diff --git a/src/bonsai/bonsai/bim/module/nest/prop.py b/src/bonsai/bonsai/bim/module/nest/prop.py
index c36388398c..4c7533455a 100644
--- a/src/bonsai/bonsai/bim/module/nest/prop.py
+++ b/src/bonsai/bonsai/bim/module/nest/prop.py
@@ -22,19 +22,12 @@ import bpy
from bpy.props import (
BoolProperty,
CollectionProperty,
- EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
PointerProperty,
- StringProperty,
)
from bpy.types import PropertyGroup
import bonsai.tool as tool
from bonsai.bim.module.nest.decorator import NestDecorator, NestModeDecorator
-from bonsai.bim.module.spatial.data import SpatialData
-from bonsai.bim.prop import Attribute, StrProperty
def update_relating_object(self: "BIMObjectNestProperties", context: bpy.types.Context) -> None:
diff --git a/src/bonsai/bonsai/bim/module/owner/prop.py b/src/bonsai/bonsai/bim/module/owner/prop.py
index dfe2b95ecd..171712e799 100644
--- a/src/bonsai/bonsai/bim/module/owner/prop.py
+++ b/src/bonsai/bonsai/bim/module/owner/prop.py
@@ -20,14 +20,9 @@ from typing import TYPE_CHECKING, Literal
import bpy
from bpy.props import (
- BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
- StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/patch/operator.py b/src/bonsai/bonsai/bim/module/patch/operator.py
index 57413214d6..99459b99e9 100644
--- a/src/bonsai/bonsai/bim/module/patch/operator.py
+++ b/src/bonsai/bonsai/bim/module/patch/operator.py
@@ -17,7 +17,6 @@
# along with Bonsai. If not, see .
import json
-import os
from pathlib import Path
from typing import TYPE_CHECKING, cast
diff --git a/src/bonsai/bonsai/bim/module/patch/prop.py b/src/bonsai/bonsai/bim/module/patch/prop.py
index 9382b4e786..e14bb3b1ef 100644
--- a/src/bonsai/bonsai/bim/module/patch/prop.py
+++ b/src/bonsai/bonsai/bim/module/patch/prop.py
@@ -16,7 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import importlib
import importlib.util
from pathlib import Path
from typing import TYPE_CHECKING, Literal, Union
@@ -27,15 +26,11 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
ifcpatchrecipes_enum: list[tuple[str, str, str]] = []
diff --git a/src/bonsai/bonsai/bim/module/profile/data.py b/src/bonsai/bonsai/bim/module/profile/data.py
index 34ea4d1b7b..09f8eaf383 100644
--- a/src/bonsai/bonsai/bim/module/profile/data.py
+++ b/src/bonsai/bonsai/bim/module/profile/data.py
@@ -19,7 +19,6 @@
from typing import Any
import bpy
-import bpy.utils
import bpy.utils.previews
import ifcopenshell.util.doc
diff --git a/src/bonsai/bonsai/bim/module/profile/operator.py b/src/bonsai/bonsai/bim/module/profile/operator.py
index 871d8f3b86..42a37989a0 100644
--- a/src/bonsai/bonsai/bim/module/profile/operator.py
+++ b/src/bonsai/bonsai/bim/module/profile/operator.py
@@ -23,7 +23,6 @@ import ifcopenshell.util.element
import bonsai.bim.helper
import bonsai.bim.module.model.profile as model_profile
-import bonsai.core.profile as core
import bonsai.tool as tool
from bonsai.bim.module.geometry.helper import Helper
from bonsai.bim.module.model.decorator import ProfileDecorator
diff --git a/src/bonsai/bonsai/bim/module/profile/prop.py b/src/bonsai/bonsai/bim/module/profile/prop.py
index 61e2546193..3a4a71650e 100644
--- a/src/bonsai/bonsai/bim/module/profile/prop.py
+++ b/src/bonsai/bonsai/bim/module/profile/prop.py
@@ -19,15 +19,10 @@
from typing import TYPE_CHECKING, Union
import bpy
-import ifcopenshell
-import ifcopenshell.util.attribute
-import ifcopenshell.util.schema
from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
PointerProperty,
StringProperty,
@@ -36,7 +31,7 @@ from bpy.types import PropertyGroup
import bonsai.tool as tool
from bonsai.bim.module.profile.data import ProfileData
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
def get_profile_classes(self: "BIMProfileProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]:
diff --git a/src/bonsai/bonsai/bim/module/project/data.py b/src/bonsai/bonsai/bim/module/project/data.py
index e2e960b382..56a77d1880 100644
--- a/src/bonsai/bonsai/bim/module/project/data.py
+++ b/src/bonsai/bonsai/bim/module/project/data.py
@@ -16,12 +16,10 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import os
from collections import defaultdict
from pathlib import Path
from typing import Any, Union
-import bpy
import ifcopenshell.util.file
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/project/decorator.py b/src/bonsai/bonsai/bim/module/project/decorator.py
index 14035ca91c..8c2ec0e08b 100644
--- a/src/bonsai/bonsai/bim/module/project/decorator.py
+++ b/src/bonsai/bonsai/bim/module/project/decorator.py
@@ -18,13 +18,11 @@
from typing import Union
-import blf
import bmesh
import bpy
import gpu
from bpy.app.handlers import persistent
from bpy.types import SpaceView3D
-from bpy_extras import view3d_utils
from gpu_extras.batch import batch_for_shader
from mathutils import Vector
diff --git a/src/bonsai/bonsai/bim/module/project/gizmo.py b/src/bonsai/bonsai/bim/module/project/gizmo.py
index d91668eaa8..fa8edb8c7e 100644
--- a/src/bonsai/bonsai/bim/module/project/gizmo.py
+++ b/src/bonsai/bonsai/bim/module/project/gizmo.py
@@ -17,7 +17,6 @@
# along with Bonsai. If not, see .
-import bpy
from bpy.types import GizmoGroup
from mathutils import Matrix
diff --git a/src/bonsai/bonsai/bim/module/project/operator.py b/src/bonsai/bonsai/bim/module/project/operator.py
index 43588584bd..7bffc724e5 100644
--- a/src/bonsai/bonsai/bim/module/project/operator.py
+++ b/src/bonsai/bonsai/bim/module/project/operator.py
@@ -18,7 +18,6 @@
import datetime
import json
-import math
import logging
import os
import subprocess
@@ -32,7 +31,6 @@ from typing import TYPE_CHECKING, Literal, Union, get_args
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.attribute
import ifcopenshell.api.nest
import ifcopenshell.api.project
@@ -50,12 +48,10 @@ import ifcopenshell.util.unit
import numpy as np
from bpy.app.handlers import persistent
from bpy_extras.io_utils import ExportHelper, ImportHelper
-from ifcopenshell.geom import ShapeElementType
from mathutils import Matrix, Vector
import bonsai.bim.handler
import bonsai.bim.helper
-import bonsai.bim.schema
import bonsai.core.project as core
import bonsai.tool as tool
from bonsai.bim import export_ifc, import_ifc
@@ -63,12 +59,11 @@ 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, degrees
+from math import radians
from pathlib import Path
from collections import defaultdict
from mathutils import Vector, Matrix
from bpy.app.handlers import persistent
-from ifcopenshell.geom import ShapeElementType
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/prop.py b/src/bonsai/bonsai/bim/module/project/prop.py
index a34b5726f7..57b153428b 100644
--- a/src/bonsai/bonsai/bim/module/project/prop.py
+++ b/src/bonsai/bonsai/bim/module/project/prop.py
@@ -16,9 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import math
from collections.abc import Generator
-from pathlib import Path
from typing import TYPE_CHECKING, Literal, Union, assert_never, get_args
import bpy
@@ -39,7 +37,7 @@ import bonsai.bim.helper
import bonsai.tool as tool
from bonsai.bim.ifc import IfcStore
from bonsai.bim.module.project.data import ProjectData, ProjectLibraryData
-from bonsai.bim.prop import Attribute, ObjProperty, StrProperty
+from bonsai.bim.prop import Attribute, ObjProperty
def get_export_schema(self: "BIMProjectProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]:
diff --git a/src/bonsai/bonsai/bim/module/project/ui.py b/src/bonsai/bonsai/bim/module/project/ui.py
index 1836500c54..7029eb7227 100644
--- a/src/bonsai/bonsai/bim/module/project/ui.py
+++ b/src/bonsai/bonsai/bim/module/project/ui.py
@@ -22,8 +22,6 @@ import os
from typing import TYPE_CHECKING
import bpy
-import math
-import ifcopenshell
from bpy.types import Menu, Panel, UIList
import bonsai.bim
diff --git a/src/bonsai/bonsai/bim/module/project/workspace.py b/src/bonsai/bonsai/bim/module/project/workspace.py
index a72981c625..dca65f72e6 100644
--- a/src/bonsai/bonsai/bim/module/project/workspace.py
+++ b/src/bonsai/bonsai/bim/module/project/workspace.py
@@ -19,7 +19,6 @@
import os
import bpy
-from bpy.types import WorkSpaceTool
import bonsai.tool as tool
from bonsai.bim.module.project.data import LinksData
diff --git a/src/bonsai/bonsai/bim/module/pset/operator.py b/src/bonsai/bonsai/bim/module/pset/operator.py
index 3257760531..d7755cf80a 100644
--- a/src/bonsai/bonsai/bim/module/pset/operator.py
+++ b/src/bonsai/bonsai/bim/module/pset/operator.py
@@ -32,7 +32,7 @@ import bonsai.tool as tool
from bonsai.bim.ifc import IfcStore
if TYPE_CHECKING:
- from bonsai.bim.module.pset.prop import AddEditPropertyEntry, RenamePropertyEntry
+ from bonsai.bim.module.pset.prop import AddEditPropertyEntry
class TogglePsetExpansion(bpy.types.Operator, tool.Ifc.Operator):
diff --git a/src/bonsai/bonsai/bim/module/pset/prop.py b/src/bonsai/bonsai/bim/module/pset/prop.py
index 4b16e15010..1777fa0f94 100644
--- a/src/bonsai/bonsai/bim/module/pset/prop.py
+++ b/src/bonsai/bonsai/bim/module/pset/prop.py
@@ -22,13 +22,11 @@ import bpy
import ifcopenshell
import ifcopenshell.util.attribute
import ifcopenshell.util.doc
-import ifcopenshell.util.element
from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
FloatProperty,
- FloatVectorProperty,
IntProperty,
PointerProperty,
StringProperty,
@@ -44,7 +42,7 @@ from bonsai.bim.module.pset.data import (
ObjectPsetsData,
PsetsGeneralData,
)
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
psetnames = {}
qtonames = {}
diff --git a/src/bonsai/bonsai/bim/module/pset_template/data.py b/src/bonsai/bonsai/bim/module/pset_template/data.py
index 1725b974f1..0d922fe2ae 100644
--- a/src/bonsai/bonsai/bim/module/pset_template/data.py
+++ b/src/bonsai/bonsai/bim/module/pset_template/data.py
@@ -16,11 +16,8 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import os
-import pathlib
from typing import Any
-import bpy
import ifcopenshell
import ifcopenshell.util.attribute
import ifcopenshell.util.doc
diff --git a/src/bonsai/bonsai/bim/module/pset_template/operator.py b/src/bonsai/bonsai/bim/module/pset_template/operator.py
index e956917df3..0ae20ce0ea 100644
--- a/src/bonsai/bonsai/bim/module/pset_template/operator.py
+++ b/src/bonsai/bonsai/bim/module/pset_template/operator.py
@@ -20,7 +20,6 @@ import os
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.pset_template
import bonsai.bim.handler
diff --git a/src/bonsai/bonsai/bim/module/pset_template/prop.py b/src/bonsai/bonsai/bim/module/pset_template/prop.py
index 9ec31b364f..3b2d6c5d9e 100644
--- a/src/bonsai/bonsai/bim/module/pset_template/prop.py
+++ b/src/bonsai/bonsai/bim/module/pset_template/prop.py
@@ -16,18 +16,15 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import os
from typing import TYPE_CHECKING
import bpy
-import ifcopenshell
import ifcopenshell.util.attribute
from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
FloatProperty,
- FloatVectorProperty,
IntProperty,
PointerProperty,
StringProperty,
@@ -38,7 +35,6 @@ from ifcopenshell.util.doc import get_attribute_doc
import bonsai.tool as tool
from bonsai.bim.ifc import IfcStore
from bonsai.bim.module.pset_template.data import PsetTemplatesData
-from bonsai.bim.prop import Attribute, StrProperty
def updatePsetTemplateFiles(self, context):
diff --git a/src/bonsai/bonsai/bim/module/pset_template/ui.py b/src/bonsai/bonsai/bim/module/pset_template/ui.py
index 6576e8f56c..92cd78e4ba 100644
--- a/src/bonsai/bonsai/bim/module/pset_template/ui.py
+++ b/src/bonsai/bonsai/bim/module/pset_template/ui.py
@@ -16,7 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import bpy
from bpy.types import Panel
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/qto/operator.py b/src/bonsai/bonsai/bim/module/qto/operator.py
index 572c65e258..6aa10c9beb 100644
--- a/src/bonsai/bonsai/bim/module/qto/operator.py
+++ b/src/bonsai/bonsai/bim/module/qto/operator.py
@@ -18,7 +18,6 @@
import bpy
import ifcopenshell
-import ifcopenshell.api
from ifcopenshell.util.profiler import Profiler
import bonsai.core.qto as core
diff --git a/src/bonsai/bonsai/bim/module/qto/prop.py b/src/bonsai/bonsai/bim/module/qto/prop.py
index 9952285d30..7ffbfcdfa7 100644
--- a/src/bonsai/bonsai/bim/module/qto/prop.py
+++ b/src/bonsai/bonsai/bim/module/qto/prop.py
@@ -22,18 +22,12 @@ import bpy
import ifc5d.qto
from bpy.props import (
BoolProperty,
- CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
import bonsai.tool as tool
-from bonsai.bim.prop import Attribute, StrProperty
CALCULATOR_FUNCTION_ENUM_ITEMS: list[Union[tuple[str, str, str], None]] = []
diff --git a/src/bonsai/bonsai/bim/module/resource/prop.py b/src/bonsai/bonsai/bim/module/resource/prop.py
index 4c6828e56c..9f2c5ba85c 100644
--- a/src/bonsai/bonsai/bim/module/resource/prop.py
+++ b/src/bonsai/bonsai/bim/module/resource/prop.py
@@ -19,7 +19,6 @@
from typing import TYPE_CHECKING, Literal, get_args
import bpy
-import ifcopenshell.api
import ifcopenshell.api.resource
import ifcopenshell.util.resource
from bpy.props import (
@@ -27,9 +26,7 @@ from bpy.props import (
CollectionProperty,
EnumProperty,
FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/root/data.py b/src/bonsai/bonsai/bim/module/root/data.py
index 7adf7b5fb9..c1988c8b82 100644
--- a/src/bonsai/bonsai/bim/module/root/data.py
+++ b/src/bonsai/bonsai/bim/module/root/data.py
@@ -19,7 +19,6 @@
from collections import defaultdict
from typing import Union
-import bpy
import ifcopenshell.util.attribute
import ifcopenshell.util.element
import ifcopenshell.util.schema
diff --git a/src/bonsai/bonsai/bim/module/root/operator.py b/src/bonsai/bonsai/bim/module/root/operator.py
index ac766172bd..159f157d44 100644
--- a/src/bonsai/bonsai/bim/module/root/operator.py
+++ b/src/bonsai/bonsai/bim/module/root/operator.py
@@ -22,7 +22,6 @@ import bmesh
import bpy
import idprop
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.geometry
import ifcopenshell.api.material
import ifcopenshell.api.pset
@@ -34,7 +33,6 @@ import ifcopenshell.util.type
import ifcopenshell.util.unit
from mathutils import Vector
-import bonsai.bim.handler
import bonsai.bim.module.root.prop as root_prop
import bonsai.core.geometry
import bonsai.core.root as core
diff --git a/src/bonsai/bonsai/bim/module/root/prop.py b/src/bonsai/bonsai/bim/module/root/prop.py
index 854eb6d0f0..35b7b9f403 100644
--- a/src/bonsai/bonsai/bim/module/root/prop.py
+++ b/src/bonsai/bonsai/bim/module/root/prop.py
@@ -19,17 +19,10 @@
from typing import TYPE_CHECKING, Union
import bpy
-import ifcopenshell
import ifcopenshell.util.element
-import ifcopenshell.util.schema
import ifcopenshell.util.type
from bpy.props import (
- BoolProperty,
- CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
PointerProperty,
StringProperty,
)
diff --git a/src/bonsai/bonsai/bim/module/root/ui.py b/src/bonsai/bonsai/bim/module/root/ui.py
index 72eadb4e39..f9eae350e4 100644
--- a/src/bonsai/bonsai/bim/module/root/ui.py
+++ b/src/bonsai/bonsai/bim/module/root/ui.py
@@ -16,7 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import bpy
from bpy.types import Panel
import bonsai.bim.module.root.prop as root_prop
diff --git a/src/bonsai/bonsai/bim/module/search/operator.py b/src/bonsai/bonsai/bim/module/search/operator.py
index d9645fe67a..b7ba62acdb 100644
--- a/src/bonsai/bonsai/bim/module/search/operator.py
+++ b/src/bonsai/bonsai/bim/module/search/operator.py
@@ -23,7 +23,6 @@ from typing import TYPE_CHECKING, Any, Literal, assert_never, get_args
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.group
import ifcopenshell.util.element
import ifcopenshell.util.selector
@@ -31,13 +30,10 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
-from bpy.types import Operator, PropertyGroup
+from bpy.types import Operator
from natsort import natsorted
import bonsai.core.search as core
diff --git a/src/bonsai/bonsai/bim/module/search/prop.py b/src/bonsai/bonsai/bim/module/search/prop.py
index e3403b5abe..0f45112420 100644
--- a/src/bonsai/bonsai/bim/module/search/prop.py
+++ b/src/bonsai/bonsai/bim/module/search/prop.py
@@ -19,7 +19,6 @@
from typing import TYPE_CHECKING, Literal, get_args
import bpy
-import ifcopenshell.util.schema
from bpy.props import (
BoolProperty,
CollectionProperty,
@@ -27,7 +26,6 @@ from bpy.props import (
FloatProperty,
FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
@@ -40,8 +38,6 @@ from bonsai.bim.module.search.data import (
)
from bonsai.bim.prop import BIMFilterGroup, ObjProperty
-from . import operator, prop, ui
-
def get_element_key(self: "BIMSearchProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]:
if not SelectSimilarData.is_loaded:
diff --git a/src/bonsai/bonsai/bim/module/sequence/data.py b/src/bonsai/bonsai/bim/module/sequence/data.py
index 7ea6050ca3..20027281eb 100644
--- a/src/bonsai/bonsai/bim/module/sequence/data.py
+++ b/src/bonsai/bonsai/bim/module/sequence/data.py
@@ -20,7 +20,6 @@ import json
from typing import Any
import bpy
-import ifcopenshell
import ifcopenshell.util.attribute
import ifcopenshell.util.date
from ifcopenshell.util.doc import get_predefined_type_doc
diff --git a/src/bonsai/bonsai/bim/module/sequence/helper.py b/src/bonsai/bonsai/bim/module/sequence/helper.py
index 50d2367144..9e16e38402 100644
--- a/src/bonsai/bonsai/bim/module/sequence/helper.py
+++ b/src/bonsai/bonsai/bim/module/sequence/helper.py
@@ -23,7 +23,6 @@ from typing import Any, Union
import bpy
import ifcopenshell.util.date
-import isodate
from dateutil import parser
from bonsai.bim.prop import ISODuration
diff --git a/src/bonsai/bonsai/bim/module/sequence/prop.py b/src/bonsai/bonsai/bim/module/sequence/prop.py
index 6a5937ac45..abb1aa9f0c 100644
--- a/src/bonsai/bonsai/bim/module/sequence/prop.py
+++ b/src/bonsai/bonsai/bim/module/sequence/prop.py
@@ -16,14 +16,11 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-from typing import TYPE_CHECKING, Literal, Union, get_args
+from typing import TYPE_CHECKING, Literal, get_args
import bpy
-import ifcopenshell.api
import ifcopenshell.api.sequence
-import ifcopenshell.util.attribute
import ifcopenshell.util.date
-import isodate
from bpy.props import (
BoolProperty,
CollectionProperty,
@@ -31,7 +28,6 @@ from bpy.props import (
FloatProperty,
FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/sequence/ui.py b/src/bonsai/bonsai/bim/module/sequence/ui.py
index 0ecd772276..f758e89ef5 100644
--- a/src/bonsai/bonsai/bim/module/sequence/ui.py
+++ b/src/bonsai/bonsai/bim/module/sequence/ui.py
@@ -19,7 +19,6 @@
from typing import TYPE_CHECKING, Any, Optional
import bpy
-import ifcopenshell
import isodate
from bpy.types import Panel, UIList
diff --git a/src/bonsai/bonsai/bim/module/spatial/decorator.py b/src/bonsai/bonsai/bim/module/spatial/decorator.py
index 8d66d4e8a6..047a9ff555 100644
--- a/src/bonsai/bonsai/bim/module/spatial/decorator.py
+++ b/src/bonsai/bonsai/bim/module/spatial/decorator.py
@@ -17,7 +17,6 @@
# along with Bonsai. If not, see .
import blf
-import bmesh
import gpu
from bpy.types import SpaceView3D
from bpy_extras.view3d_utils import location_3d_to_region_2d
diff --git a/src/bonsai/bonsai/bim/module/spatial/prop.py b/src/bonsai/bonsai/bim/module/spatial/prop.py
index 3d3d2e74f4..b0d393b265 100644
--- a/src/bonsai/bonsai/bim/module/spatial/prop.py
+++ b/src/bonsai/bonsai/bim/module/spatial/prop.py
@@ -19,15 +19,11 @@
from typing import TYPE_CHECKING, Literal, Union
import bpy
-import ifcopenshell
import ifcopenshell.api.attribute
-import ifcopenshell.util.unit
from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
PointerProperty,
StringProperty,
diff --git a/src/bonsai/bonsai/bim/module/structural/operator.py b/src/bonsai/bonsai/bim/module/structural/operator.py
index edb3ab18ae..500dce4371 100644
--- a/src/bonsai/bonsai/bim/module/structural/operator.py
+++ b/src/bonsai/bonsai/bim/module/structural/operator.py
@@ -16,13 +16,10 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import json
from math import degrees
-from typing import TYPE_CHECKING, Any, Literal
+from typing import TYPE_CHECKING, Literal
import bpy
-import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.aggregate
import ifcopenshell.api.group
import ifcopenshell.api.structural
diff --git a/src/bonsai/bonsai/bim/module/structural/prop.py b/src/bonsai/bonsai/bim/module/structural/prop.py
index 24d6ead470..e1e658ce7a 100644
--- a/src/bonsai/bonsai/bim/module/structural/prop.py
+++ b/src/bonsai/bonsai/bim/module/structural/prop.py
@@ -25,21 +25,19 @@ from bpy.props import (
CollectionProperty,
EnumProperty,
FloatProperty,
- FloatVectorProperty,
IntProperty,
PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
-import bonsai.tool as tool
from bonsai.bim.module.structural.data import (
BoundaryConditionsData,
LoadGroupDecorationData,
StructuralLoadCasesData,
StructuralLoadsData,
)
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
def get_load_groups_to_show(self: "BIMStructuralProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]:
diff --git a/src/bonsai/bonsai/bim/module/style/prop.py b/src/bonsai/bonsai/bim/module/style/prop.py
index b1660dfd4c..5d14bbd248 100644
--- a/src/bonsai/bonsai/bim/module/style/prop.py
+++ b/src/bonsai/bonsai/bim/module/style/prop.py
@@ -24,7 +24,6 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
FloatVectorProperty,
IntProperty,
PointerProperty,
diff --git a/src/bonsai/bonsai/bim/module/system/data.py b/src/bonsai/bonsai/bim/module/system/data.py
index c5d8897cc8..65faca50d5 100644
--- a/src/bonsai/bonsai/bim/module/system/data.py
+++ b/src/bonsai/bonsai/bim/module/system/data.py
@@ -19,7 +19,6 @@
from typing import Any, Union
import bpy
-import ifcopenshell
import ifcopenshell.util.schema
import ifcopenshell.util.system
import ifcopenshell.util.unit
diff --git a/src/bonsai/bonsai/bim/module/system/decorator.py b/src/bonsai/bonsai/bim/module/system/decorator.py
index f2448ba6e6..13ac7519f1 100644
--- a/src/bonsai/bonsai/bim/module/system/decorator.py
+++ b/src/bonsai/bonsai/bim/module/system/decorator.py
@@ -16,19 +16,15 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-from math import cos, radians, sin
import bmesh
import bpy
import gpu
-import ifcopenshell
from bpy.app.handlers import persistent
from bpy.types import SpaceView3D
from gpu_extras.batch import batch_for_shader
-from mathutils import Matrix, Vector
import bonsai.tool as tool
-from bonsai.bim.module.system.data import SystemDecorationData
ERROR_ELEMENTS_COLOR = (1, 0.2, 0.322, 1) # RED
UNSPECIAL_ELEMENT_COLOR = (0.2, 0.2, 0.2, 1) # GREY
diff --git a/src/bonsai/bonsai/bim/module/system/operator.py b/src/bonsai/bonsai/bim/module/system/operator.py
index d365964968..e1f6f5e9e4 100644
--- a/src/bonsai/bonsai/bim/module/system/operator.py
+++ b/src/bonsai/bonsai/bim/module/system/operator.py
@@ -19,7 +19,6 @@
from typing import TYPE_CHECKING
import bpy
-import ifcopenshell.api
import ifcopenshell.api.attribute
import ifcopenshell.api.system
import ifcopenshell.util.system
diff --git a/src/bonsai/bonsai/bim/module/system/prop.py b/src/bonsai/bonsai/bim/module/system/prop.py
index a40f50a90e..a03b2a0cfb 100644
--- a/src/bonsai/bonsai/bim/module/system/prop.py
+++ b/src/bonsai/bonsai/bim/module/system/prop.py
@@ -23,10 +23,7 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
@@ -35,7 +32,7 @@ import bonsai.bim.handler
import bonsai.bim.module.system.decorator as decorator
import bonsai.tool as tool
from bonsai.bim.module.system.data import SystemData
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
def get_system_class(self: "BIMSystemProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]:
diff --git a/src/bonsai/bonsai/bim/module/tester/data.py b/src/bonsai/bonsai/bim/module/tester/data.py
index 1d1a1c4901..8535d879c6 100644
--- a/src/bonsai/bonsai/bim/module/tester/data.py
+++ b/src/bonsai/bonsai/bim/module/tester/data.py
@@ -16,7 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import bpy
import ifctester.reporter
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/tester/operator.py b/src/bonsai/bonsai/bim/module/tester/operator.py
index 6cb7999184..c8485d3339 100644
--- a/src/bonsai/bonsai/bim/module/tester/operator.py
+++ b/src/bonsai/bonsai/bim/module/tester/operator.py
@@ -31,7 +31,6 @@ from typing import Union
import bpy
import ifcopenshell
-import ifctester
import ifctester.ids
import ifctester.reporter
import socketio
diff --git a/src/bonsai/bonsai/bim/module/tester/prop.py b/src/bonsai/bonsai/bim/module/tester/prop.py
index 4beb07c533..1bfa32c1eb 100644
--- a/src/bonsai/bonsai/bim/module/tester/prop.py
+++ b/src/bonsai/bonsai/bim/module/tester/prop.py
@@ -22,9 +22,6 @@ import bpy
from bpy.props import (
BoolProperty,
CollectionProperty,
- EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
PointerProperty,
StringProperty,
@@ -32,7 +29,7 @@ from bpy.props import (
from bpy.types import PropertyGroup
from bonsai.bim.module.tester.data import TesterData
-from bonsai.bim.prop import MultipleFileSelect, StrProperty
+from bonsai.bim.prop import MultipleFileSelect
def update_active_specification_index(self: "IfcTesterProperties", context: bpy.types.Context) -> None:
diff --git a/src/bonsai/bonsai/bim/module/type/operator.py b/src/bonsai/bonsai/bim/module/type/operator.py
index 8d24989f12..4a6ce053fc 100644
--- a/src/bonsai/bonsai/bim/module/type/operator.py
+++ b/src/bonsai/bonsai/bim/module/type/operator.py
@@ -18,16 +18,11 @@
from typing import TYPE_CHECKING
-import bmesh
import bpy
-import ifcopenshell.api
import ifcopenshell.api.attribute
import ifcopenshell.api.type
import ifcopenshell.util.element
import ifcopenshell.util.representation
-import ifcopenshell.util.schema
-import ifcopenshell.util.type
-import ifcopenshell.util.unit
import bonsai.bim.helper
import bonsai.core.geometry
diff --git a/src/bonsai/bonsai/bim/module/type/prop.py b/src/bonsai/bonsai/bim/module/type/prop.py
index 13141a7947..d624fd59a0 100644
--- a/src/bonsai/bonsai/bim/module/type/prop.py
+++ b/src/bonsai/bonsai/bim/module/type/prop.py
@@ -20,16 +20,11 @@ from typing import TYPE_CHECKING, Union
import bpy
import ifcopenshell.util.element
-import ifcopenshell.util.type
from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
- IntProperty,
PointerProperty,
- StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/module/unit/data.py b/src/bonsai/bonsai/bim/module/unit/data.py
index fc51ef3710..6d83bb4e16 100644
--- a/src/bonsai/bonsai/bim/module/unit/data.py
+++ b/src/bonsai/bonsai/bim/module/unit/data.py
@@ -16,7 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import ifcopenshell
import ifcopenshell.util.attribute
import ifcopenshell.util.schema
import ifcopenshell.util.unit
diff --git a/src/bonsai/bonsai/bim/module/unit/operator.py b/src/bonsai/bonsai/bim/module/unit/operator.py
index da2c7edc1d..f0cee9a6be 100644
--- a/src/bonsai/bonsai/bim/module/unit/operator.py
+++ b/src/bonsai/bonsai/bim/module/unit/operator.py
@@ -19,8 +19,6 @@
from typing import TYPE_CHECKING
import bpy
-import ifcopenshell.api
-import ifcopenshell.util.unit
import bonsai.core.unit as core
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/unit/prop.py b/src/bonsai/bonsai/bim/module/unit/prop.py
index 02fe7ac803..60639ac3a1 100644
--- a/src/bonsai/bonsai/bim/module/unit/prop.py
+++ b/src/bonsai/bonsai/bim/module/unit/prop.py
@@ -23,16 +23,13 @@ from bpy.props import (
BoolProperty,
CollectionProperty,
EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
StringProperty,
)
from bpy.types import PropertyGroup
from bonsai.bim.module.unit.data import UnitsData
-from bonsai.bim.prop import Attribute, StrProperty
+from bonsai.bim.prop import Attribute
def get_unit_classes(self: "BIMUnitProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]:
diff --git a/src/bonsai/bonsai/bim/module/void/data.py b/src/bonsai/bonsai/bim/module/void/data.py
index 6d1fcc12a2..0253140651 100644
--- a/src/bonsai/bonsai/bim/module/void/data.py
+++ b/src/bonsai/bonsai/bim/module/void/data.py
@@ -16,7 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-from collections.abc import Generator
from typing import Any, Union
import bpy
diff --git a/src/bonsai/bonsai/bim/module/web/data.py b/src/bonsai/bonsai/bim/module/web/data.py
index e74b7fa0b6..652d5f7169 100644
--- a/src/bonsai/bonsai/bim/module/web/data.py
+++ b/src/bonsai/bonsai/bim/module/web/data.py
@@ -18,8 +18,6 @@
import os
-import bpy
-
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/bim/module/web/operator.py b/src/bonsai/bonsai/bim/module/web/operator.py
index 8efd15494e..a2910b9805 100644
--- a/src/bonsai/bonsai/bim/module/web/operator.py
+++ b/src/bonsai/bonsai/bim/module/web/operator.py
@@ -16,7 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import os
import bpy
diff --git a/src/bonsai/bonsai/bim/module/web/prop.py b/src/bonsai/bonsai/bim/module/web/prop.py
index 1538454270..42bd272578 100644
--- a/src/bonsai/bonsai/bim/module/web/prop.py
+++ b/src/bonsai/bonsai/bim/module/web/prop.py
@@ -18,16 +18,9 @@
from typing import TYPE_CHECKING
-import bpy
from bpy.props import (
BoolProperty,
- CollectionProperty,
- EnumProperty,
- FloatProperty,
- FloatVectorProperty,
IntProperty,
- PointerProperty,
- StringProperty,
)
from bpy.types import PropertyGroup
diff --git a/src/bonsai/bonsai/bim/prop.py b/src/bonsai/bonsai/bim/prop.py
index 4e93c1c690..61b916965e 100644
--- a/src/bonsai/bonsai/bim/prop.py
+++ b/src/bonsai/bonsai/bim/prop.py
@@ -21,8 +21,6 @@ import os
from typing import TYPE_CHECKING, Any, Literal, Union, assert_never, get_args
import bpy
-import ifcopenshell
-import ifcopenshell.util.pset
import ifcopenshell.util.unit
from bpy.props import (
BoolProperty,
@@ -35,17 +33,9 @@ from bpy.props import (
StringProperty,
)
from bpy.types import PropertyGroup
-from ifcopenshell.util.doc import (
- get_attribute_doc,
- get_entity_doc,
- get_predefined_type_doc,
- get_property_doc,
- get_property_set_doc,
-)
import bonsai.bim
import bonsai.bim.handler
-import bonsai.bim.schema
import bonsai.tool as tool
cwd = os.path.dirname(os.path.realpath(__file__))
diff --git a/src/bonsai/bonsai/bim/ui.py b/src/bonsai/bonsai/bim/ui.py
index 26c06c5b8d..ad1c14787d 100644
--- a/src/bonsai/bonsai/bim/ui.py
+++ b/src/bonsai/bonsai/bim/ui.py
@@ -24,10 +24,9 @@ from typing import TYPE_CHECKING, Literal, Optional
import bpy
import platformdirs
-from bpy.props import BoolProperty, IntProperty, StringProperty
+from bpy.props import BoolProperty, StringProperty
from bpy.types import Panel
from ifcopenshell.util.doc import (
- get_attribute_doc,
get_entity_doc,
get_property_set_doc,
get_type_doc,
@@ -38,7 +37,6 @@ from natsort import natsorted
import bonsai.bim
import bonsai.bim.helper
import bonsai.tool as tool
-from bonsai import get_debug_info
from bonsai.bim.module.bsdd.prop import BIMBSDDProperties, BSDDProperty
from bonsai.bim.module.model.prop import (
BIMDoorProperties,
@@ -57,7 +55,6 @@ from bonsai.bim.module.model.ui import (
from bonsai.bim.module.pset.prop import IfcProperty
from bonsai.bim.prop import Attribute
-from . import ifc
if TYPE_CHECKING:
from bonsai.bim.module.project.prop import BIMProjectProperties
diff --git a/src/bonsai/bonsai/core/attribute.py b/src/bonsai/bonsai/core/attribute.py
index 2bc2340cd8..803cc353bf 100644
--- a/src/bonsai/bonsai/core/attribute.py
+++ b/src/bonsai/bonsai/core/attribute.py
@@ -21,8 +21,6 @@ from __future__ import annotations
from typing import TYPE_CHECKING, Union
if TYPE_CHECKING:
- import bpy
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/brick.py b/src/bonsai/bonsai/core/brick.py
index a21c6d0656..95b673f88b 100644
--- a/src/bonsai/bonsai/core/brick.py
+++ b/src/bonsai/bonsai/core/brick.py
@@ -18,10 +18,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional, Union
+from typing import TYPE_CHECKING, Union
if TYPE_CHECKING:
- import bpy
import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/bsdd.py b/src/bonsai/bonsai/core/bsdd.py
index 1cbf610ea7..55268c131f 100644
--- a/src/bonsai/bonsai/core/bsdd.py
+++ b/src/bonsai/bonsai/core/bsdd.py
@@ -18,12 +18,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Any, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
- import bpy
- import bsdd
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/context.py b/src/bonsai/bonsai/core/context.py
index 49815881aa..7ea77fc2e8 100644
--- a/src/bonsai/bonsai/core/context.py
+++ b/src/bonsai/bonsai/core/context.py
@@ -21,7 +21,6 @@ from __future__ import annotations
from typing import TYPE_CHECKING, Optional
if TYPE_CHECKING:
- import bpy
import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/cost.py b/src/bonsai/bonsai/core/cost.py
index 6cd2d916c3..66067cf36e 100644
--- a/src/bonsai/bonsai/core/cost.py
+++ b/src/bonsai/bonsai/core/cost.py
@@ -21,7 +21,6 @@ from __future__ import annotations
from typing import TYPE_CHECKING, Literal, Optional, Union
if TYPE_CHECKING:
- import bpy
import ifcopenshell
import ifcopenshell.util.cost
diff --git a/src/bonsai/bonsai/core/covering.py b/src/bonsai/bonsai/core/covering.py
index c308c861fc..a8c7a73f25 100644
--- a/src/bonsai/bonsai/core/covering.py
+++ b/src/bonsai/bonsai/core/covering.py
@@ -18,11 +18,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
- import bpy
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/debug.py b/src/bonsai/bonsai/core/debug.py
index b79bd4f0e7..3702a9cca3 100644
--- a/src/bonsai/bonsai/core/debug.py
+++ b/src/bonsai/bonsai/core/debug.py
@@ -19,11 +19,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
- import bpy
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/document.py b/src/bonsai/bonsai/core/document.py
index e38fc5d1e1..b7fe4ef2e5 100644
--- a/src/bonsai/bonsai/core/document.py
+++ b/src/bonsai/bonsai/core/document.py
@@ -18,7 +18,7 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
import ifcopenshell
diff --git a/src/bonsai/bonsai/core/drawing.py b/src/bonsai/bonsai/core/drawing.py
index 42b0f77fbb..953f57e7f4 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, Literal, Optional, Union
+from typing import TYPE_CHECKING, Optional, Union
if TYPE_CHECKING:
import bpy
diff --git a/src/bonsai/bonsai/core/georeference.py b/src/bonsai/bonsai/core/georeference.py
index 442c928b4e..f594f41416 100644
--- a/src/bonsai/bonsai/core/georeference.py
+++ b/src/bonsai/bonsai/core/georeference.py
@@ -18,11 +18,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
- import bpy
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/ifcgit.py b/src/bonsai/bonsai/core/ifcgit.py
index 703013e266..fb23652ebc 100644
--- a/src/bonsai/bonsai/core/ifcgit.py
+++ b/src/bonsai/bonsai/core/ifcgit.py
@@ -19,12 +19,11 @@
from __future__ import annotations
import platform
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
import bpy
import git
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/library.py b/src/bonsai/bonsai/core/library.py
index e6c58bf0f7..e006db797e 100644
--- a/src/bonsai/bonsai/core/library.py
+++ b/src/bonsai/bonsai/core/library.py
@@ -18,7 +18,7 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
import bpy
diff --git a/src/bonsai/bonsai/core/misc.py b/src/bonsai/bonsai/core/misc.py
index 297b81eac8..a5f0deb2f3 100644
--- a/src/bonsai/bonsai/core/misc.py
+++ b/src/bonsai/bonsai/core/misc.py
@@ -18,11 +18,10 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
import bpy
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/model.py b/src/bonsai/bonsai/core/model.py
index 6edce4d100..7b17d5de5d 100644
--- a/src/bonsai/bonsai/core/model.py
+++ b/src/bonsai/bonsai/core/model.py
@@ -22,7 +22,6 @@ from typing import TYPE_CHECKING, Literal, Optional
if TYPE_CHECKING:
import bpy
- import ifcopenshell
from mathutils import Vector
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/nest.py b/src/bonsai/bonsai/core/nest.py
index 4ab491666b..ffa594e731 100644
--- a/src/bonsai/bonsai/core/nest.py
+++ b/src/bonsai/bonsai/core/nest.py
@@ -18,7 +18,7 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional, Union
+from typing import TYPE_CHECKING, Union
if TYPE_CHECKING:
import bpy
diff --git a/src/bonsai/bonsai/core/owner.py b/src/bonsai/bonsai/core/owner.py
index 90383e7885..aeecb93a64 100644
--- a/src/bonsai/bonsai/core/owner.py
+++ b/src/bonsai/bonsai/core/owner.py
@@ -18,10 +18,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional, Union
+from typing import TYPE_CHECKING, Union
if TYPE_CHECKING:
- import bpy
import ifcopenshell
from ifcopenshell.api.owner.add_actor import ACTOR_TYPE
from ifcopenshell.api.owner.add_address import ADDRESS_TYPE
diff --git a/src/bonsai/bonsai/core/patch.py b/src/bonsai/bonsai/core/patch.py
index 4acee34494..1ea0a71d4a 100644
--- a/src/bonsai/bonsai/core/patch.py
+++ b/src/bonsai/bonsai/core/patch.py
@@ -19,11 +19,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
- import bpy
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/profile.py b/src/bonsai/bonsai/core/profile.py
index e102360062..77f64c4606 100644
--- a/src/bonsai/bonsai/core/profile.py
+++ b/src/bonsai/bonsai/core/profile.py
@@ -18,11 +18,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
- import bpy
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/project.py b/src/bonsai/bonsai/core/project.py
index 18dbd3fab2..0e4b044b5e 100644
--- a/src/bonsai/bonsai/core/project.py
+++ b/src/bonsai/bonsai/core/project.py
@@ -21,8 +21,6 @@ from __future__ import annotations
from typing import TYPE_CHECKING, Optional
if TYPE_CHECKING:
- import bpy
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/pset.py b/src/bonsai/bonsai/core/pset.py
index 6af9f1e1ee..62517b7ab2 100644
--- a/src/bonsai/bonsai/core/pset.py
+++ b/src/bonsai/bonsai/core/pset.py
@@ -19,7 +19,7 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Any, Optional, Union
+from typing import TYPE_CHECKING, Any, Union
if TYPE_CHECKING:
import bpy
diff --git a/src/bonsai/bonsai/core/resource.py b/src/bonsai/bonsai/core/resource.py
index cab03b7ebc..63f2e02b90 100644
--- a/src/bonsai/bonsai/core/resource.py
+++ b/src/bonsai/bonsai/core/resource.py
@@ -24,7 +24,6 @@ from collections.abc import Iterable
from typing import TYPE_CHECKING, Optional
if TYPE_CHECKING:
- import bpy
import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/search.py b/src/bonsai/bonsai/core/search.py
index cc16fb56f6..fb4771d92b 100644
--- a/src/bonsai/bonsai/core/search.py
+++ b/src/bonsai/bonsai/core/search.py
@@ -21,7 +21,6 @@ from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING:
- import bpy
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/sequence.py b/src/bonsai/bonsai/core/sequence.py
index d62b4325ad..4e1ead7d08 100644
--- a/src/bonsai/bonsai/core/sequence.py
+++ b/src/bonsai/bonsai/core/sequence.py
@@ -21,7 +21,6 @@ from __future__ import annotations
from typing import TYPE_CHECKING, Optional, Union
if TYPE_CHECKING:
- import bpy
import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/spatial.py b/src/bonsai/bonsai/core/spatial.py
index c464f84766..5086a8a872 100644
--- a/src/bonsai/bonsai/core/spatial.py
+++ b/src/bonsai/bonsai/core/spatial.py
@@ -18,7 +18,7 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional, Union, assert_never
+from typing import TYPE_CHECKING, Optional, Union
if TYPE_CHECKING:
import bpy
diff --git a/src/bonsai/bonsai/core/structural.py b/src/bonsai/bonsai/core/structural.py
index c3f787905a..fb5a28fe24 100644
--- a/src/bonsai/bonsai/core/structural.py
+++ b/src/bonsai/bonsai/core/structural.py
@@ -18,10 +18,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional, Union
+from typing import TYPE_CHECKING, Union
if TYPE_CHECKING:
- import bpy
import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/style.py b/src/bonsai/bonsai/core/style.py
index 20fd98509c..04ee971f97 100644
--- a/src/bonsai/bonsai/core/style.py
+++ b/src/bonsai/bonsai/core/style.py
@@ -18,7 +18,7 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Any, Optional
+from typing import TYPE_CHECKING, Any
if TYPE_CHECKING:
import bpy
diff --git a/src/bonsai/bonsai/core/system.py b/src/bonsai/bonsai/core/system.py
index 418c472645..f0a3ad0380 100644
--- a/src/bonsai/bonsai/core/system.py
+++ b/src/bonsai/bonsai/core/system.py
@@ -18,10 +18,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional, Union
+from typing import TYPE_CHECKING, Union
if TYPE_CHECKING:
- import bpy
import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/type.py b/src/bonsai/bonsai/core/type.py
index a203b9ff76..cf8f3effbe 100644
--- a/src/bonsai/bonsai/core/type.py
+++ b/src/bonsai/bonsai/core/type.py
@@ -18,12 +18,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
-
-import bonsai.core.geometry
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
- import bpy
import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/unit.py b/src/bonsai/bonsai/core/unit.py
index 863821e6f5..c0ecc46fcb 100644
--- a/src/bonsai/bonsai/core/unit.py
+++ b/src/bonsai/bonsai/core/unit.py
@@ -19,10 +19,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
- import bpy
import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/core/web.py b/src/bonsai/bonsai/core/web.py
index b0d9222460..81b9e8a90c 100644
--- a/src/bonsai/bonsai/core/web.py
+++ b/src/bonsai/bonsai/core/web.py
@@ -18,11 +18,9 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Optional, Union
+from typing import TYPE_CHECKING
if TYPE_CHECKING:
- import bpy
- import ifcopenshell
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/tool/__init__.py b/src/bonsai/bonsai/tool/__init__.py
index 68fbf0e381..06e498e8be 100644
--- a/src/bonsai/bonsai/tool/__init__.py
+++ b/src/bonsai/bonsai/tool/__init__.py
@@ -15,6 +15,9 @@
#
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
+#
+# Ignore unused imports.
+# ruff: noqa: F401
from bonsai.tool.aggregate import Aggregate
from bonsai.tool.attribute import Attribute
diff --git a/src/bonsai/bonsai/tool/attribute.py b/src/bonsai/bonsai/tool/attribute.py
index 426283ac9e..ce5cdba030 100644
--- a/src/bonsai/bonsai/tool/attribute.py
+++ b/src/bonsai/bonsai/tool/attribute.py
@@ -21,11 +21,8 @@ from __future__ import annotations
from typing import (
TYPE_CHECKING,
Any,
- Literal,
- Optional,
TypeVar,
Union,
- assert_never,
)
import bpy
@@ -37,7 +34,6 @@ import bonsai.tool as tool
if TYPE_CHECKING:
from bonsai.bim.module.attribute.prop import (
- BIMAttributeProperties,
BIMExplorerProperties,
)
diff --git a/src/bonsai/bonsai/tool/bcf.py b/src/bonsai/bonsai/tool/bcf.py
index c98cfeb4e0..7be0f97a5b 100644
--- a/src/bonsai/bonsai/tool/bcf.py
+++ b/src/bonsai/bonsai/tool/bcf.py
@@ -33,7 +33,6 @@ import bcf.v3.topic
import bpy
import bonsai.core.tool
-import bonsai.tool as tool
if TYPE_CHECKING:
from bonsai.bim.module.bcf.prop import BCFProperties
diff --git a/src/bonsai/bonsai/tool/blender.py b/src/bonsai/bonsai/tool/blender.py
index 9471cad28c..63c876dae1 100644
--- a/src/bonsai/bonsai/tool/blender.py
+++ b/src/bonsai/bonsai/tool/blender.py
@@ -74,7 +74,7 @@ if TYPE_CHECKING:
BIMSolarProperties,
RadianceExporterProperties,
)
- from bonsai.bim.prop import BIMObjectProperties, BIMProperties, BIMSnapProperties
+ from bonsai.bim.prop import BIMObjectProperties, BIMProperties
T = TypeVar("T")
diff --git a/src/bonsai/bonsai/tool/brick.py b/src/bonsai/bonsai/tool/brick.py
index 42b80cc288..d585353745 100644
--- a/src/bonsai/bonsai/tool/brick.py
+++ b/src/bonsai/bonsai/tool/brick.py
@@ -37,13 +37,11 @@ import bonsai.core.tool
import bonsai.tool as tool
try:
- import urllib.parse
import brickschema
import brickschema.persistent
from brickschema.namespaces import REF, A
from rdflib import BNode, Literal, Namespace, URIRef
- from rdflib.namespace import RDF
except:
# See #1860
print("Warning: brickschema not available.")
diff --git a/src/bonsai/bonsai/tool/cad.py b/src/bonsai/bonsai/tool/cad.py
index 4e3d8e1499..13678df15a 100644
--- a/src/bonsai/bonsai/tool/cad.py
+++ b/src/bonsai/bonsai/tool/cad.py
@@ -30,7 +30,6 @@
from __future__ import annotations
-import itertools
import math
import sys
from typing import TYPE_CHECKING, Union
diff --git a/src/bonsai/bonsai/tool/clash.py b/src/bonsai/bonsai/tool/clash.py
index 7c9961646c..fb64e82b49 100644
--- a/src/bonsai/bonsai/tool/clash.py
+++ b/src/bonsai/bonsai/tool/clash.py
@@ -19,12 +19,9 @@
from __future__ import annotations
import json
-import os
-from contextlib import contextmanager
-from typing import TYPE_CHECKING, Literal, Union, get_args
+from typing import TYPE_CHECKING, Literal, Union
import bpy
-import ifcopenshell
from ifcclash import ifcclash
from ifcclash.ifcclash import ClashSource
from mathutils import Vector
diff --git a/src/bonsai/bonsai/tool/classification.py b/src/bonsai/bonsai/tool/classification.py
index 7b2ebb073e..9264e5bee2 100644
--- a/src/bonsai/bonsai/tool/classification.py
+++ b/src/bonsai/bonsai/tool/classification.py
@@ -22,10 +22,8 @@ from typing import TYPE_CHECKING, Union, assert_never
import bpy
import ifcopenshell.api
-import ifcopenshell.util.classification
import bonsai.core.tool
-import bonsai.tool as tool
if TYPE_CHECKING:
from bonsai.bim.module.classification.prop import (
diff --git a/src/bonsai/bonsai/tool/collector.py b/src/bonsai/bonsai/tool/collector.py
index 74a55d7dc1..b0aa358629 100644
--- a/src/bonsai/bonsai/tool/collector.py
+++ b/src/bonsai/bonsai/tool/collector.py
@@ -16,7 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-from typing import Union
import bpy
import ifcopenshell.util.element
diff --git a/src/bonsai/bonsai/tool/covering.py b/src/bonsai/bonsai/tool/covering.py
index 018a39eb46..28e2a80716 100644
--- a/src/bonsai/bonsai/tool/covering.py
+++ b/src/bonsai/bonsai/tool/covering.py
@@ -21,7 +21,6 @@ from __future__ import annotations
from typing import TYPE_CHECKING
import bpy
-import ifcopenshell
import ifcopenshell.util.element
import bonsai.core.tool
diff --git a/src/bonsai/bonsai/tool/drawing.py b/src/bonsai/bonsai/tool/drawing.py
index 864568c835..ca13168942 100644
--- a/src/bonsai/bonsai/tool/drawing.py
+++ b/src/bonsai/bonsai/tool/drawing.py
@@ -18,8 +18,6 @@
from __future__ import annotations
-import collections
-import collections.abc
import json
import logging
import math
diff --git a/src/bonsai/bonsai/tool/feature.py b/src/bonsai/bonsai/tool/feature.py
index d58a8df55c..3a06cbf625 100644
--- a/src/bonsai/bonsai/tool/feature.py
+++ b/src/bonsai/bonsai/tool/feature.py
@@ -22,11 +22,9 @@ from collections.abc import Iterable
from typing import TYPE_CHECKING
import bpy
-import ifcopenshell
import ifcopenshell.api.feature
import ifcopenshell.util.representation
-import bonsai.bim.helper
import bonsai.core.geometry
import bonsai.core.tool
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/tool/geometry.py b/src/bonsai/bonsai/tool/geometry.py
index 13ec6695d2..e24152d642 100644
--- a/src/bonsai/bonsai/tool/geometry.py
+++ b/src/bonsai/bonsai/tool/geometry.py
@@ -39,7 +39,6 @@ from typing import (
import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.boundary
import ifcopenshell.api.geometry
import ifcopenshell.api.grid
@@ -81,7 +80,7 @@ if TYPE_CHECKING:
BIMGeometryProperties,
BIMObjectGeometryProperties,
)
- from bonsai.bim.prop import Attribute, BIMMeshProperties
+ from bonsai.bim.prop import BIMMeshProperties
class Geometry(bonsai.core.tool.Geometry):
diff --git a/src/bonsai/bonsai/tool/georeference.py b/src/bonsai/bonsai/tool/georeference.py
index 3fa3e51f62..6e39d88fe8 100644
--- a/src/bonsai/bonsai/tool/georeference.py
+++ b/src/bonsai/bonsai/tool/georeference.py
@@ -22,7 +22,6 @@ import json
from typing import TYPE_CHECKING, Any, Literal, Union
import bpy
-import ifcopenshell
import ifcopenshell.api.georeference
import ifcopenshell.util.geolocation
import ifcopenshell.util.placement
diff --git a/src/bonsai/bonsai/tool/group.py b/src/bonsai/bonsai/tool/group.py
index f0f3664f6f..3e221b57aa 100644
--- a/src/bonsai/bonsai/tool/group.py
+++ b/src/bonsai/bonsai/tool/group.py
@@ -25,7 +25,6 @@ import bpy
import ifcopenshell
from natsort import natsorted
-import bonsai.bim.helper
import bonsai.core.tool
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/tool/layer.py b/src/bonsai/bonsai/tool/layer.py
index 396cc13605..a49bf8bf05 100644
--- a/src/bonsai/bonsai/tool/layer.py
+++ b/src/bonsai/bonsai/tool/layer.py
@@ -23,7 +23,6 @@ from typing import TYPE_CHECKING
import bpy
import bonsai.core.tool
-import bonsai.tool as tool
if TYPE_CHECKING:
from bonsai.bim.module.layer.prop import BIMLayerProperties
diff --git a/src/bonsai/bonsai/tool/material.py b/src/bonsai/bonsai/tool/material.py
index 6f862100e2..e09462a8c2 100644
--- a/src/bonsai/bonsai/tool/material.py
+++ b/src/bonsai/bonsai/tool/material.py
@@ -38,7 +38,6 @@ if TYPE_CHECKING:
BIMMaterialProperties,
BIMObjectMaterialProperties,
)
- from bonsai.bim.module.material.prop import Material as MaterialItem
class Material(bonsai.core.tool.Material):
diff --git a/src/bonsai/bonsai/tool/model.py b/src/bonsai/bonsai/tool/model.py
index 48b106fd74..23c0071b1b 100644
--- a/src/bonsai/bonsai/tool/model.py
+++ b/src/bonsai/bonsai/tool/model.py
@@ -18,7 +18,6 @@
from __future__ import annotations
-import collections
import collections.abc
import json
from collections.abc import Iterable, Sequence
@@ -38,7 +37,6 @@ from typing import (
import bmesh
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.geometry
import ifcopenshell.api.grid
import ifcopenshell.api.pset
diff --git a/src/bonsai/bonsai/tool/owner.py b/src/bonsai/bonsai/tool/owner.py
index 9ed0bda219..9f8cf4ab7c 100644
--- a/src/bonsai/bonsai/tool/owner.py
+++ b/src/bonsai/bonsai/tool/owner.py
@@ -18,7 +18,7 @@
from __future__ import annotations
-from typing import TYPE_CHECKING, Any, Literal, Union, assert_never
+from typing import TYPE_CHECKING, Any, Literal, Union
import bpy
import ifcopenshell
diff --git a/src/bonsai/bonsai/tool/polyline.py b/src/bonsai/bonsai/tool/polyline.py
index 5fbc909910..5a91fc79b8 100644
--- a/src/bonsai/bonsai/tool/polyline.py
+++ b/src/bonsai/bonsai/tool/polyline.py
@@ -18,12 +18,10 @@
import math
from dataclasses import dataclass, field
-from math import cos, degrees, radians, sin, tan
+from math import radians
from typing import Literal, Optional, Union
-import bmesh
import bpy
-import ifcopenshell
import ifcopenshell.util.unit
from lark import Lark, Transformer
from mathutils import Matrix, Vector
diff --git a/src/bonsai/bonsai/tool/profile.py b/src/bonsai/bonsai/tool/profile.py
index 99d2164a32..4c7c2fc448 100644
--- a/src/bonsai/bonsai/tool/profile.py
+++ b/src/bonsai/bonsai/tool/profile.py
@@ -25,9 +25,6 @@ import ifcopenshell
import ifcopenshell.api.profile
import ifcopenshell.geom
import ifcopenshell.ifcopenshell_wrapper as W
-import ifcopenshell.util.element
-import ifcopenshell.util.placement
-import ifcopenshell.util.representation
import ifcopenshell.util.shape
import ifcopenshell.util.unit
import numpy as np
diff --git a/src/bonsai/bonsai/tool/project.py b/src/bonsai/bonsai/tool/project.py
index fc1e4d5e77..6e1c9b2186 100644
--- a/src/bonsai/bonsai/tool/project.py
+++ b/src/bonsai/bonsai/tool/project.py
@@ -20,7 +20,6 @@ from __future__ import annotations
import os
import json
-import math
import shutil
import numpy as np
from collections import defaultdict
@@ -33,7 +32,6 @@ import ifcopenshell
import ifcopenshell.api.document
import ifcopenshell.util.element
import ifcopenshell.util.representation
-import ifcopenshell.util.unit
from ifcopenshell.api.project.append_asset import APPENDABLE_ASSET_TYPES
import bonsai.bim.schema
diff --git a/src/bonsai/bonsai/tool/pset.py b/src/bonsai/bonsai/tool/pset.py
index 8eabcd155d..2e2fc4383c 100644
--- a/src/bonsai/bonsai/tool/pset.py
+++ b/src/bonsai/bonsai/tool/pset.py
@@ -22,7 +22,6 @@ from typing import TYPE_CHECKING, Any, Literal, Union, assert_never
import bpy
import ifcopenshell
-import ifcopenshell.api.pset
import ifcopenshell.util.attribute
import ifcopenshell.util.element
diff --git a/src/bonsai/bonsai/tool/pset_template.py b/src/bonsai/bonsai/tool/pset_template.py
index e4c1c3dbe1..fea5362d4e 100644
--- a/src/bonsai/bonsai/tool/pset_template.py
+++ b/src/bonsai/bonsai/tool/pset_template.py
@@ -24,8 +24,6 @@ from typing import TYPE_CHECKING, Literal, final
import bpy
import ifcopenshell
import ifcopenshell.api.pset_template
-import ifcopenshell.util.attribute
-import ifcopenshell.util.element
import bonsai.bim
import bonsai.core.tool
diff --git a/src/bonsai/bonsai/tool/qto.py b/src/bonsai/bonsai/tool/qto.py
index 4fd271b283..ec14df6f4c 100644
--- a/src/bonsai/bonsai/tool/qto.py
+++ b/src/bonsai/bonsai/tool/qto.py
@@ -22,7 +22,6 @@ from typing import TYPE_CHECKING, Any, Literal, Optional, Union
import bpy
import ifcopenshell
-import ifcopenshell.util.element
import ifcopenshell.util.unit
from mathutils import Vector
diff --git a/src/bonsai/bonsai/tool/raycast.py b/src/bonsai/bonsai/tool/raycast.py
index ee06066dd7..d98aaf26ab 100644
--- a/src/bonsai/bonsai/tool/raycast.py
+++ b/src/bonsai/bonsai/tool/raycast.py
@@ -16,14 +16,12 @@
# You should have received a copy of the GNU General Public License
# along with Bonsai. If not, see .
-import copy
from typing import Union
import bmesh
import bpy
import mathutils
import numpy as np
-from bpy_extras import view3d_utils
from mathutils import Vector
import bonsai.core.tool
diff --git a/src/bonsai/bonsai/tool/root.py b/src/bonsai/bonsai/tool/root.py
index be7e350adc..02ddbe9745 100644
--- a/src/bonsai/bonsai/tool/root.py
+++ b/src/bonsai/bonsai/tool/root.py
@@ -22,7 +22,6 @@ from typing import TYPE_CHECKING, Any, Literal, Optional, Union
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.feature
import ifcopenshell.api.geometry
import ifcopenshell.api.root
diff --git a/src/bonsai/bonsai/tool/sequence.py b/src/bonsai/bonsai/tool/sequence.py
index 8c5339d438..2afed8741a 100644
--- a/src/bonsai/bonsai/tool/sequence.py
+++ b/src/bonsai/bonsai/tool/sequence.py
@@ -18,11 +18,8 @@
from __future__ import annotations
-import base64
import json
-import os
import re
-import webbrowser
from collections.abc import Iterable
from datetime import datetime
from datetime import time as datetime_time
@@ -32,14 +29,12 @@ import bpy
import ifcopenshell
import ifcopenshell.api.group
import ifcopenshell.api.sequence
-import ifcopenshell.ifcopenshell_wrapper as W
import ifcopenshell.util.date
import ifcopenshell.util.element
import ifcopenshell.util.selector
import ifcopenshell.util.sequence
import isodate
import mathutils
-import pystache
from dateutil import parser
from mathutils import Color
diff --git a/src/bonsai/bonsai/tool/snap.py b/src/bonsai/bonsai/tool/snap.py
index 0dc11e86b0..02f484d388 100644
--- a/src/bonsai/bonsai/tool/snap.py
+++ b/src/bonsai/bonsai/tool/snap.py
@@ -23,10 +23,7 @@ from typing import TYPE_CHECKING, Any, Union
import bmesh
import bpy
-import ifcopenshell
import ifcopenshell.util.unit
-import mathutils
-from lark import Lark, Transformer
from mathutils import Matrix, Vector
import bonsai.core.tool
diff --git a/src/bonsai/bonsai/tool/spatial.py b/src/bonsai/bonsai/tool/spatial.py
index d38d895c22..b185b9ab59 100644
--- a/src/bonsai/bonsai/tool/spatial.py
+++ b/src/bonsai/bonsai/tool/spatial.py
@@ -49,7 +49,6 @@ import bonsai.core.root
import bonsai.core.spatial
import bonsai.core.tool
import bonsai.core.type
-import bonsai.core.unit
import bonsai.tool as tool
if TYPE_CHECKING:
diff --git a/src/bonsai/bonsai/tool/style.py b/src/bonsai/bonsai/tool/style.py
index 78cb19680e..8db3ed30fe 100644
--- a/src/bonsai/bonsai/tool/style.py
+++ b/src/bonsai/bonsai/tool/style.py
@@ -26,7 +26,6 @@ import ifcopenshell
import ifcopenshell.api.style
import ifcopenshell.util.element
import ifcopenshell.util.representation
-import numpy as np
from mathutils import Color
import bonsai.bim.helper
diff --git a/src/bonsai/bonsai/tool/surveyor.py b/src/bonsai/bonsai/tool/surveyor.py
index f59d9cd7da..42fe540c63 100644
--- a/src/bonsai/bonsai/tool/surveyor.py
+++ b/src/bonsai/bonsai/tool/surveyor.py
@@ -17,12 +17,10 @@
# along with Bonsai. If not, see .
import bpy
-import ifcopenshell.api
import ifcopenshell.util.geolocation
import ifcopenshell.util.unit
import numpy as np
import numpy.typing as npt
-from mathutils import Matrix
import bonsai.core.tool
import bonsai.tool as tool
diff --git a/src/bonsai/bonsai/tool/system.py b/src/bonsai/bonsai/tool/system.py
index 8b949a36c9..926bceca91 100644
--- a/src/bonsai/bonsai/tool/system.py
+++ b/src/bonsai/bonsai/tool/system.py
@@ -28,7 +28,6 @@ import ifcopenshell.api.system
import ifcopenshell.util.element
import ifcopenshell.util.system
from mathutils import Matrix, Vector
-from natsort import natsorted
import bonsai.bim.helper
import bonsai.core.geometry
diff --git a/src/bonsai/bonsai/tool/unit.py b/src/bonsai/bonsai/tool/unit.py
index 1221f28be9..5825c6f382 100644
--- a/src/bonsai/bonsai/tool/unit.py
+++ b/src/bonsai/bonsai/tool/unit.py
@@ -20,7 +20,7 @@ from __future__ import annotations
import json
import math
-from typing import TYPE_CHECKING, Any, Literal, Union, assert_never
+from typing import TYPE_CHECKING, Any, Literal, Union
import bpy
import ifcopenshell
diff --git a/src/bonsai/bonsai/tool/web.py b/src/bonsai/bonsai/tool/web.py
index 35811b3819..9ebf211ce8 100644
--- a/src/bonsai/bonsai/tool/web.py
+++ b/src/bonsai/bonsai/tool/web.py
@@ -30,7 +30,6 @@ import threading
import time
import webbrowser
from pathlib import Path
-from time import sleep
from typing import TYPE_CHECKING, Any, Optional, Union
import bpy
@@ -118,7 +117,6 @@ class Web(bonsai.core.tool.Web):
:param port: The port number on which to start the WebSocket server.
"""
- import addon_utils
global ws_process
diff --git a/src/bonsai/pyproject.toml b/src/bonsai/pyproject.toml
index 3ec2cb8748..398687a715 100644
--- a/src/bonsai/pyproject.toml
+++ b/src/bonsai/pyproject.toml
@@ -38,3 +38,6 @@ exclude = ["test*"]
[tool.ruff]
extend = "../../pyproject.toml"
+lint.select = [
+ "F401", # unused imports
+]
diff --git a/src/bonsai/scripts/bonsai_translations.py b/src/bonsai/scripts/bonsai_translations.py
index 7a0fe86ea9..1597eaabcb 100644
--- a/src/bonsai/scripts/bonsai_translations.py
+++ b/src/bonsai/scripts/bonsai_translations.py
@@ -5,7 +5,6 @@ try:
if not hasattr(bpy, "context"):
raise ModuleNotFoundError
import addon_utils
- import bl_i18n_utils
BPY_IS_LOADED = True
except ModuleNotFoundError:
diff --git a/src/bonsai/scripts/classifications/vbis.py b/src/bonsai/scripts/classifications/vbis.py
index 7c4f43b967..71d0af5fe9 100644
--- a/src/bonsai/scripts/classifications/vbis.py
+++ b/src/bonsai/scripts/classifications/vbis.py
@@ -1,9 +1,6 @@
import csv
-import json
-import os
# import pystache
-import subprocess
from pathlib import Path
import ifcopenshell
diff --git a/src/bonsai/scripts/gbxml.py b/src/bonsai/scripts/gbxml.py
index 7280c69c2a..7bd8063a15 100644
--- a/src/bonsai/scripts/gbxml.py
+++ b/src/bonsai/scripts/gbxml.py
@@ -17,14 +17,11 @@
# along with Bonsai. If not, see .
import math
-import sys
import uuid
import bpy
-import bspy # pyright: ignore[reportMissingImports]
# sys.path.append('C:\Program Files\Python37\Lib\site-packages')
-import lxml
import lxml.etree
from bspy import Gbxml # pyright: ignore[reportMissingImports]
diff --git a/src/bonsai/scripts/generate_au_library.py b/src/bonsai/scripts/generate_au_library.py
index 43f05b45da..91fe224255 100644
--- a/src/bonsai/scripts/generate_au_library.py
+++ b/src/bonsai/scripts/generate_au_library.py
@@ -20,7 +20,6 @@
# pylint: skip-file
import bpy
-import ifcopenshell
import ifcopenshell.api
import ifcopenshell.api.context
import ifcopenshell.api.geometry
diff --git a/src/bonsai/scripts/generate_entourage_library.py b/src/bonsai/scripts/generate_entourage_library.py
index 7435186396..fe7a75856e 100644
--- a/src/bonsai/scripts/generate_entourage_library.py
+++ b/src/bonsai/scripts/generate_entourage_library.py
@@ -17,10 +17,8 @@
# along with Bonsai. If not, see .
import os
-from pathlib import Path
import bpy
-import ifcopenshell
import ifcopenshell.api
import ifcopenshell.api.context
import ifcopenshell.api.geometry
diff --git a/src/bonsai/scripts/generate_furniture_library.py b/src/bonsai/scripts/generate_furniture_library.py
index 1c1572c854..7b9d411772 100644
--- a/src/bonsai/scripts/generate_furniture_library.py
+++ b/src/bonsai/scripts/generate_furniture_library.py
@@ -17,7 +17,7 @@
# along with Bonsai. If not, see .
from itertools import chain
-from math import cos, pi, tan
+from math import pi, tan
from pathlib import Path
from typing import Optional, Union
@@ -25,10 +25,8 @@ import ifcopenshell
import ifcopenshell.api
import ifcopenshell.api.context
import ifcopenshell.api.geometry
-import ifcopenshell.api.material
import ifcopenshell.api.project
import ifcopenshell.api.root
-import ifcopenshell.api.style
import ifcopenshell.api.unit
import ifcopenshell.util.element
import numpy as np
diff --git a/src/bonsai/scripts/generate_landscape_library.py b/src/bonsai/scripts/generate_landscape_library.py
index 34d2366fd5..4e6ad3eba1 100644
--- a/src/bonsai/scripts/generate_landscape_library.py
+++ b/src/bonsai/scripts/generate_landscape_library.py
@@ -20,13 +20,10 @@ import csv
import os
import random
from collections import namedtuple
-from itertools import chain
-from math import cos, pi, sin, tan
-from pathlib import Path
+from math import cos, pi, sin
from random import uniform
import bpy
-import ifcopenshell
import ifcopenshell.api
import ifcopenshell.api.context
import ifcopenshell.api.geometry
@@ -36,7 +33,7 @@ import ifcopenshell.api.style
import ifcopenshell.api.unit
import ifcopenshell.util.unit
from ifcopenshell.util.shape_builder import ShapeBuilder
-from mathutils import Matrix, Vector
+from mathutils import Vector
import bonsai.tool as tool
diff --git a/src/bonsai/scripts/generate_site_library.py b/src/bonsai/scripts/generate_site_library.py
index 0b0511e9da..d8439287ad 100644
--- a/src/bonsai/scripts/generate_site_library.py
+++ b/src/bonsai/scripts/generate_site_library.py
@@ -17,7 +17,6 @@
# along with Bonsai. If not, see .
import bpy
-import ifcopenshell
import ifcopenshell.api
import ifcopenshell.api.context
import ifcopenshell.api.geometry
diff --git a/src/bonsai/scripts/generate_steel_profiles_library.py b/src/bonsai/scripts/generate_steel_profiles_library.py
index c54818df4b..255a448127 100644
--- a/src/bonsai/scripts/generate_steel_profiles_library.py
+++ b/src/bonsai/scripts/generate_steel_profiles_library.py
@@ -19,11 +19,10 @@
# fmt: off
# pylint: skip-file
-from math import cos, pi
+from math import pi
from pathlib import Path
import boltspy as bolts # pyright: ignore[reportMissingImports]
-import ifcopenshell
import ifcopenshell.api
import ifcopenshell.api.material
import ifcopenshell.api.project
diff --git a/src/bonsai/scripts/geonodes_modifier_prototype.py b/src/bonsai/scripts/geonodes_modifier_prototype.py
index 16370c1ca2..185200942e 100644
--- a/src/bonsai/scripts/geonodes_modifier_prototype.py
+++ b/src/bonsai/scripts/geonodes_modifier_prototype.py
@@ -21,7 +21,6 @@ import json
import bmesh
import bpy
-import ifcopenshell
import ifcopenshell.api.pset
import ifcopenshell.util.element
diff --git a/src/bonsai/scripts/get_all_qtos.py b/src/bonsai/scripts/get_all_qtos.py
index d364115559..8d407120eb 100644
--- a/src/bonsai/scripts/get_all_qtos.py
+++ b/src/bonsai/scripts/get_all_qtos.py
@@ -7,7 +7,6 @@ from typing import Union
import ifc5d
import ifcopenshell.util.pset
-import ifcopenshell.util.type
def order_dict(dictionary):
diff --git a/src/bonsai/scripts/obj2ifc-meshlab.py b/src/bonsai/scripts/obj2ifc-meshlab.py
index c8292bb0f7..70849e11d9 100644
--- a/src/bonsai/scripts/obj2ifc-meshlab.py
+++ b/src/bonsai/scripts/obj2ifc-meshlab.py
@@ -21,8 +21,6 @@
import argparse
from pathlib import Path
-import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.aggregate
import ifcopenshell.api.context
import ifcopenshell.api.geometry
diff --git a/src/bonsai/scripts/obj2ifc.py b/src/bonsai/scripts/obj2ifc.py
index 70f3bf7b41..ec5459c4a3 100644
--- a/src/bonsai/scripts/obj2ifc.py
+++ b/src/bonsai/scripts/obj2ifc.py
@@ -21,8 +21,6 @@
import argparse
from pathlib import Path
-import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.aggregate
import ifcopenshell.api.context
import ifcopenshell.api.geometry
diff --git a/src/bonsai/scripts/replace_drawing_path.py b/src/bonsai/scripts/replace_drawing_path.py
index 500726082f..2dd4296fad 100644
--- a/src/bonsai/scripts/replace_drawing_path.py
+++ b/src/bonsai/scripts/replace_drawing_path.py
@@ -31,7 +31,6 @@ import os
import sys
from sys import platform
-import ifcopenshell
import ifcopenshell.api.pset
import ifcopenshell.util.element
diff --git a/src/bonsai/scripts/setup_pytest.py b/src/bonsai/scripts/setup_pytest.py
index 28dc7565f1..a4e56ca35c 100644
--- a/src/bonsai/scripts/setup_pytest.py
+++ b/src/bonsai/scripts/setup_pytest.py
@@ -45,10 +45,10 @@ for dep in dependencies:
subprocess.check_call(command + [dep])
try:
- import pygments
- import pytest
- import pytest_bdd
- import pytest_blender
+ import pygments # noqa: F401
+ import pytest # noqa: F401
+ import pytest_bdd # noqa: F401
+ import pytest_blender # noqa: F401
print("Test dependency installation was successful!")
except Exception as e:
diff --git a/src/bonsai/scripts/standalone_drawer.py b/src/bonsai/scripts/standalone_drawer.py
index 3eed11b9c9..886887bf32 100644
--- a/src/bonsai/scripts/standalone_drawer.py
+++ b/src/bonsai/scripts/standalone_drawer.py
@@ -4,7 +4,6 @@ from typing import NamedTuple
import ifcopenshell
import ifcopenshell.geom
-import ifcopenshell.ifcopenshell_wrapper as W
import ifcopenshell.util.element
# W.turn_on_detailed_logging()
diff --git a/src/bonsai/scripts/waldo.py b/src/bonsai/scripts/waldo.py
index 00243c5782..c58e1dc1ec 100644
--- a/src/bonsai/scripts/waldo.py
+++ b/src/bonsai/scripts/waldo.py
@@ -3,7 +3,6 @@
from itertools import cycle
from math import radians
-import ifcopenshell
import ifcopenshell.api.aggregate
import ifcopenshell.api.context
import ifcopenshell.api.geometry
diff --git a/src/bonsai/test/pyproject.toml b/src/bonsai/test/pyproject.toml
new file mode 100644
index 0000000000..7567fe8627
--- /dev/null
+++ b/src/bonsai/test/pyproject.toml
@@ -0,0 +1,5 @@
+[tool.ruff]
+extend = "../pyproject.toml"
+lint.ignore = [
+ "F401", # unused imports
+]
diff --git a/win/build-all-win.py b/win/build-all-win.py
index 2c0533c253..cfbad3b746 100644
--- a/win/build-all-win.py
+++ b/win/build-all-win.py
@@ -28,7 +28,7 @@ ZIP_TEMPLATE = f"{{package_name}}-v{VERSION}-{SHA}-win64.zip"
def run(command: list[str]) -> None:
print("Running:", command)
- subprocess.check_call(command) # nosec B603
+ subprocess.check_call(command)
def set_env(var_name: str, value: str) -> tuple[str, str | None]: