diff --git a/mesh_snap_utilities_line/__init__.py b/mesh_snap_utilities_line/__init__.py
index c424a342894507412c36269584500c01e3837235..df73dd8047d405355fc48f81063f0f5bd2cc060f 100644
--- a/mesh_snap_utilities_line/__init__.py
+++ b/mesh_snap_utilities_line/__init__.py
@@ -10,7 +10,7 @@ bl_info = {
     "blender": (3, 2, 0),
     "location": "View3D > TOOLS > Line Tool",
     "description": "Extends Blender Snap controls",
-    "doc_url" : "{BLENDER_MANUAL_URL}/addons/mesh/snap_utilities_line.html",
+    "doc_url": "{BLENDER_MANUAL_URL}/addons/mesh/snap_utilities_line.html",
     "category": "Mesh",
 }
 
@@ -28,15 +28,19 @@ else:
     from . import op_line
     from . import keys
 
+# autopep8: off
 import bpy
 from bpy.utils.toolsystem import ToolDef
+# autopep8: on
 
 if not __package__:
     __package__ = "mesh_snap_utilities_line"
 
+
 @ToolDef.from_fn
 def tool_line():
     import os
+
     def draw_settings(context, layout, tool):
         addon_prefs = context.preferences.addons[__package__].preferences
 
@@ -60,7 +64,7 @@ def tool_line():
         ),
         icon=os.path.join(icons_dir, "ops.mesh.snap_utilities_line"),
         widget="MESH_GGT_snap_point",
-        #operator="mesh.snap_utilities_line",
+        # operator="mesh.snap_utilities_line",
         keymap=keys.km_tool_snap_utilities_line,
         draw_settings=draw_settings,
     )
@@ -91,7 +95,7 @@ def register_snap_tools():
 def unregister_snap_tools():
     tools = get_tool_list('VIEW_3D', 'EDIT_MESH')
 
-    index = tools.index(tool_line) - 1 #None
+    index = tools.index(tool_line) - 1  # None
     tools.pop(index)
     tools.remove(tool_line)
 
@@ -109,11 +113,15 @@ def register_keymaps():
 
     # TODO: find the user defined tool_mouse.
     from bl_keymap_utils.io import keyconfig_init_from_data
-    keyconfig_init_from_data(kc_defaultconf, keys.generate_empty_snap_utilities_tools_keymaps())
-    keyconfig_init_from_data(kc_addonconf, keys.generate_snap_utilities_keymaps())
+    keyconfig_init_from_data(
+        kc_defaultconf, keys.generate_empty_snap_utilities_tools_keymaps())
+    keyconfig_init_from_data(
+        kc_addonconf, keys.generate_snap_utilities_keymaps())
 
     #snap_modalkeymap = kc_addonconf.keymaps.find(keys.km_snap_utilities_modal_keymap)
-    #snap_modalkeymap.assign("MESH_OT_snap_utilities_line")
+    # snap_modalkeymap.assign("MESH_OT_snap_utilities_line")
+
+
 def unregister_keymaps():
     keyconfigs = bpy.context.window_manager.keyconfigs
     defaultmap = getattr(keyconfigs.get("Blender"), "keymaps", None)
@@ -152,6 +160,7 @@ classes = (
     widgets.SnapPointWidgetGroup,
 )
 
+
 def register():
     for cls in classes:
         bpy.utils.register_class(cls)
diff --git a/mesh_snap_utilities_line/common_classes.py b/mesh_snap_utilities_line/common_classes.py
index 274c8f35164d991f5b9769f4efc9972a0df1a25f..990f1e46d8e48a85c7af5a33900b18ce09b2e915 100644
--- a/mesh_snap_utilities_line/common_classes.py
+++ b/mesh_snap_utilities_line/common_classes.py
@@ -5,14 +5,14 @@ import bpy
 from mathutils import (
     Vector,
     Matrix,
-    )
+)
 from mathutils.geometry import intersect_point_line
 from .drawing_utilities import SnapDrawn
 from .common_utilities import (
     convert_distance,
     get_units_info,
     location_3d_to_region_2d,
-    )
+)
 
 
 class SnapNavigation():
@@ -26,7 +26,6 @@ class SnapNavigation():
         '_ndof_orbit_zoom',
         '_ndof_pan')
 
-
     @staticmethod
     def debug_key(key):
         for member in dir(key):
@@ -53,34 +52,44 @@ class SnapNavigation():
 
         for key in context.window_manager.keyconfigs.user.keymaps['3D View'].keymap_items:
             if key.idname == 'view3d.rotate':
-                self._rotate.add((self.convert_to_flag(key.shift, key.ctrl, key.alt), key.type, key.value))
+                self._rotate.add((self.convert_to_flag(
+                    key.shift, key.ctrl, key.alt), key.type, key.value))
             elif key.idname == 'view3d.move':
-                self._move.add((self.convert_to_flag(key.shift, key.ctrl, key.alt), key.type, key.value))
+                self._move.add((self.convert_to_flag(
+                    key.shift, key.ctrl, key.alt), key.type, key.value))
             elif key.idname == 'view3d.zoom':
                 if key.type == 'WHEELINMOUSE':
-                    self._zoom.add((self.convert_to_flag(key.shift, key.ctrl, key.alt), 'WHEELUPMOUSE', key.value, key.properties.delta))
+                    self._zoom.add((self.convert_to_flag(
+                        key.shift, key.ctrl, key.alt), 'WHEELUPMOUSE', key.value, key.properties.delta))
                 elif key.type == 'WHEELOUTMOUSE':
-                    self._zoom.add((self.convert_to_flag(key.shift, key.ctrl, key.alt), 'WHEELDOWNMOUSE', key.value, key.properties.delta))
+                    self._zoom.add((self.convert_to_flag(
+                        key.shift, key.ctrl, key.alt), 'WHEELDOWNMOUSE', key.value, key.properties.delta))
                 else:
-                    self._zoom.add((self.convert_to_flag(key.shift, key.ctrl, key.alt), key.type, key.value, key.properties.delta))
+                    self._zoom.add((self.convert_to_flag(
+                        key.shift, key.ctrl, key.alt), key.type, key.value, key.properties.delta))
 
             elif self.use_ndof:
                 if key.idname == 'view3d.ndof_all':
-                    self._ndof_all.add((self.convert_to_flag(key.shift, key.ctrl, key.alt), key.type))
+                    self._ndof_all.add((self.convert_to_flag(
+                        key.shift, key.ctrl, key.alt), key.type))
                 elif key.idname == 'view3d.ndof_orbit':
-                    self._ndof_orbit.add((self.convert_to_flag(key.shift, key.ctrl, key.alt), key.type))
+                    self._ndof_orbit.add((self.convert_to_flag(
+                        key.shift, key.ctrl, key.alt), key.type))
                 elif key.idname == 'view3d.ndof_orbit_zoom':
-                    self._ndof_orbit_zoom.add((self.convert_to_flag(key.shift, key.ctrl, key.alt), key.type))
+                    self._ndof_orbit_zoom.add(
+                        (self.convert_to_flag(key.shift, key.ctrl, key.alt), key.type))
                 elif key.idname == 'view3d.ndof_pan':
-                    self._ndof_pan.add((self.convert_to_flag(key.shift, key.ctrl, key.alt), key.type))
-
+                    self._ndof_pan.add((self.convert_to_flag(
+                        key.shift, key.ctrl, key.alt), key.type))
 
     def run(self, context, event, snap_location):
-        evkey = (self.convert_to_flag(event.shift, event.ctrl, event.alt), event.type, event.value)
+        evkey = (self.convert_to_flag(event.shift, event.ctrl,
+                 event.alt), event.type, event.value)
 
         if evkey in self._rotate:
             if snap_location:
