diff -ur python-igraph-0.6.5.orig/scripts/mkdoc.sh python-igraph-0.6.5.new/scripts/mkdoc.sh
--- python-igraph-0.6.5.orig/scripts/mkdoc.sh	2013-02-12 07:40:19.000000000 -0600
+++ python-igraph-0.6.5.new/scripts/mkdoc.sh	2013-05-03 21:33:04.613655400 -0500
@@ -33,11 +33,11 @@
   cd $1 || exit 1
 fi
 
-echo "Checking symlinked _igraph.so in ${ROOT_FOLDER}/igraph..."
-if [ ! -e ${ROOT_FOLDER}/igraph/_igraph.so -o ! -L ${ROOT_FOLDER}/igraph/_igraph.so ]; then
-	rm -f ${ROOT_FOLDER}/igraph/_igraph.so
+echo "Checking symlinked igraph_core.so in ${ROOT_FOLDER}/igraph..."
+if [ ! -e ${ROOT_FOLDER}/igraph/igraph_core.so -o ! -L ${ROOT_FOLDER}/igraph/igraph_core.so ]; then
+	rm -f ${ROOT_FOLDER}/igraph/igraph_core.so
 	cd ${ROOT_FOLDER}/igraph
-	ln -s ../build/lib*/igraph/_igraph.so .
+	ln -s ../build/lib*/igraph/igraph_core.so .
 	cd ${ROOT_FOLDER}
 fi
 
diff -ur python-igraph-0.6.5.orig/setup.py python-igraph-0.6.5.new/setup.py
--- python-igraph-0.6.5.orig/setup.py	2013-02-27 05:04:09.000000000 -0600
+++ python-igraph-0.6.5.new/setup.py	2013-05-03 21:33:20.378557200 -0500
@@ -86,7 +86,7 @@
 print("Include path: %s" % " ".join(include_dirs))
 print("Library path: %s" % " ".join(library_dirs))
 
-igraph_extension = Extension('igraph._igraph', sources, \
+igraph_extension = Extension('igraph.igraph_core', sources, \
   library_dirs=library_dirs, libraries=libraries, \
   include_dirs=include_dirs)
        
diff -ur python-igraph-0.6.5.orig/src/igraphmodule.c python-igraph-0.6.5.new/src/igraphmodule.c
--- python-igraph-0.6.5.orig/src/igraphmodule.c	2013-02-12 07:40:19.000000000 -0600
+++ python-igraph-0.6.5.new/src/igraphmodule.c	2013-05-03 23:44:39.438213600 -0500
@@ -665,7 +665,7 @@
 #ifdef IGRAPH_PYTHON3
 static struct PyModuleDef moduledef = {
   PyModuleDef_HEAD_INIT,
-  "igraph._igraph",                   /* m_name */
+  "igraph.igraph_core",               /* m_name */
   MODULE_DOCS,                        /* m_doc */
   sizeof(struct module_state),        /* m_size */
   igraphmodule_methods,               /* m_methods */
@@ -723,13 +723,13 @@
 
 #ifdef IGRAPH_PYTHON3
 #  define INITERROR return NULL
-   PyObject* PyInit__igraph(void)
+   PyObject* PyInit_igraph_core(void)
 #else
 #  define INITERROR return
 #  ifndef PyMODINIT_FUNC
 #    define PyMODINIT_FUNC void
 #  endif
-   PyMODINIT_FUNC init_igraph(void)
+   PyMODINIT_FUNC init_igraph_core(void)
 #endif
 {
   PyObject* m;
@@ -771,7 +771,7 @@
 #ifdef IGRAPH_PYTHON3
   m = PyModule_Create(&moduledef);
 #else
-  m = Py_InitModule3("igraph._igraph", igraphmodule_methods, MODULE_DOCS);
+  m = Py_InitModule3("igraph.igraph_core", igraphmodule_methods, MODULE_DOCS);
 #endif
 
   if (m == NULL)
@@ -791,7 +791,7 @@
  
   /* Internal error exception type */
   igraphmodule_InternalError =
-    PyErr_NewException("igraph._igraph.InternalError", PyExc_Exception, NULL);
+    PyErr_NewException("igraph.igraph_core.InternalError", PyExc_Exception, NULL);
   PyModule_AddObject(m, "InternalError", igraphmodule_InternalError);
 
   /* ARPACK default options variable */
@@ -864,7 +864,7 @@
 
   /* Create a CObject containing the API pointer array's address */
 #ifdef IGRAPH_PYTHON3
-  c_api_object = PyCapsule_New((void*)PyIGraph_API, "igraph._igraph._C_API", 0);
+  c_api_object = PyCapsule_New((void*)PyIGraph_API, "igraph.igraph_core._C_API", 0);
 #else
   c_api_object = PyCObject_FromVoidPtr((void*)PyIGraph_API, 0);
 #endif
