diff --git a/src/Model/BoundaryCondition/BoundaryCondition.py b/src/Model/BoundaryCondition/BoundaryCondition.py
index f7e09f3d61e9d18f92cc951a1860416b0a005a7a..21d9604ad13ac49b9910bad4e5d866bd95d5e808 100644
--- a/src/Model/BoundaryCondition/BoundaryCondition.py
+++ b/src/Model/BoundaryCondition/BoundaryCondition.py
@@ -188,7 +188,7 @@ class BoundaryCondition(SQLSubModel):
 
     @classmethod
     def time_convert(cls, data):
-        if type(data) == str and data.count(":") == 3:
+        if data is str and data.count(":") == 3:
             return old_pamhyr_date_to_timestamp(data)
 
         return int(data)
@@ -302,10 +302,10 @@ class BoundaryCondition(SQLSubModel):
         return self.data[index]
 
     def get_range(self, _range):
-        l = []
+        lst = []
         for r in _range:
-            l.append(r)
-        return l
+            lst.append(r)
+        return lst
 
     def _set_i_c_v(self, index, column, value):
         v = list(self._data[index])
diff --git a/src/Model/BoundaryCondition/BoundaryConditionList.py b/src/Model/BoundaryCondition/BoundaryConditionList.py
index 44499316a4fe5ab2ab71c9781914289093b499f7..edf6d60e7e6014fae96300c2bfa51ccf92ff6604 100644
--- a/src/Model/BoundaryCondition/BoundaryConditionList.py
+++ b/src/Model/BoundaryCondition/BoundaryConditionList.py
@@ -74,16 +74,16 @@ class BoundaryConditionList(PamhyrModelListWithTab):
     def __copy__(self):
         new = BoundaryConditionList()
 
-        for l in self._tabs:
-            new.tabs[l] = self._tabs[l].copy()
+        for lst in self._tabs:
+            new.tabs[lst] = self._tabs[lst].copy()
 
         return new
 
     def __deepcopy__(self):
         new = BoundaryConditionList()
 
-        for l in self._tabs:
-            new.tabs[l] = self._tabs[l].deepcopy()
+        for lst in self._tabs:
+            new.tabs[lst] = self._tabs[lst].deepcopy()
 
         return new
 
diff --git a/src/Model/Except.py b/src/Model/Except.py
index ce667e38e1e411434194fd867bb318b64f196cfc..ef45ffd0e47af08e2eac23f280e81e3e0855629b 100644
--- a/src/Model/Except.py
+++ b/src/Model/Except.py
@@ -82,12 +82,16 @@ class NotImplementedMethodeError(ExeceptionWithMessageBox):
         self.alert()
 
     def __str__(self):
+        class_type = self.obj
+        if self.obj.__class__ != type:
+            class_type = self.obj.__class__
+
         return (
             _translate("Exception", "Method") +
             f" '{self.func.__name__}' " +
             _translate("Exception", "not implemented") +
             _translate("Exception", "for class") +
-            f" '{self.obj.__class__ if self.obj.__class__ != type else self.obj}'"
+            f" '{class_type}'"
         )
 
     def header(self):
diff --git a/src/Model/Friction/Friction.py b/src/Model/Friction/Friction.py
index baea73978f0d72a84d67f26e6971306deb94fdf5..0faa44a446b83dd8ff01a07b2ef2aa15cd7023b3 100644
--- a/src/Model/Friction/Friction.py
+++ b/src/Model/Friction/Friction.py
@@ -92,7 +92,8 @@ class Friction(SQLSubModel):
         ind = data["ind"]
         execute(
             "INSERT INTO " +
-            "friction(ind, begin_kp, end_kp, reach, begin_strickler, end_strickler) " +
+            "friction(ind, begin_kp, end_kp, " +
+            "reach, begin_strickler, end_strickler) " +
             "VALUES (" +
             f"{ind}, {self._begin_kp}, {self._end_kp}, " +
             f"{self._edge.id}, " +
diff --git a/src/Model/Geometry/PointXYZ.py b/src/Model/Geometry/PointXYZ.py
index 9a1082a5abf941622ca59035ad9c1a35e96849c6..ae91df77262becb7048de81d7fd69bc55b28d181 100644
--- a/src/Model/Geometry/PointXYZ.py
+++ b/src/Model/Geometry/PointXYZ.py
@@ -97,7 +97,7 @@ class PointXYZ(Point, SQLSubModel):
                 status=status
             )
 