-                bpy.ops.view3d.rotate_custom_pivot('INVOKE_DEFAULT', pivot=snap_location)
+                bpy.ops.view3d.rotate_custom_pivot(
+                    'INVOKE_DEFAULT', pivot=snap_location)
             else:
                 bpy.ops.view3d.rotate('INVOKE_DEFAULT', use_cursor_init=True)
             return True
@@ -93,7 +102,8 @@ class SnapNavigation():
             if evkey == key[0:3]:
                 if key[3]:
                     if snap_location:
-                        bpy.ops.view3d.zoom_custom_target('INVOKE_DEFAULT', delta=key[3], target=snap_location)
+                        bpy.ops.view3d.zoom_custom_target(
+                            'INVOKE_DEFAULT', delta=key[3], target=snap_location)
                     else:
                         bpy.ops.view3d.zoom('INVOKE_DEFAULT', delta=key[3])
                 else:
@@ -132,11 +142,11 @@ class CharMap:
         "c", "m", "d", "k", "h", "a",
         " ", "/", "*", "'", "\""
         # "="
-        }
+    }
     type = {
         'BACK_SPACE', 'DEL',
         'LEFT_ARROW', 'RIGHT_ARROW'
-        }
+    }
 
     def __init__(self, context):
         scale = context.scene.unit_settings.scale_length
@@ -155,28 +165,34 @@ class CharMap:
                     pos = self.line_pos
                     if ascii == ",":
                         ascii = "."
-                    self.length_entered = self.length_entered[:pos] + ascii + self.length_entered[pos:]
+                    self.length_entered = self.length_entered[:pos] + \
+                        ascii + self.length_entered[pos:]
                     self.line_pos += 1
 
                 if self.length_entered:
                     pos = self.line_pos
                     if type == 'BACK_SPACE':
-                        self.length_entered = self.length_entered[:pos - 1] + self.length_entered[pos:]
+                        self.length_entered = self.length_entered[:pos -
+                                                                  1] + self.length_entered[pos:]
                         self.line_pos -= 1
 
                     elif type == 'DEL':
-                        self.length_entered = self.length_entered[:pos] + self.length_entered[pos + 1:]
+                        self.length_entered = self.length_entered[:pos] + \
+                            self.length_entered[pos + 1:]
 
                     elif type == 'LEFT_ARROW':
-                        self.line_pos = (pos - 1) % (len(self.length_entered) + 1)
+                        self.line_pos = (
+                            pos - 1) % (len(self.length_entered) + 1)
 
                     elif type == 'RIGHT_ARROW':
-                        self.line_pos = (pos + 1) % (len(self.length_entered) + 1)
+                        self.line_pos = (
+                            pos + 1) % (len(self.length_entered) + 1)
 
                     try:
-                        self.length_entered_value = bpy.utils.units.to_value(self.unit_system, 'LENGTH', self.length_entered)
+                        self.length_entered_value = bpy.utils.units.to_value(
+                            self.unit_system, 'LENGTH', self.length_entered)
                     except:  # ValueError:
-                        self.length_entered_value = 0.0 #invalid
+                        self.length_entered_value = 0.0  # invalid
                         #self.report({'INFO'}, "Operation not supported yet")
                 else:
                     self.length_entered_value = 0.0
@@ -236,7 +252,7 @@ class Constrain:
             vec = self.orientation[self.orientation_id][1]
             type = 'Y'
 
-        else: # dot_z > dot_y and dot_z > dot_x:
+        else:  # dot_z > dot_y and dot_z > dot_x:
             vec = self.orientation[self.orientation_id][2]
             type = 'Z'
 
@@ -280,7 +296,7 @@ class Constrain:
         return True
 
     def toggle(self):
-        self.rotMat = None # update
+        self.rotMat = None  # update
         if self.preferences.auto_constrain:
             self.orientation_id = (self.orientation_id + 1) % 2
             self.preferences.auto_constrain = self.orientation_id != 0
@@ -292,14 +308,18 @@ class Constrain:
             self.rotMat = rv3d.view_matrix.copy()
 
             self.center = center.copy()
-            self.center_2d = location_3d_to_region_2d(region, rv3d, self.center)
+            self.center_2d = location_3d_to_region_2d(
+                region, rv3d, self.center)
 
             vec = self.center + self.orientation[self.orientation_id][0]
-            self.projected_vecs[0] = location_3d_to_region_2d(region, rv3d, vec) - self.center_2d
+            self.projected_vecs[0] = location_3d_to_region_2d(
+                region, rv3d, vec) - self.center_2d
             vec = self.center + self.orientation[self.orientation_id][1]
-            self.projected_vecs[1] = location_3d_to_region_2d(region, rv3d, vec) - self.center_2d
+            self.projected_vecs[1] = location_3d_to_region_2d(
+                region, rv3d, vec) - self.center_2d
             vec = self.center + self.orientation[self.orientation_id][2]
-            self.projected_vecs[2] = location_3d_to_region_2d(region, rv3d, vec) - self.center_2d
+            self.projected_vecs[2] = location_3d_to_region_2d(
+                region, rv3d, vec) - self.center_2d
 
             self.projected_vecs[0].normalize()
             self.projected_vecs[1].normalize()
