diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dd8178d486ebd843149fe4a82ea639f659495178..61a4ab6ffc2839ead886b7c591bfe3dfb34cf098 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -122,7 +122,7 @@ test-pep8:
     - pip3 install -r ./requirements.txt
     - pip3 install -U -r ./requirements.txt
     - pip3 install pycodestyle
-    - pycodestyle ./src
+    - pycodestyle --exclude="*_to_*.py" ./src
   allow_failure: true
 
 #########
diff --git a/src/Model/Friction/Friction.py b/src/Model/Friction/Friction.py
index ecc4a559f9c3a2a5ca8d04850f849c4a2b9e2e58..d3be3cf5980379be21df9ac4201d955279f4919c 100644
--- a/src/Model/Friction/Friction.py
+++ b/src/Model/Friction/Friction.py
@@ -24,6 +24,7 @@ from Model.Tools.PamhyrDB import SQLSubModel
 
 logger = logging.getLogger()
 
+
 class Friction(SQLSubModel):
     def __init__(self, name: str = "", status=None):
         super(Friction, self).__init__()
diff --git a/src/Model/Geometry/ProfileXYZ.py b/src/Model/Geometry/ProfileXYZ.py
index 495fbac10c737209f33138ee7f2a05b8acd359be..34146bc1e51b83d910b2df6396a69200599eaa39 100644
--- a/src/Model/Geometry/ProfileXYZ.py
+++ b/src/Model/Geometry/ProfileXYZ.py
@@ -437,42 +437,57 @@ class ProfileXYZ(Profile, SQLSubModel):
         return abs(rg.dist(rd))
 
     def get_water_limits(self, z):
-#==============================================================================
-#   détermination des points limites RG et RD pour un niveau d'eau donné
-#
-#   irg et ird sont les premiers indices en partant des rives gauche et
-#   droite qui correspondent à des points sous la surface de l'eau
-#   ptX et ptY sont les points interpolés où le plan d'eau intersecte le profil
-#   known_level est le niveau d'eau pour lequel on a obtenu irg, ird, ptX et ptY
-#==============================================================================
+        # ====================================================================
+        #  détermination des points limites RG et RD pour un niveau
+        #  d'eau donné
+        #
+        #  irg et ird sont les premiers indices en partant des rives
+        #  gauche et droite qui correspondent à des points sous la
+        #  surface de l'eau ptX et ptY sont les points interpolés où
+        #  le plan d'eau intersecte le profil known_level est le
+        #  niveau d'eau pour lequel on a obtenu irg, ird, ptX et ptY
+        # ====================================================================
+
         # initialisation
-        irg = -1  ;  ird = -1
+        irg = -1
+        ird = -1
+
         for i in range(self.number_points):
             if self.point(i).z <= z:
                 irg = i
+
         for i in reversed(range(self.number_points)):
             if self.point(i).z <= z:
                 ird = i
+
         # interpolation des points ptX et ptY
-        if (irg < self.number_points-1):
-            x=np.interp(z,
-                        [self.point(irg).z,self.point(irg+1).z],
-                        [self.point(irg).x,self.point(irg+1).x])
-            y=np.interp(z,
-                        [self.point(irg).z,self.point(irg+1).z],
-                        [self.point(irg).y,self.point(irg+1).y])
-            ptX=PointXYZ(x,y,z)
+        if (irg < self.number_points - 1):
+            x = np.interp(
+                z,
+                [self.point(irg).z, self.point(irg + 1).z],
+                [self.point(irg).x, self.point(irg + 1).x]
+            )
+            y = np.interp(
+                z,
+                [self.point(irg).z, self.point(irg + 1).z],
+                [self.point(irg).y, self.point(irg + 1).y]
+            )
+            ptX = PointXYZ(x, y, z)
         else:
             ptX = self.point(0)
         if (ird > 0):
-            x=np.interp(z,
-                        [self.point(ird-1).z,self.point(ird).z],
-                        [self.point(ird-1).x,self.point(ird).x])
-            y=np.interp(z,
-                        [self.point(ird).z,self.point(ird-1).z],
-                        [self.point(ird).y,self.point(ird-1).y])
-            ptY=PointXYZ(x,y,z)
+            x = np.interp(
+                z,
+                [self.point(ird-1).z, self.point(ird).z],
+                [self.point(ird-1).x, self.point(ird).x]
+            )
+            y = np.interp(
+                z,
+                [self.point(ird).z, self.point(ird - 1).z],
+                [self.point(ird).y, self.point(ird - 1).y]
+            )
+            ptY = PointXYZ(x, y, z)
         else:
