diff --git a/src/caosadvancedtools/collect_datamodel.py b/src/caosadvancedtools/collect_datamodel.py
index 1c37bab0007f0fa715a0e106c38dd18faf7015b8..f485aec67616d63998f9e89da800359dc8dc0bb0 100644
--- a/src/caosadvancedtools/collect_datamodel.py
+++ b/src/caosadvancedtools/collect_datamodel.py
@@ -112,7 +112,7 @@ def compare(directory):
             print("{} is missing in the existing properties".format(p))
 
 
-if __name__ == "__main__":
+def main():
     p = get_parser()
     args = p.parse_args()
 
@@ -121,3 +121,7 @@ if __name__ == "__main__":
 
     if args.compare:
         compare(args.compare)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/src/caosadvancedtools/export_related.py b/src/caosadvancedtools/export_related.py
index 1ac6d2cbbd9f25f90ff840216bcea7eb3276b3e7..72484a3075fa34805af54b7b0c36ff82fbcf743e 100755
--- a/src/caosadvancedtools/export_related.py
+++ b/src/caosadvancedtools/export_related.py
@@ -149,8 +149,12 @@ def defineParser():
     return parser
 
 
-if __name__ == "__main__":
+def main():
     parser = defineParser()
     args = parser.parse_args()
 
     export_related_to(args.id, directory=args.directory)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/src/caosadvancedtools/import_from_xml.py b/src/caosadvancedtools/import_from_xml.py
index 7bc9f018b491ec64266d2be038b89102479c121e..23ea79c113a1269165ab9ddc1284182472f82266 100755
--- a/src/caosadvancedtools/import_from_xml.py
+++ b/src/caosadvancedtools/import_from_xml.py
@@ -122,8 +122,12 @@ def defineParser():
     return parser
 
 
-if __name__ == "__main__":
+def main():
     parser = defineParser()
     args = parser.parse_args()
 
     import_xml(args.file, args.rerun)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/src/caosadvancedtools/models/parser.py b/src/caosadvancedtools/models/parser.py
index a33f37ca716afcf4372994f19132a5255ad1ab77..7b91891f3b180e4bc0cd327cbf609cd11d454e52 100644
--- a/src/caosadvancedtools/models/parser.py
+++ b/src/caosadvancedtools/models/parser.py
@@ -1016,7 +1016,7 @@ class JsonSchemaParser(Parser):
         return returns
 
 
-if __name__ == "__main__":
+def main():
     parser = argparse.ArgumentParser(description=__doc__,
                                      formatter_class=argparse.RawTextHelpFormatter)
     parser.add_argument("data_model",
@@ -1039,3 +1039,7 @@ if __name__ == "__main__":
         print(model)
     if args.sync:
         model.sync_data_model(noquestion=args.noquestion)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/src/caosadvancedtools/table_converter.py b/src/caosadvancedtools/table_converter.py
index bfbf6296068f761f2cd94c0fcacd1f91756e17c5..c5fcb969ae94801c1fc2641b776e9fb2134c41f1 100644
--- a/src/caosadvancedtools/table_converter.py
+++ b/src/caosadvancedtools/table_converter.py
@@ -98,8 +98,7 @@ def from_table(spreadsheet, recordtype):
     return records
 
 
-if __name__ == "__main__":
-
+def main():
     p = argparse.ArgumentParser()
     p.add_argument("-f", "--filename", help="The excel filename")
     p.add_argument("--auth-token")
@@ -110,3 +109,7 @@ if __name__ == "__main__":
     recordtype = "Experiment"
 
     from_tsv(arg.filename, recordtype)
+
+
+if __name__ == "__main__":
+    main()
\ No newline at end of file