diff --git a/duniterpy/key/signing_key.py b/duniterpy/key/signing_key.py
index 6b0ca6622c5a64d1cf384c3c5a75a47a95b4f3ee..061c1c1ba53cd647433a92187e4940ce7c938add 100644
--- a/duniterpy/key/signing_key.py
+++ b/duniterpy/key/signing_key.py
@@ -3,7 +3,7 @@ duniter public and private keys
 
 @author: inso
 """
-from re import compile, MULTILINE, search
+import re
 from typing import Optional, Union, TypeVar, Type
 
 import libnacl.sign
@@ -77,8 +77,8 @@ class SigningKey(libnacl.sign.Signer):
 
         :param str seedhex: Hexadecimal seed string
         """
-        regex_seedhex = compile("([0-9a-fA-F]{64})")
-        match = search(regex_seedhex, seedhex)
+        regex_seedhex = re.compile("([0-9a-fA-F]{64})")
+        match = re.search(regex_seedhex, seedhex)
         if not match:
             raise Exception('Error: Bad seed hexadecimal format')
         seedhex = match.groups()[0]
@@ -128,16 +128,16 @@ class SigningKey(libnacl.sign.Signer):
             pubsec_content = fh.read()
 
         # line patterns
-        regex_pubkey = compile("pub: ([1-9A-HJ-NP-Za-km-z]{43,44})", MULTILINE)
-        regex_signkey = compile("sec: ([1-9A-HJ-NP-Za-km-z]{88,90})", MULTILINE)
+        regex_pubkey = re.compile("pub: ([1-9A-HJ-NP-Za-km-z]{43,44})", re.MULTILINE)
+        regex_signkey = re.compile("sec: ([1-9A-HJ-NP-Za-km-z]{88,90})", re.MULTILINE)
 
         # check public key field
-        match = search(regex_pubkey, pubsec_content)
+        match = re.search(regex_pubkey, pubsec_content)
         if not match:
             raise Exception('Error: Bad format PubSec v1 file, missing public key')
 
         # check signkey field
-        match = search(regex_signkey, pubsec_content)
+        match = re.search(regex_signkey, pubsec_content)
         if not match:
             raise Exception('Error: Bad format PubSec v1 file, missing sec key')
 
@@ -183,8 +183,8 @@ sec: {signkey}""".format(version=version, pubkey=base58_public_key, signkey=base
             wif_content = fh.read()
 
         # check data field
-        regex = compile('Data: ([1-9A-HJ-NP-Za-km-z]+)', MULTILINE)
-        match = search(regex, wif_content)
+        regex = re.compile('Data: ([1-9A-HJ-NP-Za-km-z]+)', re.MULTILINE)
+        match = re.search(regex, wif_content)
         if not match:
             raise Exception('Error: Bad format WIF or EWIF v1 file')
 
@@ -205,12 +205,14 @@ sec: {signkey}""".format(version=version, pubkey=base58_public_key, signkey=base
         fi = wif_bytes[0:1]
 
         if fi == b"\x01":
-            return SigningKey.from_wif_hex(wif_hex)
+            result = SigningKey.from_wif_hex(wif_hex)
         elif fi == b"\x02" and password is not None:
-            return SigningKey.from_ewif_hex(wif_hex, password)
+            result = SigningKey.from_ewif_hex(wif_hex, password)
         else:
             raise Exception("Error: Bad format: not WIF nor EWIF")
 
+        return result
+
     @staticmethod
     def from_wif_file(path: str) -> SigningKeyType:
         """
@@ -222,8 +224,8 @@ sec: {signkey}""".format(version=version, pubkey=base58_public_key, signkey=base
             wif_content = fh.read()
 
         # check data field
-        regex = compile('Data: ([1-9A-HJ-NP-Za-km-z]+)', MULTILINE)
-        match = search(regex, wif_content)
+        regex = re.compile('Data: ([1-9A-HJ-NP-Za-km-z]+)', re.MULTILINE)
+        match = re.search(regex, wif_content)
         if not match:
             raise Exception('Error: Bad format WIF v1 file')
 
@@ -298,8 +300,8 @@ Data: {data}""".format(version=version, data=wif_key)
             wif_content = fh.read()
 
         # check data field
-        regex = compile('Data: ([1-9A-HJ-NP-Za-km-z]+)', MULTILINE)
-        match = search(regex, wif_content)
+        regex = re.compile('Data: ([1-9A-HJ-NP-Za-km-z]+)', re.MULTILINE)
+        match = re.search(regex, wif_content)
         if not match:
             raise Exception('Error: Bad format EWIF v1 file')