Signed-off-by: Aarni Koskela <akx@iki.fi>
@@ -5,7 +5,7 @@ import warnings
import numpy
import tqdm
-from labours.utils import floor_datetime
+from labours.utils import floor_datetime, import_pandas
if TYPE_CHECKING:
from lifelines import KaplanMeierFitter
@@ -185,18 +185,6 @@ def interpolate_burndown_matrix(
return daily
-def import_pandas():
- import pandas
-
- try:
- from pandas.plotting import register_matplotlib_converters
- register_matplotlib_converters()
- except ImportError:
- pass
- return pandas
def load_burndown(
header: Tuple[int, int, int, int, float],
name: str,
@@ -8,7 +8,8 @@ from typing import List
-from labours.burndown import import_pandas, load_burndown
+from labours.burndown import load_burndown
+from labours.utils import import_pandas
from labours.cors_web_server import web_server
from labours.embeddings import train_embeddings, write_embeddings
from labours.modes.burndown import plot_burndown, plot_many_burndown
@@ -4,9 +4,8 @@ from typing import Any, Dict, List, Tuple
-from labours.burndown import import_pandas
from labours.plotting import apply_plot_style, deploy_plot, get_plot_path, import_pyplot
-from labours.utils import default_json, floor_datetime, parse_date
+from labours.utils import default_json, floor_datetime, parse_date, import_pandas
def load_ownership(
@@ -54,3 +54,15 @@ def _format_number(n: Number) -> str:
n = str(n)
suffix = ""
return n + suffix
+
+def import_pandas():
+ import pandas
+ try:
+ from pandas.plotting import register_matplotlib_converters
+ register_matplotlib_converters()
+ except ImportError:
+ pass
+ return pandas