-            if sl == -1 or sl == None:
+            if sl == -1 or sl is None:
                 new._sl = None
             else:
                 new._sl = next(
diff --git a/src/Model/Geometry/ProfileXYZ.py b/src/Model/Geometry/ProfileXYZ.py
index de0fcd8cecc9e40c0e1bb565eabd3078f38d6f96..d2691509ca0a11651f82a99ccc33350724d98f63 100644
--- a/src/Model/Geometry/ProfileXYZ.py
+++ b/src/Model/Geometry/ProfileXYZ.py
@@ -136,7 +136,7 @@ class ProfileXYZ(Profile, SQLSubModel):
                 status=status
             )
 
-            if sl == -1 or sl == None:
+            if sl == -1 or sl is None:
                 new._sl = None
             else:
                 new._sl = next(
@@ -163,7 +163,8 @@ class ProfileXYZ(Profile, SQLSubModel):
 
         sql = (
             "INSERT OR REPLACE INTO " +
-            "geometry_profileXYZ(id, ind, name, reach, kp, num, code1, code2, sl) " +
+            "geometry_profileXYZ(id, ind, name, reach, " +
+            "kp, num, code1, code2, sl) " +
             "VALUES (" +
             f"{self.id}, {ind}, '{self._sql_format(self._name)}', " +
             f"{self.reach.id}, {self.kp}, {self.num}, " +
@@ -378,28 +379,28 @@ class ProfileXYZ(Profile, SQLSubModel):
                 if (first_named_point != last_named_point and
                         first_named_point.x != last_named_point.x):
                     vector = Vector1d(first_named_point, last_named_point)
-                    normalized_direction_vec = vector.normalized_direction_vector()
+                    norm_dir_vec = vector.normalized_direction_vector()
                 else:
                     vector = Vector1d(first_point_not_nan, last_point_not_nan)
-                    normalized_direction_vec = vector.normalized_direction_vector()
+                    norm_dir_vec = vector.normalized_direction_vector()
 
                 for point in self.points:
                     xi = point.x - first_named_point.x
                     yi = point.y - first_named_point.y
-                    station_i = (normalized_direction_vec[0] * xi +
-                                 normalized_direction_vec[1] * yi)
+                    station_i = (norm_dir_vec[0] * xi +
+                                 norm_dir_vec[1] * yi)
                     station.append(station_i)
 
                 constant = station[index_first_named_point]
             elif first_named_point is None:
                 vector = Vector1d(first_point_not_nan, last_point_not_nan)
-                normalized_direction_vec = vector.normalized_direction_vector()
+                norm_dir_vec = vector.normalized_direction_vector()
 
                 for point in self.points:
                     xi = point.x - first_point_not_nan.x
                     yi = point.y - first_point_not_nan.y
-                    station_i = (normalized_direction_vec[0] * xi +
-                                 normalized_direction_vec[1] * yi)
+                    station_i = (norm_dir_vec[0] * xi +
+                                 norm_dir_vec[1] * yi)
                     station.append(station_i)
 
                 z_min = self.z_min()
diff --git a/src/Model/Geometry/Reach.py b/src/Model/Geometry/Reach.py
index c2df3a7576298134595da853c458dce3d619e292..fc5cdc75efd96b0c648aa045356c19dda2661670 100644
--- a/src/Model/Geometry/Reach.py
+++ b/src/Model/Geometry/Reach.py
@@ -102,7 +102,7 @@ class Reach(SQLSubModel):
 
     @property
     def name(self):
-        if self._parent == None:
+        if self._parent is None:
             return ""
 
         return self._parent.name
@@ -345,12 +345,12 @@ class Reach(SQLSubModel):
         for guide in guide_set:
             self._guidelines[guide] = flatten(
                 map(
-                    lambda l: list(
+                    lambda lst: list(
                         # Filter point with name (we assume we have
                         # only one point by profile)
                         filter(
                             lambda p: p.name == guide,
-                            l
+                            lst
                         )
                     ),
                     named_points
@@ -385,7 +385,9 @@ class Reach(SQLSubModel):
             reduce(
                 lambda acc, h: acc + h,
                 map(
-                    lambda l: list(set(l).symmetric_difference(guide_set)),
+                    lambda lst: list(
+                        set(lst).symmetric_difference(guide_set)
+                    ),
                     points_name
                 ),
                 []
@@ -469,7 +471,8 @@ class Reach(SQLSubModel):
         """Import a geometry from file (.ST or .st)
 
         Args:
-            file_path_name: The absolute path of geometry file (.ST or .st) to import.
+            file_path_name: The absolute path of geometry file (.ST or .st)
+                            to import.
 
         Returns:
             Nothing.
diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py
index 20bbb3d0956f62a7c39d6ed2e8774bae92551d28..38cb9646b5993910d7a6b44dbfcd680a07ee2358 100644
--- a/src/Model/InitialConditions/InitialConditions.py
+++ b/src/Model/InitialConditions/InitialConditions.py
@@ -114,7 +114,8 @@ class Data(SQLSubModel):
 
         execute(
             "INSERT INTO " +
-            "initial_conditions(ind, name, comment, kp, discharge, height, reach) " +
+            "initial_conditions(ind, name, comment, kp, " +
+            "discharge, height, reach) " +
             "VALUES (" +
             f"{ind}, '{self._sql_format(self.name)}', " +
             f"'{self._sql_format(self._comment)}', " +
diff --git a/src/Model/LateralContribution/LateralContribution.py b/src/Model/LateralContribution/LateralContribution.py
index de117744a8a5117555c91109ca683ef6c0eff217..53e4384f3773a42e2aa3bdb3844cb957fec23199 100644
--- a/src/Model/LateralContribution/LateralContribution.py
+++ b/src/Model/LateralContribution/LateralContribution.py
@@ -154,7 +154,8 @@ class LateralContribution(SQLSubModel):
 
         sql = (
             "INSERT INTO " +
-            "lateral_contribution(id, name, type, tab, edge, begin_kp, end_kp) " +
+            "lateral_contribution(id, name, type, tab, " +
+            "edge, begin_kp, end_kp) " +
             "VALUES (" +
             f"{self.id}, '{self._sql_format(self._name)}', " +
             f"'{self._sql_format(self._type)}', '{tab}', {edge}, " +
@@ -187,7 +188,7 @@ class LateralContribution(SQLSubModel):
 
     @classmethod
     def time_convert(cls, data):
-        if type(data) == str and data.count(":") == 3:
+        if data is str and data.count(":") == 3:
             return old_pamhyr_date_to_timestamp(data)
 
         return int(data)
@@ -338,10 +339,10 @@ class LateralContribution(SQLSubModel):
         return self.data[index]
 
     def get_range(self, _range):
-        l = []
+        lst = []
         for r in _range:
-            l.append(r)
-        return l
+            lst.append(r)
+        return lst
 
     def _set_i_c_v(self, index, column, value):
         v = list(self._data[index])
diff --git a/src/Model/LateralContribution/LateralContributionList.py b/src/Model/LateralContribution/LateralContributionList.py
index a69330aede288386b4ea496e4fbc1815c7090c3e..d399d73dc07d010e108aed465cc72cb9de5f6b0e 100644
--- a/src/Model/LateralContribution/LateralContributionList.py
+++ b/src/Model/LateralContribution/LateralContributionList.py
@@ -71,16 +71,16 @@ class LateralContributionList(PamhyrModelListWithTab):
     def __copy__(self):
         new = LateralContributionList()
 
-        for l in self._tabs:
-            new.tabs[l] = self._tabs[l].copy()
+        for lst in self._tabs:
+            new.tabs[lst] = self._tabs[lst].copy()
 
         return new
 
     def __deepcopy__(self):
         new = LateralContributionList()
 
-        for l in self._tabs:
-            new.tabs[l] = self._tabs[l].deepcopy()
+        for lst in self._tabs:
+            new.tabs[lst] = self._tabs[lst].deepcopy()
 
         return new
 
diff --git a/src/Model/Network/Edge.py b/src/Model/Network/Edge.py
index dddd8418aec95af410e68f0df1e7f929e01fd45f..440e03eb07df89a240f0929afd6ec60efc66c54d 100644
--- a/src/Model/Network/Edge.py
+++ b/src/Model/Network/Edge.py
@@ -75,7 +75,10 @@ class Edge(object):
 
     @property
     def name(self):
-        return self._name if self._name != "" else f"{self.node1.name} -> {self.node2.name}"
+        name = self._name
+        if self._name == "":
+            name = f"{self.node1.name} -> {self.node2.name}"
+        return name
 
     def is_enable(self):
         return self._enable
diff --git a/src/Model/River.py b/src/Model/River.py
index 798a24e1dc45227797c1fb1c229b42c2f2fc4f7f..c0cb13b7bcd9dd77ed8621be27b01f68f6305db9 100644
--- a/src/Model/River.py
+++ b/src/Model/River.py
@@ -28,7 +28,9 @@ from Model.Geometry.Profile import Profile
 from Model.Geometry.Reach import Reach
 
 from Model.BoundaryCondition.BoundaryConditionList import BoundaryConditionList
-from Model.LateralContribution.LateralContributionList import LateralContributionList
+from Model.LateralContribution.LateralContributionList import (
+    LateralContributionList
+)
 from Model.InitialConditions.InitialConditionsDict import InitialConditionsDict
 from Model.Stricklers.StricklersList import StricklersList
 from Model.Friction.FrictionList import FrictionList
@@ -383,7 +385,7 @@ class River(Graph, SQLSubModel):
         has = len(self._sediment_layers) != 0
         has &= any(
             filter(
-                lambda p: p.sl != None,
+                lambda p: p.sl is not None,
                 flatten(
                     map(lambda e: e.reach.profiles, self.edges())
                 )
diff --git a/src/Model/SedimentLayer/SedimentLayer.py b/src/Model/SedimentLayer/SedimentLayer.py
index 69e140bf5c37246ec34068720e729c0ef6d96568..8f91efcfa9357c00de665ad14671f5a2e24469bc 100644
--- a/src/Model/SedimentLayer/SedimentLayer.py
+++ b/src/Model/SedimentLayer/SedimentLayer.py
@@ -117,7 +117,8 @@ class Layer(SQLSubModel):
         sl = data["sl"]
 
         table = execute(
-            "SELECT id, ind, name, type, height, d50, sigma, critical_constraint " +
+            "SELECT id, ind, name, type, height, " +
+            "d50, sigma, critical_constraint " +
             "FROM sedimentary_layer_layer " +
             f"WHERE sl = {sl}"
         )
@@ -146,7 +147,8 @@ class Layer(SQLSubModel):
 
         sql = (
             "INSERT INTO " +
-            "sedimentary_layer_layer(id, ind, name, type, height, d50, sigma, critical_constraint, sl) " +
+            "sedimentary_layer_layer(id, ind, name, type, height, " +
+            "d50, sigma, critical_constraint, sl) " +
             "VALUES (" +
             f"{self.id}, {ind}, '{self._sql_format(self._name)}', " +
             f"'{self._sql_format(self._type)}', {self._height}, " +
@@ -197,7 +199,7 @@ class SedimentLayer(SQLSubModel):
 
     def height(self):
         return list(
-            map(lambda l: l.height, self._layers)
+            map(lambda layer: layer.height, self._layers)
         )
 
     @property
@@ -210,7 +212,7 @@ class SedimentLayer(SQLSubModel):
 
     def names(self):
         return list(
-            map(lambda l: l.name, self._layers)
+            map(lambda layer: layer.name, self._layers)
         )
 
     @property
@@ -280,9 +282,9 @@ class SedimentLayer(SQLSubModel):
         data["sl"] = self
 
         ind = 0
-        for l in self._layers:
+        for layer in self._layers:
             data["ind"] = ind
-            l._sql_save(execute, data)
+            layer._sql_save(execute, data)
             ind += 1
 
         return True
@@ -325,8 +327,8 @@ class SedimentLayer(SQLSubModel):
         if index >= 0:
             next = index - 1
 
-            l = self._layers
-            l[index], l[next] = l[next], l[index]
+            lst = self._layers
+            lst[index], lst[next] = lst[next], lst[index]
 
             self._status.modified()
 
@@ -334,7 +336,7 @@ class SedimentLayer(SQLSubModel):
         if index + 1 < len(self._layers):
             prev = index + 1
 
-            l = self._layers
-            l[index], l[prev] = l[prev], l[index]
+            lst = self._layers
+            lst[index], lst[prev] = lst[prev], lst[index]
 
             self._status.modified()
diff --git a/src/Model/SolverParameters/SolverParametersList.py b/src/Model/SolverParameters/SolverParametersList.py
index 41906ef031b83e09046210b0bb56eeb0e8ec384f..a1dec056c9c3e878fc68c16011325aa1aab141f3 100644
--- a/src/Model/SolverParameters/SolverParametersList.py
+++ b/src/Model/SolverParameters/SolverParametersList.py
@@ -99,9 +99,13 @@ class SolverParametersList(PamhyrModelList):
         if major == minor == "0":
             if int(release) < 3:
                 execute(
-                    f"UPDATE solver_parameter SET name='mage_implicitation' WHERE name='mage_implication'")
+                    "UPDATE solver_parameter SET name='mage_implicitation' " +
+                    "WHERE name='mage_implication'"
+                )
                 execute(
-                    f"UPDATE solver_parameter SET name='mage_iteration_type' WHERE name='mage_iter_type'")
+                    "UPDATE solver_parameter SET name='mage_iteration_type' " +
+                    "WHERE name='mage_iter_type'"
+                )
 
             if int(release) < 4:
                 solvers = execute(
@@ -229,7 +233,7 @@ class SolverParametersList(PamhyrModelList):
                     self._lst
                 )
             )["value"]
-        except:
+        except Exception:
             return None
 
     def set(self, index, new):
diff --git a/src/Model/Study.py b/src/Model/Study.py
index 597b68e2d389f83f543bff18f2cbcc8a857da500..1369e26906dc44a396d6c9a9fdc46a4b72e70729 100644
--- a/src/Model/Study.py
+++ b/src/Model/Study.py
@@ -182,7 +182,8 @@ class Study(SQLModel):
         self.execute(
             "CREATE TABLE info(key TEXT NOT NULL UNIQUE, value TEXT NOT NULL)")
         self.execute(
-            f"INSERT INTO info VALUES ('version', '{self._sql_format(self._version)}')",
+            "INSERT INTO info VALUES ('version', " +
+            f"'{self._sql_format(self._version)}')",
             commit=True
         )
         self.execute("INSERT INTO info VALUES ('name', '')")
@@ -260,17 +261,32 @@ class Study(SQLModel):
 
     def _save(self):
         self.execute(
-            f"UPDATE info SET value='{self._sql_format(self.name)}' WHERE key='name'")
+            f"UPDATE info SET " +
+            f"value='{self._sql_format(self.name)}' WHERE key='name'"
+        )
         self.execute(
-            f"UPDATE info SET value='{self._sql_format(self.description)}' WHERE key='description'")
+            f"UPDATE info SET " +
+            f"value='{self._sql_format(self.description)}' " +
+            "WHERE key='description'"
+        )
         self.execute(
-            f"UPDATE info SET value='{self._time_system}' WHERE key='time_system'")
+            f"UPDATE info SET " +
+            f"value='{self._time_system}' WHERE key='time_system'"
+        )
         self.execute(
-            f"UPDATE info SET value='{timestamp(self._date)}' WHERE key='date'")
+            f"UPDATE info SET " +
+            f"value='{timestamp(self._date)}' WHERE key='date'"
+        )
         self.execute(
-            f"UPDATE info SET value='{timestamp(self.creation_date)}' WHERE key='creation_date'")
+            f"UPDATE info SET " +
+            f"value='{timestamp(self.creation_date)}' " +
+            "WHERE key='creation_date'"
+        )
         self.execute(
-            f"UPDATE info SET value='{timestamp(self.last_save_date)}' WHERE key='last_save_date'")
+            f"UPDATE info SET " +
+            f"value='{timestamp(self.last_save_date)}' " +
+            "WHERE key='last_save_date'"
+        )
 
         self._save_submodel([self._river])
         self.commit()
diff --git a/src/Model/Tools/PamhyrDB.py b/src/Model/Tools/PamhyrDB.py
index 803cd05ca98da17d78ada1d587bb6735389a75d7..078540c318b4d222bd8d2d5b443c5d255fa379d5 100644
--- a/src/Model/Tools/PamhyrDB.py
+++ b/src/Model/Tools/PamhyrDB.py
@@ -115,9 +115,9 @@ class SQLSubModel(object):
 
     def _sql_format(self, value):
         # Replace ''' by '&#39;' to preserve SQL injection
-        if type(value) == str:
+        if value is str:
             value = value.replace("'", "&#39;")
-        elif type(value) == bool:
+        elif value is bool:
             value = 'TRUE' if value else 'FALSE'
         return value
 
diff --git a/src/Model/Tools/PamhyrList.py b/src/Model/Tools/PamhyrList.py
index 57160e774fda4999314d4e2055949d60584a10d9..912d4749240a89184da2cc67a300c7a66856e4a6 100644
--- a/src/Model/Tools/PamhyrList.py
+++ b/src/Model/Tools/PamhyrList.py
@@ -121,8 +121,8 @@ class PamhyrModelList(SQLSubModel):
         if index < len(self._lst):
             next = index - 1
 
-            l = self._lst
-            l[index], l[next] = l[next], l[index]
+            lst = self._lst
+            lst[index], lst[next] = lst[next], lst[index]
 
             if self._status is not None:
                 self._status.modified()
@@ -131,8 +131,8 @@ class PamhyrModelList(SQLSubModel):
         if index >= 0:
             prev = index + 1
 
-            l = self._lst
-            l[index], l[prev] = l[prev], l[index]
+            lst = self._lst
+            lst[index], lst[prev] = lst[prev], lst[index]
 
             if self._status is not None:
                 self._status.modified()
@@ -228,14 +228,14 @@ class PamhyrModelListWithTab(SQLSubModel):
         if index < len(self._tabs[lst]):
             next = index - 1
 
-            l = self._tabs[lst]
-            l[index], l[next] = l[next], l[index]
+            lst = self._tabs[lst]
+            lst[index], lst[next] = lst[next], lst[index]
             self._status.modified()
 
     def move_down(self, lst, index):
         if index >= 0:
             prev = index + 1
 
-            l = self._tabs[lst]
-            l[index], l[prev] = l[prev], l[index]
+            lst = self._tabs[lst]
+            lst[index], lst[prev] = lst[prev], lst[index]
             self._status.modified()