diff --git a/news/load-data.rst b/news/load-data.rst new file mode 100644 index 0000000..4b614de --- /dev/null +++ b/news/load-data.rst @@ -0,0 +1,23 @@ +**Added:** + +* No news added: change how data path is referenced. Remove ``__file__`` reference. + +**Changed:** + +* + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +* diff --git a/pyproject.toml b/pyproject.toml index a55f107..b7ac149 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,6 +54,9 @@ include = ["*"] # package names should match these glob patterns (["*"] by defa exclude = ["diffpy.labpdfproc.tests*"] # exclude packages matching these glob patterns (empty by default) namespaces = false # to disable scanning PEP 420 namespaces (true by default) +[tool.setuptools.package-data] +"diffpy.labpdfproc" = ["data/*"] + [tool.setuptools.dynamic] dependencies = {file = ["requirements/pip.txt"]} diff --git a/src/diffpy/labpdfproc/functions.py b/src/diffpy/labpdfproc/functions.py index 7ecd126..8d7a76a 100644 --- a/src/diffpy/labpdfproc/functions.py +++ b/src/diffpy/labpdfproc/functions.py @@ -1,6 +1,6 @@ import math import warnings -from pathlib import Path +from importlib.resources import files import numpy as np import pandas as pd @@ -17,11 +17,11 @@ CVE_METHODS = ["brute_force", "polynomial_interpolation"] # Pre-computed datasets for polynomial interpolation (fast calculation) +data_dir = files("diffpy.labpdfproc") / "data" MUD_LIST = np.array([0.5, 1, 2, 3, 4, 5, 6, 7]) -CWD = Path(__file__).parent.resolve() -MULS = np.loadtxt(CWD / "data" / "inverse_cve.xy") +MULS = np.loadtxt(data_dir / "inverse_cve.xy") COEFFICIENT_LIST = np.array( - pd.read_csv(CWD / "data" / "coefficient_list.csv", header=None) + pd.read_csv(data_dir / "coefficient_list.csv", header=None) ) INTERPOLATION_FUNCTIONS = [ interp1d(MUD_LIST, coeffs, kind="quadratic") for coeffs in COEFFICIENT_LIST