diff --git a/python/build/download.py b/python/build/download.py
index d41b30a5b..56af5c7bd 100644
--- a/python/build/download.py
+++ b/python/build/download.py
@@ -1,19 +1,7 @@
+from build.verify import file_md5
 import os
-import hashlib
 import urllib.request
 
-def file_md5(path):
-    """Calculate the MD5 checksum of a file and return it in hexadecimal notation."""
-
-    with open(path, 'rb') as f:
-        m = hashlib.md5()
-        while True:
-            data = f.read(65536)
-            if len(data) == 0:
-                # end of file
-                return m.hexdigest()
-            m.update(data)
-
 def download_and_verify(url, md5, parent_path):
     """Download a file, verify its MD5 checksum and return the local path."""
 
diff --git a/python/build/verify.py b/python/build/verify.py
new file mode 100644
index 000000000..8ec190cac
--- /dev/null
+++ b/python/build/verify.py
@@ -0,0 +1,13 @@
+import hashlib
+
+def file_md5(path):
+    """Calculate the MD5 checksum of a file and return it in hexadecimal notation."""
+
+    with open(path, 'rb') as f:
+        m = hashlib.md5()
+        while True:
+            data = f.read(65536)
+            if len(data) == 0:
+                # end of file
+                return m.hexdigest()
+            m.update(data)