From de1b485c29cadc5d40b52df81807df4fef8604d0 Mon Sep 17 00:00:00 2001
From: Thibault Hallouin <thibault.hallouin@inrae.fr>
Date: Thu, 5 Jan 2023 16:24:46 +0100
Subject: [PATCH] use relative import of pybind extension

---
 evalhyd/evald.py                      | 6 ++++--
 evalhyd/evalp.py                      | 6 ++++--
 evalhyd/src/{core.cpp => evalhyd.cpp} | 2 +-
 setup.py                              | 4 ++--
 4 files changed, 11 insertions(+), 7 deletions(-)
 rename evalhyd/src/{core.cpp => evalhyd.cpp} (99%)

diff --git a/evalhyd/evald.py b/evalhyd/evald.py
index ba7d1ee..7577cab 100644
--- a/evalhyd/evald.py
+++ b/evalhyd/evald.py
@@ -1,7 +1,8 @@
 from typing import List, Dict
 from numpy import dtype
 from numpy.typing import NDArray
-import evalhyd.core
+
+from ._evalhyd import _evald
 
 
 def evald(q_obs: NDArray[dtype('float64')],
@@ -15,6 +16,7 @@ def evald(q_obs: NDArray[dtype('float64')],
           bootstrap: Dict[str, int] = None,
           dts: List[str] = None) -> List[NDArray[dtype('float64')]]:
     """Function to evaluate determinist streamflow predictions"""
+
     # required arguments
     kwargs = {
         # convect 1D array into 2D array view
@@ -39,4 +41,4 @@ def evald(q_obs: NDArray[dtype('float64')],
     if dts is not None:
         kwargs['dts'] = dts
 
-    return evalhyd.core._evald(**kwargs)
+    return _evald(**kwargs)
diff --git a/evalhyd/evalp.py b/evalhyd/evalp.py
index 902f663..cb95229 100644
--- a/evalhyd/evalp.py
+++ b/evalhyd/evalp.py
@@ -1,7 +1,8 @@
 from typing import List, Dict
 from numpy import dtype
 from numpy.typing import NDArray
-import evalhyd.core
+
+from ._evalhyd import _evalp
 
 
 def evalp(q_obs: NDArray[dtype('float64')],
@@ -13,6 +14,7 @@ def evalp(q_obs: NDArray[dtype('float64')],
           bootstrap: Dict[str, int] = None,
           dts: List[str] = None) -> List[NDArray[dtype('float64')]]:
     """Function to evaluate probabilist streamflow predictions"""
+
     # required arguments
     kwargs = {
         'q_obs': q_obs,
@@ -32,4 +34,4 @@ def evalp(q_obs: NDArray[dtype('float64')],
     if dts is not None:
         kwargs['dts'] = dts
 
-    return evalhyd.core._evalp(**kwargs)
+    return _evalp(**kwargs)
diff --git a/evalhyd/src/core.cpp b/evalhyd/src/evalhyd.cpp
similarity index 99%
rename from evalhyd/src/core.cpp
rename to evalhyd/src/evalhyd.cpp
index f6dea53..868fd7f 100644
--- a/evalhyd/src/core.cpp
+++ b/evalhyd/src/evalhyd.cpp
@@ -72,7 +72,7 @@ auto evalp(
 }
 
 // Python Module and Docstrings
-PYBIND11_MODULE(core, m)
+PYBIND11_MODULE(_evalhyd, m)
 {
     xt::import_numpy();
 
diff --git a/setup.py b/setup.py
index cbfeb82..f7664c0 100644
--- a/setup.py
+++ b/setup.py
@@ -61,8 +61,8 @@ for dep, version, url in deps:
 # configure Python extension
 ext_modules = [
     Pybind11Extension(
-        "evalhyd.core",
-        ['evalhyd/src/core.cpp'],
+        "evalhyd._evalhyd",
+        ['evalhyd/src/evalhyd.cpp'],
         include_dirs=[
             numpy.get_include(),
             os.path.join(sys.prefix, 'include'),
-- 
GitLab