[JOSS Review] Editable installation not working as described in README
Hi
I am afraid "last issue" (#19) was not fully correct—when going through more items on the JOSS review checklist, I tried your installation instructions and the "Full editable install" failed with a version conflict in haxquantpy.
I tried updating pip and cleaning the pip cache, but to no avail. Here is an excerpt from my bash input/output:
nluetts@fedora:/tmp$ python -m venv env
nluetts@fedora:/tmp$ source env/bin/activate
(env) nluetts@fedora:/tmp$ git clone --recursive https://gitlab.fysik.su.se/operando-catalysis-spectroscopy/polariseval.git
cd polariseval
pip install -e ./haxquantpy ./specqp ./
Cloning into 'polariseval'...
[...]
Submodule path 'haxquantpy': checked out '97a7b36d5ad834ba1fa146ecc493f108cb2fe455'
Submodule path 'specqp': checked out '900c319fa9c2c6eacc4b69b5d22687cac3c6f13f'
[...]
INFO: pip is looking at multiple versions of poleval to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install haxquantpy 0.0.2 (from /tmp/polariseval/haxquantpy) and poleval==1.0.1 because these package versions have conflicting dependencies.
The conflict is caused by:
The user requested haxquantpy 0.0.2 (from /tmp/polariseval/haxquantpy)
poleval 1.0.1 depends on haxquantpy 0.0.2 (from /var/home/nluetts/.cache/pip/wheels/f9/cc/93/688ef048678363823b6b0825a728421801d751fb12c7deba4b/haxquantpy-0.0.2-py3-none-any.whl)
To fix this you could try to:
1. loosen the range of package versions you\'ve specified
2. remove package versions to allow pip to attempt to solve the dependency conflict
[notice] A new release of pip is available: 24.3.1 -> 25.3
[notice] To update, run: pip install --upgrade pip
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
# Trying to update pip
(env) nluetts@fedora:/tmp/polariseval$ pip install --upgrade pip
[...]
Successfully installed pip-25.3
(env) nluetts@fedora:/tmp/polariseval$ pip install -e ./haxquantpy ./specqp ./
[...]
ERROR: Cannot install haxquantpy 0.0.2 (from /tmp/polariseval/haxquantpy) and poleval==1.0.1 because these package versions have conflicting dependencies.
[...]
# Trying removing old pip cache
(env) nluetts@fedora:/tmp/polariseval$ pip cache purge
Files removed: 1866 (1052.7 MB)
(env) nluetts@fedora:/tmp/polariseval$ pip install -e ./haxquantpy ./specqp ./
[...]
ERROR: Cannot install haxquantpy 0.0.2 (from /tmp/polariseval/haxquantpy) and poleval==1.0.1 because these
[...]
# Installing only current directory as editable
(env) nluetts@fedora:/tmp/polariseval$ pip install -e ./
[...]
Successfully installed asteval-1.0.6 asttokens-3.0.0 attrs-25.4.0 beautifulsoup4-4.14.2 bleach-6.3.0 comm-0.2.3 contourpy-1.3.3 cycler-0.12.1 decorator-5.2.1 defusedxml-0.7.1 dill-0.4.0 et-xmlfile-2.0.0 executing-2.2.1 fastjsonschema-2.21.2 fonttools-4.60.1 h5py-3.15.1 haxquantpy-0.0.2 ipympl-0.9.8 ipython-9.6.0 ipython-pygments-lexers-1.1.1 ipywidgets-8.1.8 jedi-0.19.2 jinja2-3.1.6 jsonschema-4.25.1 jsonschema-specifications-2025.9.1 jupyter-client-8.6.3 jupyter-core-5.9.1 jupyterlab-pygments-0.3.0 jupyterlab_widgets-3.0.16 kiwisolver-1.4.9 llvmlite-0.45.1 lmfit-1.3.4 markupsafe-3.0.3 matplotlib-3.10.7 matplotlib-inline-0.2.1 mistune-3.1.4 nbclient-0.10.2 nbconvert-7.16.6 nbformat-5.10.4 numba-0.62.1 numpy-2.3.4 openpyxl-3.1.5 packaging-25.0 pandas-2.3.3 pandocfilters-1.5.1 parso-0.8.5 pexpect-4.9.0 pillow-12.0.0 platformdirs-4.5.0 poleval-1.0.1 prompt_toolkit-3.0.52 ptyprocess-0.7.0 pure-eval-0.2.3 pygments-2.19.2 pyparsing-3.2.5 python-dateutil-2.9.0.post0 pytz-2025.2 pyyaml-6.0.3 pyzmq-27.1.0 referencing-0.37.0 rpds-py-0.28.0 scipy-1.16.3 six-1.17.0 soupsieve-2.8 specqp-1.2.0 stack_data-0.6.3 tinycss2-1.4.0 tornado-6.5.2 traitlets-5.14.3 typing-extensions-4.15.0 tzdata-2025.2 uncertainties-3.2.3 wcwidth-0.2.14 webencodings-0.5.1 widgetsnbextension-4.0.15 xraylib-4.2.0
(env) nluetts@fedora:/tmp/polariseval$
As you can see, installing only the polariseval directory as editable works. What also works is installing haxquantpy, specqp and polariseval separately (calling pip install -e . in each directory separately, in the given order, not shown above).
Background info for my system:
Fedora Linux 42.20251031.0 (Sway Atomic)
Python 3.13.9
I tried the installation from the current main branch and the joss_paper branch.
Can you verify this behavior and either fix the dependency declaration or installation instructions?