diff --git a/src/ifcsverchok/__init__.py b/src/ifcsverchok/__init__.py
index 2eb7366fc9..4594d8a367 100644
--- a/src/ifcsverchok/__init__.py
+++ b/src/ifcsverchok/__init__.py
@@ -154,7 +154,6 @@ reload_event = False
from os.path import splitext
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.aggregate
import ifcopenshell.api.root
import ifcopenshell.api.spatial
diff --git a/src/ifcsverchok/ifcstore.py b/src/ifcsverchok/ifcstore.py
index 990db56a0e..30cd760b87 100644
--- a/src/ifcsverchok/ifcstore.py
+++ b/src/ifcsverchok/ifcstore.py
@@ -21,7 +21,6 @@ from typing import Any, Union
import bonsai.tool as tool
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.context
import ifcopenshell.util.representation
from ifcopenshell import template
diff --git a/src/ifcsverchok/nodes/ifc/add_pset.py b/src/ifcsverchok/nodes/ifc/add_pset.py
index 3cd25cd4dc..5676dadf71 100644
--- a/src/ifcsverchok/nodes/ifc/add_pset.py
+++ b/src/ifcsverchok/nodes/ifc/add_pset.py
@@ -20,7 +20,6 @@ import json
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.pset
import sverchok.core.sockets
from bpy.props import StringProperty
diff --git a/src/ifcsverchok/nodes/ifc/add_spatial_element.py b/src/ifcsverchok/nodes/ifc/add_spatial_element.py
index f53dc3fa16..0f03dc1b52 100644
--- a/src/ifcsverchok/nodes/ifc/add_spatial_element.py
+++ b/src/ifcsverchok/nodes/ifc/add_spatial_element.py
@@ -19,8 +19,6 @@
from itertools import chain
import bpy
-import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.aggregate
import ifcopenshell.api.root
import ifcopenshell.api.spatial
diff --git a/src/ifcsverchok/nodes/ifc/api.py b/src/ifcsverchok/nodes/ifc/api.py
index ce75275db4..4c53b3968d 100644
--- a/src/ifcsverchok/nodes/ifc/api.py
+++ b/src/ifcsverchok/nodes/ifc/api.py
@@ -20,10 +20,9 @@ import logging
from typing import Any, Union
import bpy
-import ifcopenshell
import ifcopenshell.api
import sverchok.core.sockets
-from bpy.props import EnumProperty, StringProperty
+from bpy.props import StringProperty
from sverchok.data_structure import updateNode
from sverchok.node_tree import SverchCustomTreeNode
diff --git a/src/ifcsverchok/nodes/ifc/bmesh_to_ifc.py b/src/ifcsverchok/nodes/ifc/bmesh_to_ifc.py
index 8d623ffe1e..785d5db718 100644
--- a/src/ifcsverchok/nodes/ifc/bmesh_to_ifc.py
+++ b/src/ifcsverchok/nodes/ifc/bmesh_to_ifc.py
@@ -16,36 +16,20 @@
# You should have received a copy of the GNU General Public License
# along with IfcSverchok. If not, see .
-from copy import deepcopy
-from decimal import Context
-from email.policy import default
-from itertools import chain, cycle
-
-import bonsai.core.geometry as core
-import bonsai.tool as tool
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.context
import ifcopenshell.api.geometry
import ifcopenshell.util.representation
-from bonsai.bim.module.root.prop import get_contexts
from bpy.props import (
BoolProperty,
EnumProperty,
- IntProperty,
PointerProperty,
StringProperty,
)
from mathutils import Matrix
-from sverchok.core.socket_data import sv_get_socket
from sverchok.data_structure import (
- fixed_iter,
- flat_iter,
- flatten_data,
- node_id,
updateNode,
- zip_long_repeat,
)
from sverchok.node_tree import SverchCustomTreeNode
diff --git a/src/ifcsverchok/nodes/ifc/by_guid.py b/src/ifcsverchok/nodes/ifc/by_guid.py
index 029b1b11a5..fd6b79bb55 100644
--- a/src/ifcsverchok/nodes/ifc/by_guid.py
+++ b/src/ifcsverchok/nodes/ifc/by_guid.py
@@ -19,7 +19,6 @@
import itertools
import bpy
-import ifcopenshell
from bpy.props import StringProperty
from sverchok.data_structure import flatten_data, updateNode
from sverchok.node_tree import SverchCustomTreeNode
diff --git a/src/ifcsverchok/nodes/ifc/by_query.py b/src/ifcsverchok/nodes/ifc/by_query.py
index 13a6fd6619..6b6cb12bdb 100644
--- a/src/ifcsverchok/nodes/ifc/by_query.py
+++ b/src/ifcsverchok/nodes/ifc/by_query.py
@@ -17,7 +17,6 @@
# along with IfcSverchok. If not, see .
import bpy
-import ifcopenshell
import ifcopenshell.util.selector
from bpy.props import StringProperty
from sverchok.data_structure import updateNode
diff --git a/src/ifcsverchok/nodes/ifc/create_entity.py b/src/ifcsverchok/nodes/ifc/create_entity.py
index bc63b3bc08..2ce1d54461 100644
--- a/src/ifcsverchok/nodes/ifc/create_entity.py
+++ b/src/ifcsverchok/nodes/ifc/create_entity.py
@@ -17,8 +17,6 @@
# along with IfcSverchok. If not, see .
import bpy
-import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.geometry
import ifcopenshell.api.root
import ifcopenshell.util.schema
diff --git a/src/ifcsverchok/nodes/ifc/create_project.py b/src/ifcsverchok/nodes/ifc/create_project.py
index 4f0b19a398..b6de31de34 100644
--- a/src/ifcsverchok/nodes/ifc/create_project.py
+++ b/src/ifcsverchok/nodes/ifc/create_project.py
@@ -18,7 +18,6 @@
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.context
import ifcopenshell.api.root
import ifcopenshell.api.unit
diff --git a/src/ifcsverchok/nodes/ifc/create_shape.py b/src/ifcsverchok/nodes/ifc/create_shape.py
index 3238d08663..de47c3b0e6 100644
--- a/src/ifcsverchok/nodes/ifc/create_shape.py
+++ b/src/ifcsverchok/nodes/ifc/create_shape.py
@@ -20,9 +20,8 @@ import logging
import bonsai.bim.import_ifc
import bpy
-import ifcopenshell
import ifcopenshell.geom
-from bpy.props import BoolProperty, PointerProperty, StringProperty
+from bpy.props import BoolProperty, StringProperty
from sverchok.data_structure import flatten_data, updateNode
from sverchok.node_tree import SverchCustomTreeNode
diff --git a/src/ifcsverchok/nodes/ifc/select_blender_objects.py b/src/ifcsverchok/nodes/ifc/select_blender_objects.py
index 3a0053a514..d2582dcaff 100644
--- a/src/ifcsverchok/nodes/ifc/select_blender_objects.py
+++ b/src/ifcsverchok/nodes/ifc/select_blender_objects.py
@@ -19,7 +19,6 @@
import bonsai.tool as tool
import bpy
import ifcopenshell
-import ifcopenshell.util.selector
from bpy.props import StringProperty
from sverchok.data_structure import updateNode
from sverchok.node_tree import SverchCustomTreeNode
diff --git a/src/ifcsverchok/nodes/ifc/sverchok_to_ifc.py b/src/ifcsverchok/nodes/ifc/sverchok_to_ifc.py
index 69ac5f37f3..be06fac1ce 100644
--- a/src/ifcsverchok/nodes/ifc/sverchok_to_ifc.py
+++ b/src/ifcsverchok/nodes/ifc/sverchok_to_ifc.py
@@ -17,12 +17,10 @@
# along with IfcSverchok. If not, see .
import bpy
-import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.context
import ifcopenshell.api.geometry
import ifcopenshell.util.representation
-from bpy.props import EnumProperty, FloatVectorProperty, IntProperty, StringProperty
+from bpy.props import EnumProperty, StringProperty
from sverchok.data_structure import ensure_min_nesting, updateNode
from sverchok.node_tree import SverchCustomTreeNode
diff --git a/src/ifcsverchok/nodes/ifc/write_file.py b/src/ifcsverchok/nodes/ifc/write_file.py
index 3a25cd99cc..8d52b3d77a 100644
--- a/src/ifcsverchok/nodes/ifc/write_file.py
+++ b/src/ifcsverchok/nodes/ifc/write_file.py
@@ -20,7 +20,6 @@ from os.path import abspath, splitext
import bpy
import ifcopenshell
-import ifcopenshell.api
import ifcopenshell.api.aggregate
import ifcopenshell.api.root
import ifcopenshell.api.spatial
diff --git a/src/ifcsverchok/pyproject.toml b/src/ifcsverchok/pyproject.toml
new file mode 100644
index 0000000000..6952f66f06
--- /dev/null
+++ b/src/ifcsverchok/pyproject.toml
@@ -0,0 +1,5 @@
+[tool.ruff]
+extend = "../../pyproject.toml"
+lint.select = [
+ "F401", # unused imports
+]