-            ptY = self.point(self.number_points-1)
+            ptY = self.point(self.number_points - 1)
 
-        return ptX,ptY
+        return ptX, ptY
diff --git a/src/Model/HydraulicStructures/Basic/HydraulicStructures.py b/src/Model/HydraulicStructures/Basic/HydraulicStructures.py
index 691cf60c96afbdc9747ec1e8f4baab05517e40e4..e624d2ef0ca8dc653306527967e34a8f34068ede 100644
--- a/src/Model/HydraulicStructures/Basic/HydraulicStructures.py
+++ b/src/Model/HydraulicStructures/Basic/HydraulicStructures.py
@@ -29,6 +29,7 @@ from Model.HydraulicStructures.Basic.Value import (
 
 logger = logging.getLogger()
 
+
 class BasicHS(SQLSubModel):
     _sub_classes = [
         BHSValue,
@@ -142,7 +143,7 @@ class BasicHS(SQLSubModel):
 
         data['bhs_id'] = self.id
         execute(
-            "DELETE FROM hydraulic_structures_basic_value "+
+            "DELETE FROM hydraulic_structures_basic_value " +
             f"WHERE bhs = {bhs_id}"
         )
 
diff --git a/src/Model/HydraulicStructures/Basic/Types.py b/src/Model/HydraulicStructures/Basic/Types.py
index d82998adf9d9df9147ef0c74114011a2074c2cbc..8ad1f5fc11a0123355b4b6a3dc1affdf9d1e8f00 100644
--- a/src/Model/HydraulicStructures/Basic/Types.py
+++ b/src/Model/HydraulicStructures/Basic/Types.py
@@ -16,18 +16,22 @@
 
 # -*- coding: utf-8 -*-
 
-from Model.Except import NotImplementedMethodeError
-
 from Model.HydraulicStructures.Basic.HydraulicStructures import (
     BasicHS
 )
+
 from Model.HydraulicStructures.Basic.Value import (
     BHSValue
 )
 
+
 class NotDefined(BasicHS):
-    def __init__(self, id: int = -1, name: str = "", status=None):
-        super(NotDefined, self).__init__(id=id, name=name, status=status)
+    def __init__(self, id: int = -1, name: str = "",
+                 status=None):
+        super(NotDefined, self).__init__(
+            id=id, name=name,
+            status=status
+        )
 
         self._type = "ND"
         self._data = [
diff --git a/src/Model/HydraulicStructures/Basic/Value.py b/src/Model/HydraulicStructures/Basic/Value.py
index dccd41e545b5bfa3616cf0100a0a2aa44b4c8953..ebf4744eda3199dbe89b1e4baa993d528a9e9fab 100644
--- a/src/Model/HydraulicStructures/Basic/Value.py
+++ b/src/Model/HydraulicStructures/Basic/Value.py
@@ -18,11 +18,12 @@
 
 from Model.Tools.PamhyrDB import SQLSubModel
 
+
 class BHSValue(SQLSubModel):
     _sub_classes = []
     _id_cnt = 0
 
-    def __init__(self, name: str = "", type = float, value = 0.0,
+    def __init__(self, name: str = "", type=float, value=0.0,
                  status=None):
         super(BHSValue, self).__init__()
 
@@ -117,7 +118,7 @@ class BHSValue(SQLSubModel):
             "hydraulic_structures_basic_value(name, type, value, bhs) " +
             "VALUES (" +
             f"'{self._db_format(self._name)}', " +
-            f"'{self._db_format(self._type_to_str(self._type))}', "+
+            f"'{self._db_format(self._type_to_str(self._type))}', " +
             f"'{self._db_format(self._value)}', " +
             f"{bhs_id}" +
             ")"
diff --git a/src/Model/HydraulicStructures/HydraulicStructures.py b/src/Model/HydraulicStructures/HydraulicStructures.py
index 5799925b8094206466f33792337b7a542c8e4e9a..fc940adb13e86165ede1f3293c0b57f35f75211a 100644
--- a/src/Model/HydraulicStructures/HydraulicStructures.py
+++ b/src/Model/HydraulicStructures/HydraulicStructures.py
@@ -30,6 +30,7 @@ from Model.HydraulicStructures.Basic.Types import (
 
 logger = logging.getLogger()
 
+
 class HydraulicStructure(SQLSubModel):
     _sub_classes = [
         BasicHS,
@@ -55,7 +56,10 @@ class HydraulicStructure(SQLSubModel):
         self._enabled = True
         self._data = []
 
-        HydraulicStructure._id_cnt = max(HydraulicStructure._id_cnt + 1, self.id)
+        HydraulicStructure._id_cnt = max(
+            HydraulicStructure._id_cnt + 1,
+            self.id
+        )
 
     @classmethod
     def _db_create(cls, execute):
diff --git a/src/Model/HydraulicStructures/HydraulicStructuresList.py b/src/Model/HydraulicStructures/HydraulicStructuresList.py
index 0e1039fda7b4d96d28bd5b2388cdd97ee1c43f7c..549d80745b13099575cc4145d0a1c5a45bb0e773 100644
--- a/src/Model/HydraulicStructures/HydraulicStructuresList.py
+++ b/src/Model/HydraulicStructures/HydraulicStructuresList.py
@@ -22,6 +22,7 @@ from tools import trace, timer
 from Model.Tools.PamhyrList import PamhyrModelList
 from Model.HydraulicStructures.HydraulicStructures import HydraulicStructure
 
+
 class HydraulicStructureList(PamhyrModelList):
     _sub_classes = [
         HydraulicStructure,
diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py
index 439445fa3887ad85087d59f7efd19a88576d2a95..a71f3133d83d87b9a10c21589c5c031109f5ebe4 100644
--- a/src/Model/InitialConditions/InitialConditions.py
+++ b/src/Model/InitialConditions/InitialConditions.py
@@ -376,7 +376,7 @@ class InitialConditions(SQLSubModel):
                  * (abs(incline) ** (0.5)))
             )
 
-            elevation= max(
+            elevation = max(
                 profile.z_min() + height,
                 previous_elevation
             )
@@ -422,7 +422,7 @@ class InitialConditions(SQLSubModel):
                 ((width * 0.8) * strickler * (abs(incline) ** (0.5)))
             ) ** (0.6)
 
-            elevation= max(
+            elevation = max(
                 profile.z_min() + height,
                 previous_elevation
             )
diff --git a/src/Model/Network/Graph.py b/src/Model/Network/Graph.py
index e3616d0e55ab12705458682768f4ffc8c630d17c..7836a89c9e17d3812580d883f4ae6020a9517d6f 100644
--- a/src/Model/Network/Graph.py
+++ b/src/Model/Network/Graph.py
@@ -213,7 +213,7 @@ class Graph(object):
     def is_enable_edge(self, edge):
         return edge._enable
 
-    #def get_edge_id(self, reach):
+    # def get_edge_id(self, reach):
     #    for i, e in enumerate(self.enable_edges):
     #        if e.id == reach.id:
     #            return i
diff --git a/src/Model/Reservoir/Reservoir.py b/src/Model/Reservoir/Reservoir.py
index 97a6311318e23e56d52c931f5272ad037ad376d2..ebf7e24c883445ac085244dbd22e98c3d7825555 100644
--- a/src/Model/Reservoir/Reservoir.py
+++ b/src/Model/Reservoir/Reservoir.py
@@ -94,7 +94,11 @@ class Reservoir(SQLSubModel):
 
             new_reservoir._node = None
             if node_id != -1:
-                new_reservoir._node = next(filter(lambda n: n.id == node_id, data["nodes"]))
+                new_reservoir._node = next(
+                    filter(
+                        lambda n: n.id == node_id, data["nodes"]
+                    )
+                )
 
             new_data = []
             table = execute(
diff --git a/src/Model/River.py b/src/Model/River.py
index 2ba5a54f4105813ee8f92eeebd08064de915ad41..99cf8d2116be0757151a08a9e6b142e0b7a9fde7 100644
--- a/src/Model/River.py
+++ b/src/Model/River.py
@@ -242,7 +242,9 @@ class River(Graph, SQLSubModel):
         self._parameters = {}
         self._sediment_layers = SedimentLayerList(status=self._status)
         self._reservoir = ReservoirList(status=self._status)
-        self._hydraulic_structures = HydraulicStructureList(status=self._status)
+        self._hydraulic_structures = HydraulicStructureList(
+            status=self._status
+        )
 
     @classmethod
     def _db_create(cls, execute):
diff --git a/src/Model/Tools/PamhyrDict.py b/src/Model/Tools/PamhyrDict.py
index c8cab70a1b0572c4092aa729aee5487e70a612b8..31bc12a6bc9df306df64b719ed977153371830f8 100644
--- a/src/Model/Tools/PamhyrDict.py
+++ b/src/Model/Tools/PamhyrDict.py
@@ -67,7 +67,7 @@ class PamhyrModelDict(SQLSubModel):
         if key in self._dict:
             v = self._dict[key]
 
-            if type(v) == types.GeneratorType:
+            if type(v) is types.GeneratorType:
                 return list(v)
 
             return v
diff --git a/src/Solver/Mage.py b/src/Solver/Mage.py
index 5dc5920754696588fc2a08ebae3474abaf771286..7326d6742af289440219fcca4bd90983e70cfc28 100644
--- a/src/Solver/Mage.py
+++ b/src/Solver/Mage.py
@@ -453,9 +453,20 @@ class Mage(CommandLineSolver):
             for hs in hydraulic_structures:
                 if hs.reach.is_enable:
                     reach_id = study.river.get_edge_id(hs.reach)
-                    params = [p.value for p in hs.basic_hydraulic_structure.param]
-                    param_str = ' '.join([f'{p.value:>10.3f}' for p in hs.basic_hydraulic_structure.param])
-                    f.write(f"{hs.basic_hydraulic_structure.type} {reach_id} {hs.kp:>12.3f} {params} {hs.name}\n")
+                    params = [
+                        p.value for p in hs.basic_hydraulic_structure.param
+                    ]
+                    param_str = ' '.join(
+                        [
+                            f'{p.value:>10.3f}'
+                            for p in hs.basic_hydraulic_structure.param
+                        ]
+                    )
+                    f.write(
+                        f"{hs.basic_hydraulic_structure.type} " +
+                        f"{reach_id} {hs.kp:>12.3f} {params} " +
+                        "{hs.name}\n"
+                    )
 
         return files
 
@@ -465,7 +476,11 @@ class Mage(CommandLineSolver):
             qlog.put("Export REP file")
 
         # Write header
-        with mage_file_open(os.path.join(repertory, f"{name}.REP"), "w+") as f:
+        with mage_file_open(
+                os.path.join(
+                    repertory, f"{name}.REP"
+                ), "w+"
+        ) as f:
             f.write("confirmation=non\n")
 
             for file in files:
@@ -832,12 +847,13 @@ class Mage8(Mage):
                         # Set data for profile RI
                         reach.set(ri, timestamp, key, d)
                         if key == "Z":
-                            profile = study.river.current_reach().reach.profile(ri)
-                            ptX,ptY = profile.get_water_limits(d)
+                            profile = study.river\
+                                           .current_reach()\
+                                           .reach.profile(ri)
+                            ptX, ptY = profile.get_water_limits(d)
                             reach.set(ri, timestamp, "ptX", ptX)
                             reach.set(ri, timestamp, "ptY", ptY)
 
-
                 endline()
                 end = newline().size <= 0
 
diff --git a/src/View/BoundaryCondition/Edit/Window.py b/src/View/BoundaryCondition/Edit/Window.py
index ccec087baf3dd644adbb199619b2a4e94fcadd01..4bdbb5ae72ab145418a4e73fe20d5a6b7d0842b6 100644
--- a/src/View/BoundaryCondition/Edit/Window.py
+++ b/src/View/BoundaryCondition/Edit/Window.py
@@ -160,7 +160,7 @@ class EditBoundaryConditionWindow(PamhyrWindow):
             table_headers=headers,
             editable_headers=self._data.header,
             delegates={
-                #"time": self._delegate_time,
+                # "time": self._delegate_time,
             },
             data=self._data,
             undo=self._undo_stack,
diff --git a/src/View/BoundaryCondition/Table.py b/src/View/BoundaryCondition/Table.py
index 024dc2889f44a8374ea8c0604d0ccc1b06dc460f..aad78fc35c80eb3ee65c7c519759594152f01e2f 100644
--- a/src/View/BoundaryCondition/Table.py
+++ b/src/View/BoundaryCondition/Table.py
@@ -115,13 +115,13 @@ class ComboBoxDelegate(QItemDelegate):
 
 
 class TableModel(PamhyrTableModel):
-    def __init__(self, trad = None, **kwargs):
+    def __init__(self, trad=None, **kwargs):
         self._trad = trad
         self._long_types = {}
         if self._trad is not None:
             self._long_types = self._trad.get_dict("long_types")
 
-        super(TableModel, self).__init__(trad = trad, **kwargs)
+        super(TableModel, self).__init__(trad=trad, **kwargs)
 
     def _setup_lst(self):
         self._lst = self._data.boundary_condition
diff --git a/src/View/HydraulicStructures/PlotAC.py b/src/View/HydraulicStructures/PlotAC.py
index 355842031e32a018bc1ddf7707c1d0b675a383ce..028d65730f8fb626b50c7e32b8a0fbcd16a0a2f7 100644
--- a/src/View/HydraulicStructures/PlotAC.py
+++ b/src/View/HydraulicStructures/PlotAC.py
@@ -126,5 +126,5 @@ class PlotAC(PamhyrPlot):
 
     def clear(self):
         if self.line_kp is not None:
-            self.line_kp.set_data([],[])
+            self.line_kp.set_data([], [])
         self.canvas.figure.canvas.draw_idle()
diff --git a/src/View/HydraulicStructures/PlotKPC.py b/src/View/HydraulicStructures/PlotKPC.py
index 15a5a1a40f03569710bc3c8d63697912082b9051..d3070c88b2b1e96a7090a853fa36897dc3ff7141 100644
--- a/src/View/HydraulicStructures/PlotKPC.py
+++ b/src/View/HydraulicStructures/PlotKPC.py
@@ -110,7 +110,6 @@ class PlotKPC(PamhyrPlot):
                 color='red', lw=1.
             )
 
-
         self.canvas.figure.tight_layout()
         self.canvas.figure.canvas.draw_idle()
         if self.toolbar is not None:
@@ -144,16 +143,15 @@ class PlotKPC(PamhyrPlot):
 
     def clear(self):
         if self.profile is not None:
-            self.profile.set_data([],[])
+            self.profile.set_data([], [])
         if self.line_kp_zmin_zmax is not None:
             self.line_kp_zmin_zmax.remove()
             self.line_kp_zmin_zmax = None
         if self.line_kp_zmin is not None:
-            self.line_kp_zmin.set_data([],[])
+            self.line_kp_zmin.set_data([], [])
         self.canvas.figure.canvas.draw_idle()
 
     def clear_profile(self):
         if self.profile is not None:
-            self.profile.set_data([],[])
+            self.profile.set_data([], [])
         self.canvas.figure.canvas.draw_idle()
-
diff --git a/src/View/HydraulicStructures/Table.py b/src/View/HydraulicStructures/Table.py
index e61d9094adef9f9ac96a867be590b34cb92e7e77..1af539b8b53d69d0b065f03fb6955d4ee405bddb 100644
--- a/src/View/HydraulicStructures/Table.py
+++ b/src/View/HydraulicStructures/Table.py
@@ -59,7 +59,9 @@ class ComboBoxDelegate(QItemDelegate):
 
         val = []
         if self._mode == "kp":
-            reach = self._data.hydraulic_structures.get(index.row()).input_reach
+            reach = self._data.hydraulic_structures\
+                              .get(index.row())\
+                              .input_reach
             if reach is not None:
                 val = list(
                     map(
diff --git a/src/View/HydraulicStructures/UndoCommand.py b/src/View/HydraulicStructures/UndoCommand.py
index 75e2886b972eda03713a56297a99c52e5277c4d0..826cd268a4370d32ebef7b8fd47f3397a2294c09 100644
--- a/src/View/HydraulicStructures/UndoCommand.py
+++ b/src/View/HydraulicStructures/UndoCommand.py
@@ -99,6 +99,7 @@ class SetEnabledCommand(QUndoCommand):
         logger.info(f"Undo {self._old} -> {self._new}")
         self._h_s_lst.get(self._index).enabled = self._new
 
+
 class AddCommand(QUndoCommand):
     def __init__(self, h_s_lst, index):
         QUndoCommand.__init__(self)
diff --git a/src/View/HydraulicStructures/Window.py b/src/View/HydraulicStructures/Window.py
index 3ba9a67656a5efd4f966601296e5e73862a1b3e4..9595f8fef2f045f228dc5255e2f9f00e1df575ac 100644
--- a/src/View/HydraulicStructures/Window.py
+++ b/src/View/HydraulicStructures/Window.py
@@ -82,13 +82,13 @@ class HydraulicStructuresWindow(PamhyrWindow):
             trad=self._trad,
             data=self._study.river,
             parent=self,
-            mode = "reaches"
+            mode="reaches"
         )
         self._delegate_kp = ComboBoxDelegate(
             trad=self._trad,
             data=self._study.river,
             parent=self,
-            mode = "kp"
+            mode="kp"
         )
 
         table = self.find(QTableView, f"tableView")
@@ -160,7 +160,7 @@ class HydraulicStructuresWindow(PamhyrWindow):
     def setup_connections(self):
         self.find(QAction, "action_add").triggered.connect(self.add)
         self.find(QAction, "action_delete").triggered.connect(self.delete)
-        #self.find(QAction, "action_edit").triggered.connect(self.edit)
+        # self.find(QAction, "action_edit").triggered.connect(self.edit)
         self._checkbox.clicked.connect(self._set_structure_state)
 
         table = self.find(QTableView, "tableView")
@@ -175,7 +175,7 @@ class HydraulicStructuresWindow(PamhyrWindow):
         table = self.find(QTableView, "tableView")
         r = table.selectionModel().selectedRows()
 
-        if len(r)>0:
+        if len(r) > 0:
             return r[0]
         else:
             return None
@@ -184,7 +184,7 @@ class HydraulicStructuresWindow(PamhyrWindow):
         table = self.find(QTableView, "tableView")
         r = table.selectionModel().selectedRows()
 
-        if len(r)>0:
+        if len(r) > 0:
             return r[0].row()
         else:
             return None
@@ -270,7 +270,7 @@ class HydraulicStructuresWindow(PamhyrWindow):
         if len(rows) > 0 and len(self._hs_lst) > 0:
             reach = self._hs_lst.get(rows[0]).input_reach
         else:
-            reach=None
+            reach = None
             self.plot_kpc.clear()
             self.plot_ac.clear()
             return
@@ -291,7 +291,6 @@ class HydraulicStructuresWindow(PamhyrWindow):
             self.plot_ac.clear()
             return
 
-
         if profile is not None:
             self.plot_kpc.set_profile(profile[0])
             self.plot_ac.set_profile(profile[0])
diff --git a/src/View/LateralContribution/Edit/Window.py b/src/View/LateralContribution/Edit/Window.py
index 745fd15e143e13320ab67ed85df45dfb7dfe1436..897703a469c147761234d2ff7d2003775d95d342 100644
--- a/src/View/LateralContribution/Edit/Window.py
+++ b/src/View/LateralContribution/Edit/Window.py
@@ -101,7 +101,7 @@ class EditLateralContributionWindow(PamhyrWindow):
             table_headers=headers,
             editable_headers=self._data.header,
             delegates={
-                #"time": self._delegate_time,
+                # "time": self._delegate_time,
             },
             data=self._data,
             undo=self._undo_stack,
diff --git a/src/View/MainWindow.py b/src/View/MainWindow.py
index a9d98062dbab2b1e1aa5091477bb00b6af6cf0c5..89df56f38c4f315ab16667a667182313ddfeedde 100644
--- a/src/View/MainWindow.py
+++ b/src/View/MainWindow.py
@@ -195,7 +195,8 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
             "action_menu_edit_geometry": self.open_geometry,
             "action_menu_boundary_conditions": self.open_boundary_cond,
             "action_menu_edit_reservoirs": self.open_reservoir,
-            "action_menu_edit_hydraulic_structures": self.open_hydraulic_structures,
+            "action_menu_edit_hydraulic_structures":
+            self.open_hydraulic_structures,
             "action_menu_initial_conditions": self.open_initial_conditions,
             "action_menu_edit_friction": self.open_frictions,
             "action_menu_edit_lateral_contribution": self.open_lateral_contrib,
@@ -282,8 +283,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
             Nothing
         """
         self.update_enable_action()
-        # Maximise window
-        #self.showMaximized()
+        # self.showMaximized()
 
     def set_debug_lvl(self, debug=True):
         if debug:
@@ -638,7 +638,10 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
         ):
             return
 
-        hydraulic_structures = HydraulicStructuresWindow(study=self._study, parent=self)
+        hydraulic_structures = HydraulicStructuresWindow(
+            study=self._study,
+            parent=self
+        )
         hydraulic_structures.show()
 
     def open_lateral_contrib(self):
@@ -648,7 +651,10 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
         ):
             return
 
-        lateral = LateralContributionWindow(study=self._study, parent=self)
+        lateral = LateralContributionWindow(
+            study=self._study,
+            parent=self
+        )
         lateral.show()
 
     def open_stricklers(self):
diff --git a/src/View/Reservoir/Edit/Plot.py b/src/View/Reservoir/Edit/Plot.py
index 8f8f49b858228c34d3b143ec17bea797afa9f146..8c75a19971d85a4284fd4b234c4f76063721b636 100644
--- a/src/View/Reservoir/Edit/Plot.py
+++ b/src/View/Reservoir/Edit/Plot.py
@@ -69,7 +69,7 @@ class Plot(PamhyrPlot):
         )
 
         # Plot label
-        #header = self.data.header
+        # header = self.data.header
         self.canvas.axes.set_xlabel(
             self._table_headers["z"], color='black', fontsize=10
         )
diff --git a/src/View/Reservoir/Edit/Window.py b/src/View/Reservoir/Edit/Window.py
index 34724bea63ab44e4e37aec5557fd02a32a2bd9f5..865ae6c89e1eb109bbf570a3afe9c937aa2c329e 100644
--- a/src/View/Reservoir/Edit/Window.py
+++ b/src/View/Reservoir/Edit/Window.py
@@ -88,18 +88,13 @@ class EditReservoirWindow(PamhyrWindow):
     def setup_table(self):
         headers = {}
         table_headers = self._trad.get_dict("table_headers")
-        #for h in self._data.header:
-            #headers[h] = table_headers[h]
 
         table = self.find(QTableView, "tableView")
         self._table = TableModel(
             table_view=table,
             table_headers=table_headers,
             editable_headers=table_headers,
-            #editable_headers=self._data.header,
-            delegates={
-                #"time": self._delegate_time,
-            },
+            delegates={},
             data=self._data,
             undo=self._undo_stack,
             opt_data=self._study.time_system
@@ -181,7 +176,7 @@ class EditReservoirWindow(PamhyrWindow):
         rows = self.index_selected_rows()
 
         table = []
-        #table.append(self._data.header)
+        # table.append(self._data.header)
         table.append(self._trad.get_dict("table_headers"))
 
         data = self._data.data
diff --git a/src/View/Results/PlotH.py b/src/View/Results/PlotH.py
index 5709efb4fa903d8616100decea36f2f62acf9e7e..3494cfa5ea542896f22d539a24aa06f051649539 100644
--- a/src/View/Results/PlotH.py
+++ b/src/View/Results/PlotH.py
@@ -175,12 +175,12 @@ class PlotH(PamhyrPlot):
 
     def set_timestamp(self, timestamp):
         self._current_timestamp = timestamp
-        #self.update()
+        # self.update()
 
     def update(self):
         reach = self.results.river.reach(self._current_reach_id)
         profile = reach.profile(self._current_profile_id)
         x = self.ts
         y = profile.get_key("Q")
-        self._line.set_data(x,y)
+        self._line.set_data(x, y)
         self.canvas.figure.canvas.draw_idle()
diff --git a/src/View/Results/PlotKPC.py b/src/View/Results/PlotKPC.py
index 93f91c9f4282527c8fb360d7f0566ba465a62f89..34ed91f9b28c1a4730dcb0b379579aa08ecbb22d 100644
--- a/src/View/Results/PlotKPC.py
+++ b/src/View/Results/PlotKPC.py
@@ -105,8 +105,14 @@ class PlotKPC(PamhyrPlot):
             )
 
         self.profile, = self.canvas.axes.plot(
-            [kp[self._current_profile_id], kp[self._current_profile_id]],
-            [z_max[self._current_profile_id],z_min[self._current_profile_id]],
+            [
+                kp[self._current_profile_id],
+                kp[self._current_profile_id]
+            ],
+            [
+                z_max[self._current_profile_id],
+                z_min[self._current_profile_id]
+            ],
             color='red', lw=1.
         )
 
@@ -137,7 +143,13 @@ class PlotKPC(PamhyrPlot):
         z_min = reach.geometry.get_z_min()
         z_max = reach.geometry.get_z_max()
         self.profile.set_data(
-            [kp[self._current_profile_id], kp[self._current_profile_id]],
-            [z_max[self._current_profile_id],z_min[self._current_profile_id]]
+            [
+                kp[self._current_profile_id],
+                kp[self._current_profile_id]
+            ],
+            [
+                z_max[self._current_profile_id],
+                z_min[self._current_profile_id]
+            ]
         )
         self.canvas.figure.canvas.draw_idle()
diff --git a/src/View/Results/PlotXY.py b/src/View/Results/PlotXY.py
index 559fd9a6c05b4797a2cd59ffc110166416edd309..3d0e22810c68749e59835a45a45c1b42f581a76d 100644
--- a/src/View/Results/PlotXY.py
+++ b/src/View/Results/PlotXY.py
@@ -136,10 +136,14 @@ class PlotXY(PamhyrPlot):
         poly_x = [0]
         poly_y = [0]
 
-        self.fill = self.canvas.axes.fill(poly_x, poly_y, color='skyblue', alpha=0.7)
+        self.fill = self.canvas.axes.fill(
+            poly_x, poly_y,
+            color='skyblue',
+            alpha=0.7
+        )
 
-        #self.canvas.axes.autoscale_view(True, True, True)
-        #self.canvas.axes.autoscale()
+        # self.canvas.axes.autoscale_view(True, True, True)
+        # self.canvas.axes.autoscale()
         self.canvas.figure.tight_layout()
         self.canvas.figure.canvas.draw_idle()
         if self.toolbar is not None:
@@ -166,7 +170,7 @@ class PlotXY(PamhyrPlot):
             # Current profile
             profile = reach.profile(self._current_profile_id).geometry
 
-            self.plot_selected.set_data(profile.x(),profile.y())
+            self.plot_selected.set_data(profile.x(), profile.y())
             self.plot_selected.set_visible(True)
         self.canvas.draw_idle()
 
@@ -196,12 +200,12 @@ class PlotXY(PamhyrPlot):
             poly_r_x.append(ptY.x)
             poly_r_y.append(ptY.y)
 
-            #self.canvas.axes.plot(
-                #x, y, lw=1.,
-                #color='b',
-                #markersize=1,
-                #marker='o'
-            #)
+            # self.canvas.axes.plot(
+            #     x, y, lw=1.,
+            #     color='b',
+            #     markersize=1,
+            #     marker='o'
+            # )
 
         poly_x = poly_l_x + list(reversed(poly_r_x))
         poly_y = poly_l_y + list(reversed(poly_r_y))
diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py
index 9933f18989582b3ce73db51c0c27decface8d42a..68a38b34a6fc5c872a59b30c6a52986254a82a82 100644
--- a/src/View/Results/Window.py
+++ b/src/View/Results/Window.py
@@ -125,9 +125,13 @@ class ResultsWindow(PamhyrWindow):
         self._slider_time.setValue(len(self._timestamps) - 1)
 
         self._icon_start = QIcon()
-        self._icon_start.addPixmap(QPixmap('./src/View/ui/ressources/media-playback-start.png'))
+        self._icon_start.addPixmap(
+            QPixmap('./src/View/ui/ressources/media-playback-start.png')
+        )
         self._icon_pause = QIcon()
-        self._icon_pause.addPixmap(QPixmap('./src/View/ui/ressources/media-playback-pause.png'))
+        self._icon_pause.addPixmap(
+            QPixmap('./src/View/ui/ressources/media-playback-pause.png')
+        )
         self._button_play = self.find(QPushButton, f"playButton")
         self._button_play.setIcon(self._icon_start)
         self._button_back = self.find(QPushButton, f"backButton")
diff --git a/src/tools.py b/src/tools.py
index b6f78857a90de16178ce21d680047c6015e70b99..1ad8c382ec46c63e5881573f43eafe014bfbc30c 100644
--- a/src/tools.py
+++ b/src/tools.py
@@ -67,6 +67,7 @@ def logger_color_reset():
         return f"{Style.RESET_ALL}"
     return ""
 
+
 def logger_exception(exception):
     logger.error(
         f"[{Fore.RED}ERROR{Style.RESET_ALL}] " +
diff --git a/tests.sh b/tests.sh
index 06c8fd846e45c5ffa156fde542901a4387b12e23..ff235027a698f756112e4ffbdf28d8a90505a863 100755
--- a/tests.sh
+++ b/tests.sh
@@ -16,7 +16,7 @@ cd ..
 
 echo " PEP8"
 
-pycodestyle ./src
+pycodestyle --exclude="*_to_*.py" ./src
 
 if [ $? -eq 0 ]
 then