diff --git a/setup.py b/setup.py
index 0e4947d4526771e2f4ea222e75bd4a36c3ba13a6..eafe0729934582a5711bf237d5d3f07e0791ee73 100644
--- a/setup.py
+++ b/setup.py
@@ -41,9 +41,9 @@ setup(
       ],
 
     ext_modules = [
-      Extension("xbob.io._externals",
+      Extension("xbob.io.version",
         [
-          "xbob/io/externals.cpp",
+          "xbob/io/version.cpp",
           ],
         packages = packages,
         include_dirs = include_dirs,
diff --git a/xbob/io/__init__.py b/xbob/io/__init__.py
index 5f700b1ebc8f16709d453652204ba0007308d854..24a3ecd145bd9f6b562b882d12a5c1e0c5e0795a 100644
--- a/xbob/io/__init__.py
+++ b/xbob/io/__init__.py
@@ -1,6 +1,7 @@
 from ._library import File, VideoReader, VideoWriter, HDF5File
-from ._library import __version__, __api_version__
-from . import _externals
+from . import version
+from .version import module as __version__
+from .version import api as __api_version__
 
 import os
 
diff --git a/xbob/io/externals.cpp b/xbob/io/version.cpp
similarity index 99%
rename from xbob/io/externals.cpp
rename to xbob/io/version.cpp
index f47294a3cdd0f5da1944dc90b91dfcd80f803f90..4a014f3f2321b3794ea963d73c98ef380965bd76 100644
--- a/xbob/io/externals.cpp
+++ b/xbob/io/version.cpp
@@ -867,11 +867,11 @@ static PyObject* create_module (void) {
   auto m_ = make_safe(m); ///< protects against early returns
 
   /* register version numbers and constants */
-  if (PyModule_AddIntConstant(m, "__api_version__", XBOB_IO_API_VERSION) < 0)
+  if (PyModule_AddIntConstant(m, "api", XBOB_IO_API_VERSION) < 0)
     return 0;
-  if (PyModule_AddStringConstant(m, "__version__", XBOB_EXT_MODULE_VERSION) < 0)
+  if (PyModule_AddStringConstant(m, "module", XBOB_EXT_MODULE_VERSION) < 0)
     return 0;
-  if (PyModule_AddObject(m, "versions", build_version_dictionary()) < 0) return 0;
+  if (PyModule_AddObject(m, "externals", build_version_dictionary()) < 0) return 0;
 
   /* imports xbob.blitz C-API + dependencies */
   if (import_xbob_blitz() < 0) return 0;