@@ -331,12 +351,12 @@ class SnapUtilities:
     """
 
     constrain_keys = {
-        'X': Vector((1,0,0)),
-        'Y': Vector((0,1,0)),
-        'Z': Vector((0,0,1)),
+        'X': Vector((1, 0, 0)),
+        'Y': Vector((0, 1, 0)),
+        'Z': Vector((0, 0, 1)),
         'RIGHT_SHIFT': 'shift',
         'LEFT_SHIFT': 'shift',
-        }
+    }
 
     snapwidgets = []
     constrain = None
@@ -364,7 +384,6 @@ class SnapUtilities:
 
         SnapUtilities.constrain = key
 
-
     def snap_context_update_and_return_moving_objects(self, context):
         moving_objects = set()
         moving_snp_objects = set()
@@ -405,7 +424,6 @@ class SnapUtilities:
         del children
         return moving_objects, moving_snp_objects
 
-
     def snap_context_update(self, context):
         def visible_objects_and_duplis():
             if self.preferences.outer_verts:
@@ -425,12 +443,12 @@ class SnapUtilities:
         for obj, matrix in visible_objects_and_duplis():
             self.sctx.add_obj(obj, matrix)
 
-
     def snap_context_init(self, context, snap_edge_and_vert=True):
         from .snap_context_l import global_snap_context_get
 
-        #Create Snap Context
-        self.sctx = global_snap_context_get(context.evaluated_depsgraph_get(), context.region, context.space_data)
+        # Create Snap Context
+        self.sctx = global_snap_context_get(
+            context.evaluated_depsgraph_get(), context.region, context.space_data)
         ui_scale = context.preferences.system.ui_scale
         self.sctx.set_pixel_dist(12 * ui_scale)
 
@@ -448,7 +466,7 @@ class SnapUtilities:
                 self.normal = widget.normal
 
         else:
-            #init these variables to avoid errors
+            # init these variables to avoid errors
             self.obj = context.active_object
             self.bm = None
             self.geom = None
@@ -458,7 +476,7 @@ class SnapUtilities:
             preferences = context.preferences.addons[__package__].preferences
             self.preferences = preferences
 
-            #Init DrawCache
+            # Init DrawCache
             self.draw_cache = SnapDrawn(
                 preferences.out_color,
                 preferences.face_color,
@@ -467,26 +485,32 @@ class SnapUtilities:
                 preferences.center_color,
                 preferences.perpendicular_color,
                 preferences.constrain_shift_color,
-                tuple(context.preferences.themes[0].user_interface.axis_x) + (1.0,),
-                tuple(context.preferences.themes[0].user_interface.axis_y) + (1.0,),
-                tuple(context.preferences.themes[0].user_interface.axis_z) + (1.0,),
+                tuple(
+                    context.preferences.themes[0].user_interface.axis_x) + (1.0,),
+                tuple(
+                    context.preferences.themes[0].user_interface.axis_y) + (1.0,),
+                tuple(
+                    context.preferences.themes[0].user_interface.axis_z) + (1.0,),
                 self.sctx.rv3d,
                 ui_scale)
 
         self.snap_vert = self.snap_edge = snap_edge_and_vert
 
         shading = context.space_data.shading
-        self.snap_face = not (snap_edge_and_vert and (shading.show_xray or shading.type == 'WIREFRAME'))
+        self.snap_face = not (snap_edge_and_vert and (
+            shading.show_xray or shading.type == 'WIREFRAME'))
 
         self.sctx.set_snap_mode(self.snap_vert, self.snap_edge, self.snap_face)
 
-        #Configure the unit of measure
+        # Configure the unit of measure
         unit_system = context.scene.unit_settings.system
         scale = context.scene.unit_settings.scale_length
         scale /= context.space_data.overlay.grid_scale
-        self.rd = bpy.utils.units.to_value(unit_system, 'LENGTH', str(1 / scale))
+        self.rd = bpy.utils.units.to_value(
+            unit_system, 'LENGTH', str(1 / scale))
 
-        self.incremental = bpy.utils.units.to_value(unit_system, 'LENGTH', str(self.preferences.incremental))
+        self.incremental = bpy.utils.units.to_value(
+            unit_system, 'LENGTH', str(self.preferences.incremental))
 
     def snap_to_grid(self):
         if self.type == 'OUT' and self.preferences.increments_grid:
diff --git a/mesh_snap_utilities_line/common_utilities.py b/mesh_snap_utilities_line/common_utilities.py
index d992141a7f0af306e4949e556b6dfcdd0e171e39..7336eadb1d793bb5af714985d5eabd2009a1356c 100644
--- a/mesh_snap_utilities_line/common_utilities.py
+++ b/mesh_snap_utilities_line/common_utilities.py
@@ -1,17 +1,17 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 
-#python tip: from-imports don't save memory.
-#They execute and cache the entire module just like a regular import.
+# python tip: from-imports don't save memory.
+# They execute and cache the entire module just like a regular import.
 
 import bpy
 import bmesh
 
 from mathutils import Vector
 from mathutils.geometry import (
-        intersect_point_line,
-        intersect_line_line,
-        intersect_ray_tri,
-        )
+    intersect_point_line,
+    intersect_line_line,
+    intersect_ray_tri,
+)
 
 from .snap_context_l import SnapContext
 
@@ -19,10 +19,10 @@ from .snap_context_l import SnapContext
 def get_units_info(scale, unit_system, separate_units):
     if unit_system == 'METRIC':
         scale_steps = ((1000, 'km'), (1, 'm'), (1 / 100, 'cm'),
-            (1 / 1000, 'mm'), (1 / 1000000, '\u00b5m'))
+                       (1 / 1000, 'mm'), (1 / 1000000, '\u00b5m'))
     elif unit_system == 'IMPERIAL':
         scale_steps = ((5280, 'mi'), (1, '\''),
-            (1 / 12, '"'), (1 / 12000, 'thou'))
+                       (1 / 12, '"'), (1 / 12000, 'thou'))
         scale /= 0.3048  # BU to feet
     else:
         scale_steps = ((1, ' BU'),)
@@ -71,14 +71,17 @@ def location_3d_to_region_2d(region, rv3d, coord):
 
 def out_Location(rv3d, orig, vector):
     view_matrix = rv3d.view_matrix
-    v1 = (int(view_matrix[0][0]*1.5), int(view_matrix[0][1]*1.5), int(view_matrix[0][2]*1.5))
-    v2 = (int(view_matrix[1][0]*1.5), int(view_matrix[1][1]*1.5), int(view_matrix[1][2]*1.5))
+    v1 = (int(view_matrix[0][0]*1.5), int(view_matrix[0]
+          [1]*1.5), int(view_matrix[0][2]*1.5))
+    v2 = (int(view_matrix[1][0]*1.5), int(view_matrix[1]
+          [1]*1.5), int(view_matrix[1][2]*1.5))
 
-    hit = intersect_ray_tri((1,0,0), (0,1,0), (0,0,0), (vector), (orig), False)
+    hit = intersect_ray_tri((1, 0, 0), (0, 1, 0),
+                            (0, 0, 0), (vector), (orig), False)
     if hit is None:
-        hit = intersect_ray_tri(v1, v2, (0,0,0), (vector), (orig), False)
+        hit = intersect_ray_tri(v1, v2, (0, 0, 0), (vector), (orig), False)
     if hit is None:
-        hit = intersect_ray_tri(v1, v2, (0,0,0), (-vector), (orig), False)
+        hit = intersect_ray_tri(v1, v2, (0, 0, 0), (-vector), (orig), False)
     if hit is None:
         hit = Vector()
     return hit
@@ -114,7 +117,8 @@ def get_snap_bm_geom(sctx, main_snap_obj, mcursor):
                     r_bm.verts[r_elem[2]],
                 ]
 
-                faces = set(tri[0].link_faces).intersection(tri[1].link_faces, tri[2].link_faces)
+                faces = set(tri[0].link_faces).intersection(
+                    tri[1].link_faces, tri[2].link_faces)
                 if len(faces) == 1:
                     r_bm_geom = faces.pop()
                 else:
@@ -162,17 +166,19 @@ class SnapCache(object):
     def clear(self):
         self.edge.snp_obj = self.face.bm_face = None
 
+
 _snap_cache = SnapCache()
 
 
 def snap_utilities(
         sctx, main_snap_obj,
         mcursor,
-        constrain = None,
-        previous_vert = None,
-        increment = 0.0):
+        constrain=None,
+        previous_vert=None,
+        increment=0.0):
 
-    snp_obj, loc, elem, elem_co, view_vector, orig, bm, bm_geom = get_snap_bm_geom(sctx, main_snap_obj, mcursor)
+    snp_obj, loc, elem, elem_co, view_vector, orig, bm, bm_geom = get_snap_bm_geom(
+        sctx, main_snap_obj, mcursor)
 
     is_increment = False
     r_loc = None
@@ -209,40 +215,43 @@ def snap_utilities(
             v1 = elem_co[1]
             _snap_cache.edge.vmid = 0.5 * (v0 + v1)
             _snap_cache.edge.v2dmid = location_3d_to_region_2d(
-                    sctx.region, sctx.rv3d, _snap_cache.edge.vmid)
+                sctx.region, sctx.rv3d, _snap_cache.edge.vmid)
 
             if previous_vert and (not bm_geom or previous_vert not in bm_geom.verts):
                 pvert_co = main_snap_obj.mat @ previous_vert.co
                 perp_point = intersect_point_line(pvert_co, v0, v1)
                 _snap_cache.edge.vperp = perp_point[0]
                 #factor = point_perpendicular[1]
-                _snap_cache.edge.v2dperp = location_3d_to_region_2d(sctx.region, sctx.rv3d, perp_point[0])
+                _snap_cache.edge.v2dperp = location_3d_to_region_2d(
+                    sctx.region, sctx.rv3d, perp_point[0])
                 _snap_cache.edge.is_increment = False
             else:
                 _snap_cache.edge.is_increment = True
 
-            #else: _snap_cache.edge.v2dperp = None
+            # else: _snap_cache.edge.v2dperp = None
 
         if constrain:
-            t_loc = intersect_line_line(constrain[0], constrain[1], elem_co[0], elem_co[1])
+            t_loc = intersect_line_line(
+                constrain[0], constrain[1], elem_co[0], elem_co[1])
             if t_loc is None:
                 is_increment = True
                 end = orig + view_vector
-                t_loc = intersect_line_line(constrain[0], constrain[1], orig, end)
+                t_loc = intersect_line_line(
+                    constrain[0], constrain[1], orig, end)
             r_loc = t_loc[0]
 
         elif _snap_cache.edge.v2dperp and\
-            abs(_snap_cache.edge.v2dperp[0] - mcursor[0]) < sctx._dist_px and abs(_snap_cache.edge.v2dperp[1] - mcursor[1]) < sctx._dist_px:
-                r_type = 'PERPENDICULAR'
-                r_loc = _snap_cache.edge.vperp
+                abs(_snap_cache.edge.v2dperp[0] - mcursor[0]) < sctx._dist_px and abs(_snap_cache.edge.v2dperp[1] - mcursor[1]) < sctx._dist_px:
+            r_type = 'PERPENDICULAR'
+            r_loc = _snap_cache.edge.vperp
 
         elif abs(_snap_cache.edge.v2dmid[0] - mcursor[0]) < sctx._dist_px and abs(_snap_cache.edge.v2dmid[1] - mcursor[1]) < sctx._dist_px:
-                r_type = 'CENTER'
-                r_loc = _snap_cache.edge.vmid
+            r_type = 'CENTER'
+            r_loc = _snap_cache.edge.vmid
 
         else:
-                r_loc = loc
-                is_increment = _snap_cache.edge.is_increment
+            r_loc = loc
+            is_increment = _snap_cache.edge.is_increment
 
     elif len(elem) == 3:
         r_type = 'FACE'
@@ -283,4 +292,5 @@ def snap_utilities(
 
     return snp_obj, loc, r_loc, r_type, bm, bm_geom, r_len
 
+
 snap_utilities.cache = _snap_cache
diff --git a/mesh_snap_utilities_line/drawing_utilities.py b/mesh_snap_utilities_line/drawing_utilities.py
index 7f3fba391b3ec59b94811590d67cab87cf19f0b2..ee37dac22ba709f4520b182edfc5e86aaa6736ef 100644
--- a/mesh_snap_utilities_line/drawing_utilities.py
+++ b/mesh_snap_utilities_line/drawing_utilities.py
@@ -4,7 +4,7 @@ from mathutils import Vector, Matrix
 
 
 class SnapDrawn():
-    __slots__ = (\
+    __slots__ = (
         'out_color',
         'face_color',
         'edge_color',
@@ -50,11 +50,14 @@ class SnapDrawn():
         self._line_width = 3 * ui_scale
 
         self._format_pos = gpu.types.GPUVertFormat()
-        self._format_pos.attr_add(id="pos", comp_type='F32', len=3, fetch_mode='FLOAT')
+        self._format_pos.attr_add(
+            id="pos", comp_type='F32', len=3, fetch_mode='FLOAT')
 
         self._format_pos_and_color = gpu.types.GPUVertFormat()
-        self._format_pos_and_color.attr_add(id="pos", comp_type='F32', len=3, fetch_mode='FLOAT')
-        self._format_pos_and_color.attr_add(id="color", comp_type='F32', len=4, fetch_mode='FLOAT')
+        self._format_pos_and_color.attr_add(
+            id="pos", comp_type='F32', len=3, fetch_mode='FLOAT')
+        self._format_pos_and_color.attr_add(
+            id="color", comp_type='F32', len=4, fetch_mode='FLOAT')
 
         self._UBO = None
 
@@ -63,8 +66,10 @@ class SnapDrawn():
     def _gl_state_push(self, ob_mat=None):
         clip_planes = self.rv3d.clip_planes if self.rv3d.use_clip_planes else None
         config = 'CLIPPED' if clip_planes else 'DEFAULT'
-        self._program_unif_col = gpu.shader.from_builtin("3D_UNIFORM_COLOR", config=config)
-        self._program_smooth_col = gpu.shader.from_builtin("3D_SMOOTH_COLOR", config=config)
+        self._program_unif_col = gpu.shader.from_builtin(
+            "3D_UNIFORM_COLOR", config=config)
+        self._program_smooth_col = gpu.shader.from_builtin(
+            "3D_SMOOTH_COLOR", config=config)
 
         gpu.state.program_point_size_set(False)
         gpu.state.blend_set('ALPHA')
@@ -76,6 +81,7 @@ class SnapDrawn():
             gpu.state.clip_distances_set(4)
             if self._UBO is None:
                 import ctypes
+
                 class _GPUClipPlanes(ctypes.Structure):
                     _pack_ = 16
                     _fields_ = [
@@ -118,9 +124,9 @@ class SnapDrawn():
             GPUBatch,
         )
 
-        vbo = GPUVertBuf(self._format_pos, len = len(coords))
-        vbo.attr_fill(0, data = coords)
-        batch_lines = GPUBatch(type = "LINE_STRIP", buf = vbo)
+        vbo = GPUVertBuf(self._format_pos, len=len(coords))
+        vbo.attr_fill(0, data=coords)
+        batch_lines = GPUBatch(type="LINE_STRIP", buf=vbo)
         return batch_lines
 
     def batch_lines_smooth_color_create(self, coords, colors):
@@ -129,10 +135,10 @@ class SnapDrawn():
             GPUBatch,
         )
 
-        vbo = GPUVertBuf(self._format_pos_and_color, len = len(coords))
-        vbo.attr_fill(0, data = coords)
-        vbo.attr_fill(1, data = colors)
-        batch_lines = GPUBatch(type = "LINES", buf = vbo)
+        vbo = GPUVertBuf(self._format_pos_and_color, len=len(coords))
+        vbo.attr_fill(0, data=coords)
+        vbo.attr_fill(1, data=colors)
+        batch_lines = GPUBatch(type="LINES", buf=vbo)
         return batch_lines
 
     def batch_triangles_create(self, coords):
@@ -141,9 +147,9 @@ class SnapDrawn():
             GPUBatch,
         )
 
-        vbo = GPUVertBuf(self._format_pos, len = len(coords))
-        vbo.attr_fill(0, data = coords)
-        batch_tris = GPUBatch(type = "TRIS", buf = vbo)
+        vbo = GPUVertBuf(self._format_pos, len=len(coords))
+        vbo.attr_fill(0, data=coords)
+        batch_tris = GPUBatch(type="TRIS", buf=vbo)
         return batch_tris
 
     def batch_point_get(self):
@@ -152,9 +158,9 @@ class SnapDrawn():
                 GPUVertBuf,
                 GPUBatch,
             )
-            vbo = GPUVertBuf(self._format_pos, len = 1)
+            vbo = GPUVertBuf(self._format_pos, len=1)
             vbo.attr_fill(0, ((0.0, 0.0, 0.0),))
-            self._batch_point = GPUBatch(type = "POINTS", buf = vbo)
+            self._batch_point = GPUBatch(type="POINTS", buf=vbo)
         return self._batch_point
 
     def draw(self, type, location, list_verts_co, vector_constrain, prevloc):
@@ -171,7 +177,8 @@ class SnapDrawn():
             gpu.matrix.load_projection_matrix(winmat)
             gpu.state.line_width_set(self._line_width)
 
-            batch = self.batch_line_strip_create([v.to_tuple() for v in list_verts_co] + [location.to_tuple()])
+            batch = self.batch_line_strip_create(
+                [v.to_tuple() for v in list_verts_co] + [location.to_tuple()])
 
             self._program_unif_col.bind()
             self._program_unif_col.uniform_float("color", (1.0, 0.8, 0.0, 0.5))
@@ -189,7 +196,8 @@ class SnapDrawn():
                 gpu.matrix.translate(prevloc)
 
                 self._program_unif_col.bind()
-                self._program_unif_col.uniform_float("color", (1.0, 1.0, 1.0, 0.5))
+                self._program_unif_col.uniform_float(
+                    "color", (1.0, 1.0, 1.0, 0.5))
 
                 point_batch.draw(self._program_unif_col)
                 gpu.matrix.translate(-prevloc)
@@ -215,7 +223,7 @@ class SnapDrawn():
                 Color4f = self.center_color
             elif type == 'PERPENDICULAR':
                 Color4f = self.perpendicular_color
-            else: # type == None
+            else:  # type == None
                 Color4f = self.out_color
 
         gpu.state.point_size_set(2 * self._point_size)
@@ -233,7 +241,7 @@ class SnapDrawn():
         self._gl_state_restore()
 
     def draw_elem(self, snap_obj, bm, elem):
-        #TODO: Cache coords (because antialiasing)
+        # TODO: Cache coords (because antialiasing)
         import gpu
         from bmesh.types import(
             BMVert,
@@ -249,16 +257,19 @@ class SnapDrawn():
                 import numpy as np
 
                 color = self.vert_color
-                edges = np.empty((len(elem.link_edges), 2), [("pos", "f4", 3), ("color", "f4", 4)])
+                edges = np.empty((len(elem.link_edges), 2), [
+                                 ("pos", "f4", 3), ("color", "f4", 4)])
                 edges["pos"][:, 0] = elem.co
-                edges["pos"][:, 1] = [e.other_vert(elem).co for e in elem.link_edges]
+                edges["pos"][:, 1] = [e.other_vert(
+                    elem).co for e in elem.link_edges]
                 edges["color"][:, 0] = color
                 edges["color"][:, 1] = (color[0], color[1], color[2], 0.0)
                 edges.shape = -1
 
                 self._program_smooth_col.bind()
                 gpu.state.line_width_set(self._line_width)
-                batch = self.batch_lines_smooth_color_create(edges["pos"], edges["color"])
+                batch = self.batch_lines_smooth_color_create(
+                    edges["pos"], edges["color"])
                 batch.draw(self._program_smooth_col)
                 gpu.state.line_width_set(1.0)
         else:
@@ -267,7 +278,8 @@ class SnapDrawn():
                 self._program_unif_col.uniform_float("color", self.edge_color)
 
                 gpu.state.line_width_set(self._line_width)
-                batch = self.batch_line_strip_create([v.co for v in elem.verts])
+                batch = self.batch_line_strip_create(
+                    [v.co for v in elem.verts])
                 batch.draw(self._program_unif_col)
                 gpu.state.line_width_set(1.0)
 
diff --git a/mesh_snap_utilities_line/keys.py b/mesh_snap_utilities_line/keys.py
index 6fcd29869d11a10bd3c6652e99ffced9c3bc288d..d00e11aded1414b1222ec176021d31f028ec9fb2 100644
--- a/mesh_snap_utilities_line/keys.py
+++ b/mesh_snap_utilities_line/keys.py
@@ -4,6 +4,7 @@
 
 km_tool_snap_utilities_line = "3D View Tool: Edit Mesh, Make Line"
 
+
 def km_mesh_snap_utilities_operators():
     return (
         "Mesh",
@@ -15,6 +16,7 @@ def km_mesh_snap_utilities_operators():
         ]},
     )
 
+
 """
 def km_snap_utilities_modal_map():
     items = []
