diff --git a/.isort.cfg b/.isort.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..cbdece3111e9f53cddffe209dd5e1ac4930ad9c5
--- /dev/null
+++ b/.isort.cfg
@@ -0,0 +1,4 @@
+[settings]
+line_length=100
+balanced_wrapping=True
+multi_line_output=4
diff --git a/lbmpy_walberla/__init__.py b/lbmpy_walberla/__init__.py
index 146549b9f9cf6a8c853c7cbe95d6774430e9b022..f7b022ab058e6a83a05aafa5fa586fb59d8551fd 100644
--- a/lbmpy_walberla/__init__.py
+++ b/lbmpy_walberla/__init__.py
@@ -1,4 +1,4 @@
-from .walberla_lbm_generation import generate_lattice_model, RefinementScaling
 from .boundary import generate_boundary
+from .walberla_lbm_generation import RefinementScaling, generate_lattice_model
 
 __all__ = ['generate_lattice_model', 'RefinementScaling', 'generate_boundary']
diff --git a/lbmpy_walberla/boundary.py b/lbmpy_walberla/boundary.py
index bc9472b46ffa3f0a5177cf74bece24773215f8d8..865ec33bac01d1234e0c40a098582c7f7a823b9f 100644
--- a/lbmpy_walberla/boundary.py
+++ b/lbmpy_walberla/boundary.py
@@ -1,16 +1,16 @@
 import numpy as np
 from jinja2 import Environment, PackageLoader
 
+from lbmpy.boundaries.boundaryhandling import create_lattice_boltzmann_boundary_kernel
+from lbmpy_walberla.walberla_lbm_generation import KernelInfo
 from pystencils import Field, FieldType
-from pystencils.data_types import create_type, TypedSymbol
+from pystencils.boundaries.createindexlist import (
+    boundary_index_array_coordinate_names, direction_member_name,
+    numpy_data_type_for_boundary_object)
+from pystencils.data_types import TypedSymbol, create_type
 from pystencils_walberla.codegen import default_create_kernel_parameters
 from pystencils_walberla.jinja_filters import add_pystencils_filters_to_jinja_env
 
-from lbmpy.boundaries.boundaryhandling import create_lattice_boltzmann_boundary_kernel
-from pystencils.boundaries.createindexlist import numpy_data_type_for_boundary_object, \
-    boundary_index_array_coordinate_names, direction_member_name
-from lbmpy_walberla.walberla_lbm_generation import KernelInfo
-
 
 def generate_boundary(generation_context, class_name, boundary_object, lb_method, **create_kernel_params):
     struct_name = "IndexInfo"
diff --git a/lbmpy_walberla/sparse.py b/lbmpy_walberla/sparse.py
index a165a5704bc18228cf8efcb6893461441f019f4e..95e45f64efe9fbbcfae235f6c4ce3d65dc300269 100644
--- a/lbmpy_walberla/sparse.py
+++ b/lbmpy_walberla/sparse.py
@@ -1,6 +1,8 @@
 import numpy as np
-from lbmpy.sparse import create_symbolic_list, create_lb_update_rule_sparse, create_macroscopic_value_getter_sparse, \
-    create_macroscopic_value_setter_sparse
+
+from lbmpy.sparse import (
+    create_lb_update_rule_sparse, create_macroscopic_value_getter_sparse,
+    create_macroscopic_value_setter_sparse, create_symbolic_list)
 from pystencils import TypedSymbol, create_kernel
 
 
diff --git a/lbmpy_walberla/walberla_lbm_generation.py b/lbmpy_walberla/walberla_lbm_generation.py
index aa4b14c8814098f7810bc0d36b62160ed5295fac..262074ee93e767ed67b05d2817e8bffccf505dc3 100644
--- a/lbmpy_walberla/walberla_lbm_generation.py
+++ b/lbmpy_walberla/walberla_lbm_generation.py
@@ -1,24 +1,22 @@
+import numpy as np
 import sympy as sp
-from sympy.tensor import IndexedBase
 from jinja2 import Environment, PackageLoader, Template
-import numpy as np
+from sympy.tensor import IndexedBase
 
+from lbmpy.creationfunctions import create_lb_update_rule, update_with_default_parameters
+from lbmpy.relaxationrates import relaxation_rate_scaling
 from lbmpy.stencils import get_stencil
-from pystencils import AssignmentCollection
+from lbmpy.updatekernels import create_stream_pull_only_kernel
+from pystencils import AssignmentCollection, create_kernel
 from pystencils.astnodes import SympyAssignment
-from pystencils.sympyextensions import get_symmetric_part
-from pystencils.field import Field
-from pystencils.stencil import offset_to_direction_string, have_same_entries
-from pystencils.backends.cbackend import CustomSympyPrinter, CBackend, get_headers
+from pystencils.backends.cbackend import CBackend, CustomSympyPrinter, get_headers
 from pystencils.data_types import TypedSymbol
+from pystencils.field import Field
+from pystencils.stencil import have_same_entries, offset_to_direction_string
+from pystencils.sympyextensions import get_symmetric_part
 from pystencils.transformations import add_types
 from pystencils_walberla.codegen import KernelInfo, default_create_kernel_parameters
 from pystencils_walberla.jinja_filters import add_pystencils_filters_to_jinja_env
-from pystencils import create_kernel
-
-from lbmpy.relaxationrates import relaxation_rate_scaling
-from lbmpy.creationfunctions import update_with_default_parameters, create_lb_update_rule
-from lbmpy.updatekernels import create_stream_pull_only_kernel
 
 cpp_printer = CustomSympyPrinter(dialect='c')
 REFINEMENT_SCALE_FACTOR = sp.Symbol("level_scale_factor")
diff --git a/lbmpy_walberla_tests/test_walberla_codegen.py b/lbmpy_walberla_tests/test_walberla_codegen.py
index a43b869693608b38208cf516768c077397ac148e..99ef2b2e9491bcf93825fe14b92fff91bb2f7d24 100644
--- a/lbmpy_walberla_tests/test_walberla_codegen.py
+++ b/lbmpy_walberla_tests/test_walberla_codegen.py
@@ -1,12 +1,14 @@
+import unittest
+
 import sympy as sp
+
 import pystencils as ps
-from lbmpy.boundaries import NoSlip, UBB
+from lbmpy.boundaries import UBB, NoSlip
 from lbmpy.creationfunctions import create_lb_method, create_lb_update_rule
-from lbmpy_walberla import generate_lattice_model, RefinementScaling, generate_boundary
+from lbmpy_walberla import RefinementScaling, generate_boundary, generate_lattice_model
 from lbmpy_walberla.sparse import ListLbGenerator
-from pystencils_walberla.cmake_integration import ManualCodeGenerationContext
 from pystencils_walberla import generate_pack_info_for_field, generate_pack_info_from_kernel
-import unittest
+from pystencils_walberla.cmake_integration import ManualCodeGenerationContext
 
 
 class WalberlaLbmpyCodegenTest(unittest.TestCase):