@@ -50,6 +52,7 @@ def km_snap_utilities_modal_map():
     return keymap
 """
 
+
 def km_3d_view_tool_snap_utilities_line(tool_mouse):
     return (
         km_tool_snap_utilities_line,
@@ -60,6 +63,7 @@ def km_3d_view_tool_snap_utilities_line(tool_mouse):
         ]},
     )
 
+
 def km_view3d_empty(km_name):
     return (
         km_name,
@@ -70,30 +74,34 @@ def km_view3d_empty(km_name):
 # ------------------------------------------------------------------------------
 # Full Configuration
 
+
 def generate_empty_snap_utilities_tools_keymaps():
     return [
-        #km_view3d_empty(km_snap_utilities_modal_keymap),
+        # km_view3d_empty(km_snap_utilities_modal_keymap),
 
         km_view3d_empty(km_tool_snap_utilities_line),
     ]
 
-def generate_snap_utilities_global_keymaps(tool_mouse = 'LEFTMOUSE'):
+
+def generate_snap_utilities_global_keymaps(tool_mouse='LEFTMOUSE'):
     return [
         km_mesh_snap_utilities_operators(),
     ]
 
-def generate_snap_utilities_tools_keymaps(tool_mouse = 'LEFTMOUSE'):
+
+def generate_snap_utilities_tools_keymaps(tool_mouse='LEFTMOUSE'):
     return [
         # Tool System.
         km_3d_view_tool_snap_utilities_line(tool_mouse),
     ]
 
-def generate_snap_utilities_keymaps(tool_mouse = 'LEFTMOUSE'):
+
+def generate_snap_utilities_keymaps(tool_mouse='LEFTMOUSE'):
     return [
         km_mesh_snap_utilities_operators(),
 
         # Modal maps.
-        #km_snap_utilities_modal_map(),
+        # km_snap_utilities_modal_map(),
 
         # Tool System.
         km_3d_view_tool_snap_utilities_line(tool_mouse),
diff --git a/mesh_snap_utilities_line/navigation_ops.py b/mesh_snap_utilities_line/navigation_ops.py
index d92dcb5819391c1554d15ccd8493ff43c5c22cdf..d38eb786c713b71df05f59ca65cab6e80d38ae47 100644
--- a/mesh_snap_utilities_line/navigation_ops.py
+++ b/mesh_snap_utilities_line/navigation_ops.py
@@ -11,7 +11,8 @@ class VIEW3D_OT_rotate_custom_pivot(bpy.types.Operator):
     __slots__ = 'rv3d', 'init_coord', 'pos1', 'view_rot'
 
     pivot: bpy.props.FloatVectorProperty("Pivot", subtype='XYZ')
-    g_up_axis: bpy.props.FloatVectorProperty("up_axis", default=(0.0, 0.0, 1.0), subtype='XYZ')
+    g_up_axis: bpy.props.FloatVectorProperty(
+        "up_axis", default=(0.0, 0.0, 1.0), subtype='XYZ')
     sensitivity: bpy.props.FloatProperty("sensitivity", default=0.007)
 
     def modal(self, context, event):
@@ -19,9 +20,11 @@ class VIEW3D_OT_rotate_custom_pivot(bpy.types.Operator):
         if event.value == 'PRESS' and event.type in {'MOUSEMOVE', 'INBETWEEN_MOUSEMOVE'}:
             dx = self.init_coord[0] - event.mouse_region_x
             dy = self.init_coord[1] - event.mouse_region_y
-            rot_ver = Matrix.Rotation(-dx * self.sensitivity, 3, self.g_up_axis)
-            rot_hor = Matrix.Rotation(dy * self.sensitivity, 3, self.view_rot[0])
-            rot_mat =  rot_hor @ rot_ver
+            rot_ver = Matrix.Rotation(-dx *
+                                      self.sensitivity, 3, self.g_up_axis)
+            rot_hor = Matrix.Rotation(
+                dy * self.sensitivity, 3, self.view_rot[0])
+            rot_mat = rot_hor @ rot_ver
             view_matrix = self.view_rot @ rot_mat
 
             pos = self.pos1 @ rot_mat + self.pivot
@@ -64,13 +67,15 @@ class VIEW3D_OT_zoom_custom_target(bpy.types.Operator):
                 self.heigt_up = context.area.height - self.init_mouse_region_y
                 self.rv3d.view_location = self.target
 
-            fac = (event.mouse_region_y - self.init_mouse_region_y) / self.heigt_up
+            fac = (event.mouse_region_y -
+                   self.init_mouse_region_y) / self.heigt_up
             ret = 'RUNNING_MODAL'
         else:
             fac = self.step_factor * self.delta
             ret = 'FINISHED'
 
-        self.rv3d.view_location = self.init_loc + (self.target - self.init_loc) * fac
+        self.rv3d.view_location = self.init_loc + \
+            (self.target - self.init_loc) * fac
         self.rv3d.view_distance = self.init_dist - self.init_dist * fac
 
         context.area.tag_redraw()
@@ -82,10 +87,10 @@ class VIEW3D_OT_zoom_custom_target(bpy.types.Operator):
         self.rv3d = context.region_data
         self.init_dist = self.rv3d.view_distance
         if ((self.delta <= 0 and self.init_dist < dist_range[1]) or
-            (self.delta >  0 and self.init_dist > dist_range[0])):
-                self.init_loc = self.rv3d.view_location.copy()
+                (self.delta > 0 and self.init_dist > dist_range[0])):
+            self.init_loc = self.rv3d.view_location.copy()
 
-                context.window_manager.modal_handler_add(self)
-                return {'RUNNING_MODAL'}
+            context.window_manager.modal_handler_add(self)
+            return {'RUNNING_MODAL'}
 
         return {'FINISHED'}
diff --git a/mesh_snap_utilities_line/op_line.py b/mesh_snap_utilities_line/op_line.py
index 2a0d9953e8147b959860ff54f429dad782585137..7dcb4a522dd462da16bd4b5a856d55fbe807c49b 100644
--- a/mesh_snap_utilities_line/op_line.py
+++ b/mesh_snap_utilities_line/op_line.py
@@ -12,7 +12,7 @@ from .common_classes import (
     Constrain,
     SnapNavigation,
     SnapUtilities,
-    )
+)
 
 
 if not __package__:
@@ -81,7 +81,8 @@ def make_line(self, bm_geom, location):
 
     elif isinstance(bm_geom, bmesh.types.BMEdge):
         self.list_edges.append(bm_geom)
-        ret = intersect_point_line(location, bm_geom.verts[0].co, bm_geom.verts[1].co)
+        ret = intersect_point_line(
+            location, bm_geom.verts[0].co, bm_geom.verts[1].co)
 
         if (ret[0] - location).length_squared < .001:
             if ret[1] == 0.0:
@@ -89,12 +90,13 @@ def make_line(self, bm_geom, location):
             elif ret[1] == 1.0:
                 vert = bm_geom.verts[1]
             else:
-                edge, vert = bmesh.utils.edge_split(bm_geom, bm_geom.verts[0], ret[1])
+                edge, vert = bmesh.utils.edge_split(
+                    bm_geom, bm_geom.verts[0], ret[1])
                 update_edit_mesh = True
 
             if self.list_verts == [] or self.list_verts[-1] != vert:
                 self.list_verts.append(vert)
-                self.geom = vert # hack to highlight in the drawing
+                self.geom = vert  # hack to highlight in the drawing
             # self.list_edges.append(edge)
 
         else:  # constrain point is near
@@ -113,7 +115,7 @@ def make_line(self, bm_geom, location):
         v1, v2 = self.list_verts[-2:]
         edge = bm.edges.get([v1, v2])
         if edge:
-                self.list_edges.append(edge)
+            self.list_edges.append(edge)
         else:
             if not v2.link_edges:
                 edge = bm.edges.new([v1, v2])
@@ -122,7 +124,8 @@ def make_line(self, bm_geom, location):
                 v1_link_faces = v1.link_faces
                 v2_link_faces = v2.link_faces
                 if v1_link_faces and v2_link_faces:
-                    split_faces.update(set(v1_link_faces).intersection(v2_link_faces))
+                    split_faces.update(
+                        set(v1_link_faces).intersection(v2_link_faces))
 
                 else:
                     if v1_link_faces:
@@ -147,7 +150,8 @@ def make_line(self, bm_geom, location):
                     del split_faces
                 else:
                     if self.intersect:
-                        facesp = bmesh.ops.connect_vert_pair(bm, verts=[v1, v2], verts_exclude=bm.verts)
+                        facesp = bmesh.ops.connect_vert_pair(
+                            bm, verts=[v1, v2], verts_exclude=bm.verts)
                         # print(facesp)
                     if not self.intersect or not facesp['edges']:
                         edge = bm.edges.new([v1, v2])
@@ -178,7 +182,7 @@ def make_line(self, bm_geom, location):
         obj.update_tag()
         bmesh.update_edit_mesh(obj.data)
         self.sctx.tag_update_drawn_snap_object(self.main_snap_obj)
-        #bm.verts.index_update()
+        # bm.verts.index_update()
 
         bpy.ops.ed.undo_push(message="Undo draw line*")
 
@@ -191,10 +195,10 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
     bl_label = "Line Tool"
     bl_options = {'REGISTER'}
 
-    wait_for_input : bpy.props.BoolProperty(name="Wait for Input", default=True)
+    wait_for_input: bpy.props.BoolProperty(name="Wait for Input", default=True)
 
     def _exit(self, context):
-        #avoids unpredictable crashes
+        # avoids unpredictable crashes
         del self.main_snap_obj
         del self.main_bm
         del self.list_edges
@@ -205,7 +209,7 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
         context.area.header_text_set(None)
         self.snap_context_free()
 
-        #Restore initial state
+        # Restore initial state
         context.tool_settings.mesh_select_mode = self.select_mode
         context.space_data.overlay.show_face_center = self.show_face_center
 
@@ -222,7 +226,8 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
             self.obj = context.edit_object
             self.bm = bmesh.from_edit_mesh(self.obj.data)
 
-        self.main_snap_obj = self.snap_obj = self.sctx._get_snap_obj_by_obj(self.obj)
+        self.main_snap_obj = self.snap_obj = self.sctx._get_snap_obj_by_obj(
+            self.obj)
         self.main_bm = self.bm
 
     def _shift_contrain_callback(self):
@@ -247,7 +252,7 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
                 del self.main_bm
                 self.charmap.clear()
 
-                bpy.ops.object.mode_set(mode='EDIT') # just to be sure
+                bpy.ops.object.mode_set(mode='EDIT')  # just to be sure
                 bpy.ops.mesh.select_all(action='DESELECT')
                 context.tool_settings.mesh_select_mode = (True, False, True)
                 context.space_data.overlay.show_face_center = True
@@ -271,18 +276,20 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
                 self.bool_update = False
 
             self.snap_obj, self.prevloc, self.location, self.type, self.bm, self.geom, self.len = snap_utilities(
-                    self.sctx,
-                    self.main_snap_obj,
-                    mval,
-                    constrain=self.vector_constrain,
-                    previous_vert=(self.list_verts[-1] if self.list_verts else None),
-                    increment=self.incremental)
+                self.sctx,
+                self.main_snap_obj,
+                mval,
+                constrain=self.vector_constrain,
+                previous_vert=(
+                    self.list_verts[-1] if self.list_verts else None),
+                increment=self.incremental)
 
             self.snap_to_grid()
 
             if is_making_lines and self.preferences.auto_constrain:
                 loc = self.list_verts_co[-1]
-                vec, type = self.constrain.update(self.sctx.region, self.sctx.rv3d, mval, loc)
+                vec, type = self.constrain.update(
+                    self.sctx.region, self.sctx.rv3d, mval, loc)
                 self.vector_constrain = [loc, loc + vec, type]
 
         if event.value == 'PRESS':
@@ -291,8 +298,10 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
 
                 if not self.bool_update:
                     text_value = self.charmap.length_entered_value
-                    vector = (self.location - self.list_verts_co[-1]).normalized()
-                    self.location = self.list_verts_co[-1] + (vector * text_value)
+                    vector = (self.location -
+                              self.list_verts_co[-1]).normalized()
+                    self.location = self.list_verts_co[-1] + \
+                        (vector * text_value)
                     del vector
 
             elif self.constrain.modal(event, self._shift_contrain_callback):
@@ -303,7 +312,8 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
                     else:
                         loc = self.location
 
-                    self.vector_constrain = (loc, loc + self.constrain.last_vec, self.constrain.last_type)
+                    self.vector_constrain = (
+                        loc, loc + self.constrain.last_vec, self.constrain.last_type)
                 else:
                     self.vector_constrain = None
 
@@ -352,7 +362,8 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
         if is_making_lines:
             a = 'length: ' + self.charmap.get_converted_length_str(self.len)
 
-        context.area.header_text_set(text = "hit: %.3f %.3f %.3f %s" % (*self.location, a))
+        context.area.header_text_set(
+            text="hit: %.3f %.3f %.3f %s" % (*self.location, a))
 
         if True or is_making_lines:
             return {'RUNNING_MODAL'}
@@ -362,14 +373,16 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
     def draw_callback_px(self):
         if self.bm:
             self.draw_cache.draw_elem(self.snap_obj, self.bm, self.geom)
-        self.draw_cache.draw(self.type, self.location, self.list_verts_co, self.vector_constrain, self.prevloc)
+        self.draw_cache.draw(self.type, self.location,
+                             self.list_verts_co, self.vector_constrain, self.prevloc)
 
     def invoke(self, context, event):
         if context.space_data.type == 'VIEW_3D':
             self.snap_context_init(context)
             self.snap_context_update(context)
 
-            self.constrain = Constrain(self.preferences, context.scene, self.obj)
+            self.constrain = Constrain(
+                self.preferences, context.scene, self.obj)
 
             self.intersect = self.preferences.intersect
             self.create_face = self.preferences.create_face
@@ -380,21 +393,21 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
 
             # print('name', __name__, __package__)
 
-            #Store current state
+            # Store current state
             self.select_mode = context.tool_settings.mesh_select_mode[:]
             self.show_face_center = context.space_data.overlay.show_face_center
 
-            #Modify the current state
+            # Modify the current state
             bpy.ops.mesh.select_all(action='DESELECT')
             context.tool_settings.mesh_select_mode = (True, False, True)
             context.space_data.overlay.show_face_center = True
 
-            #Store values from 3d view context
+            # Store values from 3d view context
             self.rv3d = context.region_data
             self.rotMat = self.rv3d.view_matrix.copy()
             # self.obj_matrix.transposed())
 
-            #modals
+            # modals
             context.window_manager.modal_handler_add(self)
 
             if not self.wait_for_input:
@@ -405,7 +418,8 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
                     point = mat_inv @ self.location
                     self.list_verts_co = make_line(self, self.geom, point)
 
-            self._handle = bpy.types.SpaceView3D.draw_handler_add(self.draw_callback_px, (), 'WINDOW', 'POST_VIEW')
+            self._handle = bpy.types.SpaceView3D.draw_handler_add(
+                self.draw_callback_px, (), 'WINDOW', 'POST_VIEW')
 
             return {'RUNNING_MODAL'}
         else:
@@ -416,5 +430,6 @@ class SnapUtilitiesLine(SnapUtilities, bpy.types.Operator):
 def register():
     bpy.utils.register_class(SnapUtilitiesLine)
 
+
 if __name__ == "__main__":
     register()
diff --git a/mesh_snap_utilities_line/preferences.py b/mesh_snap_utilities_line/preferences.py
index 2336de9021fd7696c214c0be81d4a8b5eb4dfa77..3552ca95c774d2820f6eef1f3d83023199379936 100644
--- a/mesh_snap_utilities_line/preferences.py
+++ b/mesh_snap_utilities_line/preferences.py
@@ -9,7 +9,7 @@ from bpy.props import (
     IntProperty,
     FloatVectorProperty,
     FloatProperty,
-    )
+)
 
 from bpy.app.translations import contexts as i18n_contexts
 
@@ -21,94 +21,94 @@ class SnapUtilitiesPreferences(bpy.types.AddonPreferences):
     # when defining this in a submodule of a python package.
     bl_idname = __package__
 
-    intersect : BoolProperty(name="Intersect",
-        description="intersects created line with the existing edges, even if the lines do not intersect",
-        default=True)
-
-    create_face : BoolProperty(name="Create faces",
-        description="Create faces defined by enclosed edges",
-        default=False)
-
-    outer_verts : BoolProperty(name="Snap to outer vertices",
-        description="The vertices of the objects are not activated also snapped",
-        default=True)
-
-    increments_grid : BoolProperty(name="Increments of Grid",
-        description="Snap to increments of grid",
-        default=False)
-
-    auto_constrain : BoolProperty(name="Automatic Constraint",
-        description="Detects a direction to constrain depending on the position of the mouse",
-        default=False)
-
-    incremental : FloatProperty(name="Incremental",
-        description="Snap in defined increments",
-        default=0,
-        min=0,
-        step=1,
-        precision=3)
-
-    relative_scale : FloatProperty(name="Relative Scale",
-        description="Value that divides the global scale",
-        default=1,
-        min=0,
-        step=1,
-        precision=3)
-
-    out_color : FloatVectorProperty(name="Floor",
-        default=(0.0, 0.0, 0.0, 0.5),
-        size=4,
-        subtype="COLOR",
-        min=0,
-        max=1)
-
-    face_color : FloatVectorProperty(name="Face Highlighted",
-        default=(1.0, 0.8, 0.0, 0.5),
-        size=4,
-        subtype="COLOR",
-        min=0,
-        max=1)
-
-    edge_color : FloatVectorProperty(name="Edge Highlighted",
-        default=(0.0, 0.8, 1.0, 0.5),
-        size=4,
-        subtype="COLOR",
-        min=0,
-        max=1)
-
-    vert_color : FloatVectorProperty(name="Vertex Highlighted",
-        default=(1.0, 0.5, 0.0, 0.5),
-        size=4, subtype="COLOR",
-        min=0,
-        max=1)
-
-    center_color : FloatVectorProperty(name="Middle of the Edge",
-        default=(1.0, 0.0, 1.0, 1.0),
-        size=4,
-        subtype="COLOR",
-        min=0,
-        max=1)
-
-    perpendicular_color : FloatVectorProperty(name="Perpendicular Point",
-        default=(0.1, 0.5, 0.5, 1.0),
-        size=4,
-        subtype="COLOR",
-        min=0,
-        max=1)
-
-    constrain_shift_color : FloatVectorProperty(name="Shift Constrain",
-        default=(0.8, 0.5, 0.4, 1.0),
-        size=4,
-        subtype="COLOR",
-        min=0,
-        max=1)
-
-    tabs : EnumProperty(name="Tabs",
-        items = [("GENERAL", "General", ""),
-            ("KEYMAPS", "Keymaps", ""),
-            ("COLORS", "Colors", ""),
-            ("HELP", "Links", ""),],
-        default="GENERAL")
+    intersect: BoolProperty(name="Intersect",
+                            description="intersects created line with the existing edges, even if the lines do not intersect",
+                            default=True)
+
+    create_face: BoolProperty(name="Create faces",
+                              description="Create faces defined by enclosed edges",
+                              default=False)
+
+    outer_verts: BoolProperty(name="Snap to outer vertices",
+                              description="The vertices of the objects are not activated also snapped",
+                              default=True)
+
+    increments_grid: BoolProperty(name="Increments of Grid",
+                                  description="Snap to increments of grid",
+                                  default=False)
+
+    auto_constrain: BoolProperty(name="Automatic Constraint",
+                                 description="Detects a direction to constrain depending on the position of the mouse",
+                                 default=False)
+
+    incremental: FloatProperty(name="Incremental",
+                               description="Snap in defined increments",
+                               default=0,
+                               min=0,
+                               step=1,
+                               precision=3)
+
+    relative_scale: FloatProperty(name="Relative Scale",
+                                  description="Value that divides the global scale",
+                                  default=1,
+                                  min=0,
+                                  step=1,
+                                  precision=3)
+
+    out_color: FloatVectorProperty(name="Floor",
+                                   default=(0.0, 0.0, 0.0, 0.5),
+                                   size=4,
+                                   subtype="COLOR",
+                                   min=0,
+                                   max=1)
+
+    face_color: FloatVectorProperty(name="Face Highlighted",
+                                    default=(1.0, 0.8, 0.0, 0.5),
+                                    size=4,
+                                    subtype="COLOR",
+                                    min=0,
+                                    max=1)
+
+    edge_color: FloatVectorProperty(name="Edge Highlighted",
+                                    default=(0.0, 0.8, 1.0, 0.5),
+                                    size=4,
+                                    subtype="COLOR",
+                                    min=0,
+                                    max=1)
+
+    vert_color: FloatVectorProperty(name="Vertex Highlighted",
+                                    default=(1.0, 0.5, 0.0, 0.5),
+                                    size=4, subtype="COLOR",
+                                    min=0,
+                                    max=1)
+
+    center_color: FloatVectorProperty(name="Middle of the Edge",
+                                      default=(1.0, 0.0, 1.0, 1.0),
+                                      size=4,
+                                      subtype="COLOR",
+                                      min=0,
+                                      max=1)
+
+    perpendicular_color: FloatVectorProperty(name="Perpendicular Point",
+                                             default=(0.1, 0.5, 0.5, 1.0),
+                                             size=4,
+                                             subtype="COLOR",
+                                             min=0,
+                                             max=1)
+
+    constrain_shift_color: FloatVectorProperty(name="Shift Constrain",
+                                               default=(0.8, 0.5, 0.4, 1.0),
+                                               size=4,
+                                               subtype="COLOR",
+                                               min=0,
+                                               max=1)
+
+    tabs: EnumProperty(name="Tabs",
+                       items=[("GENERAL", "General", ""),
+                              ("KEYMAPS", "Keymaps", ""),
+                              ("COLORS", "Colors", ""),
+                              ("HELP", "Links", ""), ],
+                       default="GENERAL")
 
     def draw(self, context):
         layout = self.layout
@@ -152,7 +152,8 @@ class SnapUtilitiesPreferences(bpy.types.AddonPreferences):
     def draw_snap_utilities_colors(self, layout):
         layout.use_property_split = True
 
-        flow = layout.grid_flow(row_major=False, columns=0, even_columns=True, even_rows=False, align=False)
+        flow = layout.grid_flow(
+            row_major=False, columns=0, even_columns=True, even_rows=False, align=False)
 
         flow.prop(self, "out_color")
         flow.prop(self, "constrain_shift_color")
@@ -165,9 +166,10 @@ class SnapUtilitiesPreferences(bpy.types.AddonPreferences):
     def draw_snap_utilities_help(self, layout):
         #layout.operator("wm.url_open", text="Gumroad Page", icon='HELP',).url = "https://gum.co/IaqQf"
         #layout.operator("wm.url_open", text="Blender Market Page", icon='HELP',).url = "https://blendermarket.com/products/snap-utilities"
-        layout.operator("wm.url_open", text="Wiki", icon='HELP',).url = "https://github.com/Mano-Wii/Addon-Snap-Utilities-Line/wiki"
-        layout.operator("wm.url_open", text="Forum", icon='HELP',).url = "https://blenderartists.org/t/cad-snap-utilities"
-
+        layout.operator("wm.url_open", text="Wiki", icon='HELP',
+                        ).url = "https://github.com/Mano-Wii/Addon-Snap-Utilities-Line/wiki"
+        layout.operator("wm.url_open", text="Forum", icon='HELP',
+                        ).url = "https://blenderartists.org/t/cad-snap-utilities"
 
     def draw_snap_utilities_keymaps(self, context, layout):
         from .keys import (
@@ -206,4 +208,5 @@ class SnapUtilitiesPreferences(bpy.types.AddonPreferences):
 
             for kmi in km.keymap_items:
                 if "snap_utilities" in kmi.idname:
-                    rna_keymap_ui.draw_kmi(["ADDON", "USER", "DEFAULT"], kc, km, kmi, col, 0)
+                    rna_keymap_ui.draw_kmi(
+                        ["ADDON", "USER", "DEFAULT"], kc, km, kmi, col, 0)
diff --git a/mesh_snap_utilities_line/widgets.py b/mesh_snap_utilities_line/widgets.py
index 36be306bbc30cbdb0a829f0b6798b57c1fe8b318..28e14826842e1b4e2b1ba188496898b56bb34d63 100644
--- a/mesh_snap_utilities_line/widgets.py
+++ b/mesh_snap_utilities_line/widgets.py
@@ -6,7 +6,7 @@ from .common_classes import SnapUtilities
 from .common_utilities import snap_utilities
 
 
-#def mesh_runtime_batchcache_isdirty(me):
+# def mesh_runtime_batchcache_isdirty(me):
 #    import ctypes
 #    batch_cache = ctypes.c_void_p.from_address(me.as_pointer() + 1440)
 #    if batch_cache:
@@ -15,7 +15,7 @@ from .common_utilities import snap_utilities
 
 
 class SnapWidgetCommon(SnapUtilities, bpy.types.Gizmo):
-#    __slots__ = ('inited', 'mode', 'last_mval')
+    #    __slots__ = ('inited', 'mode', 'last_mval')
 
     snap_to_update = False
 
@@ -24,9 +24,9 @@ class SnapWidgetCommon(SnapUtilities, bpy.types.Gizmo):
         if cls.snap_to_update is False:
             last_operator = self.wm_operators[-1] if self.wm_operators else None
             if (not last_operator or
-                last_operator.name not in {'Select', 'Loop Select', '(De)select All'}):
-                    cls.snap_to_update = depsgraph.id_type_updated('MESH') or \
-                                         depsgraph.id_type_updated('OBJECT')
+                    last_operator.name not in {'Select', 'Loop Select', '(De)select All'}):
+                cls.snap_to_update = depsgraph.id_type_updated('MESH') or \
+                    depsgraph.id_type_updated('OBJECT')
 
     def draw_point_and_elem(self):
         if self.bm:
@@ -76,7 +76,7 @@ class SnapWidgetCommon(SnapUtilities, bpy.types.Gizmo):
             self.last_mval = mval
 
         if (SnapWidgetCommon.snap_to_update):
-            ## Something has changed since the last time.
+            # Something has changed since the last time.
             # Has the mesh been changed?
             # In the doubt lets clear the snap context.
             self.snap_context_update(context)
@@ -84,22 +84,24 @@ class SnapWidgetCommon(SnapUtilities, bpy.types.Gizmo):
 
         #print('test_select', mval)
         space = context.space_data
-        self.sctx.update_viewport_context(context.evaluated_depsgraph_get(), context.region, space, True)
+        self.sctx.update_viewport_context(
+            context.evaluated_depsgraph_get(), context.region, space, True)
 
         shading = space.shading
         snap_face = not ((self.snap_vert or self.snap_edge) and
-                        (shading.show_xray or shading.type == 'WIREFRAME'))
+                         (shading.show_xray or shading.type == 'WIREFRAME'))
 
         if snap_face != self.snap_face:
             self.snap_face = snap_face
-            self.sctx.set_snap_mode(self.snap_vert, self.snap_edge, self.snap_face)
+            self.sctx.set_snap_mode(
+                self.snap_vert, self.snap_edge, self.snap_face)
 
         snap_utilities.cache.clear()
         self.snap_obj, prev_loc, self.location, self.type, self.bm, self.geom, len = snap_utilities(
-                self.sctx,
-                None,
-                mval,
-                increment=self.incremental
+            self.sctx,
+            None,
+            mval,
+            increment=self.incremental
         )