From 233c59046e88bb565e73b9ca3b1b67d1ab3d379e Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Mon, 11 Aug 2025 11:59:21 +0200 Subject: [PATCH 01/26] Support python 3.13 --- pyproject.toml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3561d7bd..5dfe4ac6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ name = "pyopenms_viz" module = "pyopenms_viz" dist-name = "pyopenms_viz" author = "OpenMS Team" -version = "1.0.0" +version = "1.0.1" author-email = "joshuacharkow@gmail.com" home-page = "https://github.com/OpenMS/pyopenms_viz/" description = "A package for visualizing mass spectrometry data using pandas dataframes" @@ -19,10 +19,12 @@ classifiers = [ "Operating System :: OS Independent", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Chemistry", ] -requires-python = ">=3.10, <=3.13" +requires-python = ">=3.10, <=3.14" dependencies = ["pandas>=0.17"] [project.optional-dependencies] From 0e189f1b8e538c5d09db8d9616152a84965b1e1d Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Mon, 11 Aug 2025 12:00:36 +0200 Subject: [PATCH 02/26] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ee995a3..1c1f1a03 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest] # note mac-latest tests fail due to slight differences in images - python-version: ["3.12"] + python-version: ["3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} From 0e764221478b766e20053ce7966a483a78199c06 Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Mon, 11 Aug 2025 12:01:37 +0200 Subject: [PATCH 03/26] Update static.yml --- .github/workflows/static.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index c6f66363..160956c0 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -38,7 +38,7 @@ jobs: - name: Set up python uses: actions/setup-python@v4 with: - python-version: '3.12' + python-version: '3.13' - name: Install dependencies run: | From 7232408cd32e94308cdfc9abbd42d5f640802dc5 Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Mon, 11 Aug 2025 12:02:26 +0200 Subject: [PATCH 04/26] Update execute_notebooks.yml --- .github/workflows/execute_notebooks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/execute_notebooks.yml b/.github/workflows/execute_notebooks.yml index d1c8dd58..222ddbd0 100644 --- a/.github/workflows/execute_notebooks.yml +++ b/.github/workflows/execute_notebooks.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.12' + python-version: '3.13' cache: 'pip' - name: Install dependencies From 71cf474ded74dd4c5011d06f835cd7796e49d172 Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Mon, 11 Aug 2025 13:12:22 +0200 Subject: [PATCH 05/26] bump versions --- .binder/runtime.txt | 2 +- .readthedocs.yaml | 4 ++-- README.md | 2 +- docs/Installation.rst | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.binder/runtime.txt b/.binder/runtime.txt index d2aca3a7..e912aa62 100644 --- a/.binder/runtime.txt +++ b/.binder/runtime.txt @@ -1 +1 @@ -python-3.12 +python-3.13 diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 2e55bba8..5264026f 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -1,9 +1,9 @@ version: 2 # Set the OS, Python version and other tools you might need build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - python: "3.12" + python: "3.13" # Build documentation in the "docs/" directory with Sphinx sphinx: configuration: docs/conf.py diff --git a/README.md b/README.md index 086ee782..9fdbb95b 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ The recommended way of installing pyopenms_viz is through the Python Package Ind First create a new environemnt: ```bash -conda create --name=pyopenms_viz python=3.12 +conda create --name=pyopenms_viz python=3.13 conda activate pyopenms_viz ``` Then in the new environment install pyopenms_viz. diff --git a/docs/Installation.rst b/docs/Installation.rst index f137ad26..e9e1d25e 100644 --- a/docs/Installation.rst +++ b/docs/Installation.rst @@ -10,7 +10,7 @@ First create a new environment: .. code-block:: bash - conda create --name=pyopenms-viz python=3.12 + conda create --name=pyopenms-viz python=3.13 conda activate pyopenms-viz Then in the new environment install pyOpenMS-viz. From 4345693acc3375d2ccddbd5aa848a180e4388a63 Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Mon, 11 Aug 2025 13:30:55 +0200 Subject: [PATCH 06/26] update requirements --- requirements.txt | 183 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 132 insertions(+), 51 deletions(-) diff --git a/requirements.txt b/requirements.txt index e99ee052..5ccdad75 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.13 # by the following command: # # pip-compile --all-extras --output-file=requirements.txt @@ -8,99 +8,145 @@ accessible-pygments==0.0.5 # via pydata-sphinx-theme alabaster==1.0.0 # via sphinx -attrs==24.3.0 +asttokens==3.0.0 + # via stack-data +attrs==25.3.0 # via # jsonschema # referencing -babel==2.16.0 +babel==2.17.0 # via # pydata-sphinx-theme # sphinx -beautifulsoup4==4.12.3 +beautifulsoup4==4.13.4 # via # nbconvert # pydata-sphinx-theme -bleach==6.2.0 +bleach[css]==6.2.0 # via nbconvert -bokeh==3.6.0 +bokeh==3.7.3 # via pyopenms_viz (pyproject.toml) -certifi==2024.12.14 +cairocffi==1.7.1 + # via cairosvg +cairosvg==2.8.2 + # via pyopenms_viz (pyproject.toml) +certifi==2025.8.3 # via requests -charset-normalizer==3.4.0 +cffi==1.17.1 + # via cairocffi +charset-normalizer==3.4.3 # via requests -contourpy==1.3.0 +comm==0.2.3 + # via ipykernel +contourpy==1.3.3 # via # bokeh # matplotlib +cssselect2==0.8.0 + # via cairosvg cycler==0.12.1 # via matplotlib +debugpy==1.8.16 + # via ipykernel +decorator==5.2.1 + # via ipython defusedxml==0.7.1 - # via nbconvert + # via + # cairosvg + # nbconvert docutils==0.21.2 # via # nbsphinx # pydata-sphinx-theme # sphinx +executing==2.2.0 + # via stack-data fastjsonschema==2.21.1 # via nbformat -fonttools==4.54.1 +fonttools==4.59.0 # via matplotlib idna==3.10 # via requests imagesize==1.4.1 # via sphinx -iniconfig==2.0.0 +iniconfig==2.1.0 # via pytest -jinja2==3.1.4 +ipykernel==6.30.1 + # via pyopenms_viz (pyproject.toml) +ipython==9.4.0 + # via + # ipykernel + # pyopenms_viz (pyproject.toml) +ipython-pygments-lexers==1.1.1 + # via ipython +jedi==0.19.2 + # via ipython +jinja2==3.1.6 # via # bokeh # nbconvert # nbsphinx # sphinx -jsonschema==4.23.0 +jsonschema==4.25.0 # via nbformat -jsonschema-specifications==2024.10.1 +jsonschema-specifications==2025.4.1 # via jsonschema jupyter-client==8.6.3 - # via nbclient -jupyter-core==5.7.2 # via + # ipykernel + # nbclient +jupyter-core==5.8.1 + # via + # ipykernel # jupyter-client # nbclient # nbconvert # nbformat jupyterlab-pygments==0.3.0 # via nbconvert -kiwisolver==1.4.7 +kiwisolver==1.4.9 # via matplotlib markupsafe==3.0.2 # via # jinja2 # nbconvert -matplotlib==3.9.2 +matplotlib==3.10.5 # via pyopenms_viz (pyproject.toml) -mistune==3.1.0 +matplotlib-inline==0.1.7 + # via + # ipykernel + # ipython +mistune==3.1.3 # via nbconvert +narwhals==2.0.1 + # via + # bokeh + # plotly nbclient==0.10.2 # via nbconvert -nbconvert==7.16.4 +nbconvert==7.16.6 # via nbsphinx nbformat==5.10.4 # via # nbclient # nbconvert # nbsphinx -nbsphinx==0.9.6 +nbsphinx==0.9.7 # via pyopenms_viz (pyproject.toml) +nest-asyncio==1.6.0 + # via ipykernel numpy==2.1.2 # via # bokeh # contourpy # matplotlib # pandas -packaging==24.1 + # pymzml + # rdkit +packaging==25.0 # via # bokeh + # ipykernel # matplotlib # nbconvert # plotly @@ -112,28 +158,49 @@ pandas==2.2.3 # pyopenms_viz (pyproject.toml) pandocfilters==1.5.1 # via nbconvert -pillow==11.0.0 +parso==0.8.4 + # via jedi +pexpect==4.9.0 + # via ipython +pillow==11.3.0 # via # bokeh + # cairosvg # matplotlib + # rdkit # sphinx-gallery -platformdirs==4.3.6 +platformdirs==4.3.8 # via jupyter-core -plotly==5.24.1 +plotly==6.2.0 # via pyopenms_viz (pyproject.toml) -pluggy==1.5.0 +pluggy==1.6.0 # via pytest +prompt-toolkit==3.0.51 + # via ipython +psutil==7.0.0 + # via ipykernel +ptyprocess==0.7.0 + # via pexpect +pure-eval==0.2.3 + # via stack-data +pycparser==2.22 + # via cffi pydata-sphinx-theme==0.16.1 # via pyopenms_viz (pyproject.toml) -pygments==2.18.0 +pygments==2.19.2 # via # accessible-pygments + # ipython + # ipython-pygments-lexers # nbconvert # pydata-sphinx-theme + # pytest # sphinx -pyparsing==3.2.0 +pymzml==2.5.11 + # via pyopenms_viz (pyproject.toml) +pyparsing==3.2.3 # via matplotlib -pytest==8.3.3 +pytest==8.4.1 # via # pyopenms_viz (pyproject.toml) # syrupy @@ -146,23 +213,29 @@ pytz==2024.2 # via pandas pyyaml==6.0.2 # via bokeh -pyzmq==26.2.0 - # via jupyter-client -referencing==0.35.1 +pyzmq==27.0.1 + # via + # ipykernel + # jupyter-client +rdkit==2025.3.5 + # via pyopenms_viz (pyproject.toml) +referencing==0.36.2 # via # jsonschema # jsonschema-specifications -requests==2.32.3 +regex==2025.7.34 + # via pymzml +requests==2.32.4 # via sphinx -rpds-py==0.22.3 +rpds-py==0.27.0 # via # jsonschema # referencing six==1.16.0 # via python-dateutil -snowballstemmer==2.2.0 +snowballstemmer==3.0.1 # via sphinx -soupsieve==2.6 +soupsieve==2.7 # via beautifulsoup4 sphinx==8.1.3 # via @@ -173,7 +246,7 @@ sphinx==8.1.3 # sphinx-gallery sphinx-copybutton==0.5.2 # via pyopenms_viz (pyproject.toml) -sphinx-gallery==0.18.0 +sphinx-gallery==0.19.0 # via pyopenms_viz (pyproject.toml) sphinxcontrib-applehelp==2.0.0 # via sphinx @@ -187,37 +260,45 @@ sphinxcontrib-qthelp==2.0.0 # via sphinx sphinxcontrib-serializinghtml==2.0.0 # via sphinx -syrupy==4.7.2 +stack-data==0.6.3 + # via ipython +syrupy==4.9.1 # via pyopenms_viz (pyproject.toml) -tenacity==9.0.0 - # via plotly tinycss2==1.4.0 - # via nbconvert -tornado==6.4.2 + # via + # bleach + # cairosvg + # cssselect2 +tornado==6.5.2 # via # bokeh + # ipykernel # jupyter-client traitlets==5.14.3 # via + # ipykernel + # ipython # jupyter-client # jupyter-core + # matplotlib-inline # nbclient # nbconvert # nbformat # nbsphinx -typing-extensions==4.12.2 - # via pydata-sphinx-theme +typing-extensions==4.14.1 + # via + # beautifulsoup4 + # pydata-sphinx-theme tzdata==2024.2 # via pandas -urllib3==2.2.3 +urllib3==2.5.0 # via requests +wcwidth==0.2.13 + # via prompt-toolkit webencodings==0.5.1 # via # bleach + # cssselect2 # tinycss2 -xyzservices==2024.9.0 +xyzservices==2025.4.0 # via bokeh - -# pyopenms-viz -git+https://github.com/OpenMS/pyopenms_viz.git - From c9fe99610b56351a05cdc93de3e18a712866a07f Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Mon, 11 Aug 2025 13:34:15 +0200 Subject: [PATCH 07/26] Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1c1f1a03..8a856acc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest] # note mac-latest tests fail due to slight differences in images - python-version: ["3.11", "3.12", "3.13"] + python-version: ["3.12", "3.13"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} From 0090e516c1c408e6f3ed3aec00e2079f924d7ed3 Mon Sep 17 00:00:00 2001 From: Samuel Wein Date: Mon, 3 Nov 2025 11:34:04 +0100 Subject: [PATCH 08/26] update snapshots for new bokeh --- ...t_chromatogram_plot[ms_bokeh-kwargs0].html | 12 +- ...t_chromatogram_plot[ms_bokeh-kwargs1].html | 12 +- ...t_chromatogram_plot[ms_bokeh-kwargs2].html | 12 +- ...t_chromatogram_plot[ms_bokeh-kwargs3].html | 12 +- ...t_chromatogram_plot[ms_bokeh-kwargs4].html | 12 +- ...romatogram_plot[ms_matplotlib-kwargs0].png | Bin 36924 -> 37192 bytes ...romatogram_plot[ms_matplotlib-kwargs3].png | Bin 35913 -> 36189 bytes ...romatogram_plot[ms_matplotlib-kwargs4].png | Bin 34876 -> 35143 bytes ..._chromatogram_plot[ms_plotly-kwargs0].json | 2892 +- ..._chromatogram_plot[ms_plotly-kwargs1].json | 1254 +- ..._chromatogram_plot[ms_plotly-kwargs2].json | 1254 +- ..._chromatogram_plot[ms_plotly-kwargs3].json | 2892 +- ..._chromatogram_plot[ms_plotly-kwargs4].json | 2892 +- ...ram_with_annotation[ms_bokeh-kwargs0].html | 12 +- ...am_with_annotation[ms_plotly-kwargs0].json | 1254 +- ...est_mobilogram_plot[ms_bokeh-kwargs0].html | 12 +- ...est_mobilogram_plot[ms_bokeh-kwargs1].html | 12 +- ...est_mobilogram_plot[ms_bokeh-kwargs2].html | 12 +- ...est_mobilogram_plot[ms_bokeh-kwargs3].html | 12 +- ...mobilogram_plot[ms_matplotlib-kwargs0].png | Bin 21631 -> 21548 bytes ...mobilogram_plot[ms_matplotlib-kwargs3].png | Bin 20723 -> 20633 bytes ...st_mobilogram_plot[ms_plotly-kwargs0].json | 45940 ++++++---------- ...st_mobilogram_plot[ms_plotly-kwargs1].json | 13782 +---- ...st_mobilogram_plot[ms_plotly-kwargs2].json | 13782 +---- ...st_mobilogram_plot[ms_plotly-kwargs3].json | 45940 ++++++---------- .../test_peakmap_mz_im[ms_bokeh].html | 12 +- .../test_peakmap_mz_im[ms_plotly].json | 2294 +- .../test_peakmap_plot[ms_bokeh-kwargs0].html | 12 +- .../test_peakmap_plot[ms_bokeh-kwargs1].html | 12 +- .../test_peakmap_plot[ms_bokeh-kwargs2].html | 12 +- .../test_peakmap_plot[ms_bokeh-kwargs3].html | 12 +- .../test_peakmap_plot[ms_bokeh-kwargs4].html | 12 +- .../test_peakmap_plot[ms_plotly-kwargs0].json | 1601 +- .../test_peakmap_plot[ms_plotly-kwargs1].json | 694 +- .../test_peakmap_plot[ms_plotly-kwargs2].json | 610 +- .../test_peakmap_plot[ms_plotly-kwargs3].json | 694 +- .../test_peakmap_plot[ms_plotly-kwargs4].json | 13782 +---- .../test_peakmap_plot[ms_plotly-kwargs0].json | 64 +- .../test_peakmap_plot[ms_plotly-kwargs1].json | 64 +- .../test_peakmap_plot[ms_plotly-kwargs2].json | 64 +- .../test_peakmap_marginals[ms_bokeh].html | 12 +- .../test_peakmap_marginals[ms_plotly].json | 1627 +- .../test_peakmap_mz_im[ms_bokeh].html | 12 +- .../test_peakmap_mz_im[ms_plotly].json | 9409 +--- .../test_mirror_spectrum[ms_bokeh].html | 12 +- .../test_mirror_spectrum[ms_plotly].json | 196 +- ...st_spectrum_binning[ms_bokeh-kwargs0].html | 12 +- ...st_spectrum_binning[ms_bokeh-kwargs1].html | 12 +- ...st_spectrum_binning[ms_bokeh-kwargs2].html | 12 +- ...st_spectrum_binning[ms_bokeh-kwargs3].html | 12 +- ...st_spectrum_binning[ms_bokeh-kwargs4].html | 12 +- ...t_spectrum_binning[ms_plotly-kwargs0].json | 130 +- ...t_spectrum_binning[ms_plotly-kwargs1].json | 112 +- ...t_spectrum_binning[ms_plotly-kwargs2].json | 100 +- ...t_spectrum_binning[ms_plotly-kwargs3].json | 88 +- ...t_spectrum_binning[ms_plotly-kwargs4].json | 106 +- .../test_spectrum_plot[ms_bokeh-kwargs0].html | 12 +- .../test_spectrum_plot[ms_bokeh-kwargs1].html | 12 +- .../test_spectrum_plot[ms_bokeh-kwargs2].html | 12 +- .../test_spectrum_plot[ms_bokeh-kwargs3].html | 12 +- ...test_spectrum_plot[ms_plotly-kwargs0].json | 130 +- ...test_spectrum_plot[ms_plotly-kwargs1].json | 154 +- ...test_spectrum_plot[ms_plotly-kwargs2].json | 166 +- ...test_spectrum_plot[ms_plotly-kwargs3].json | 130 +- ...lot_with_peak_color[ms_bokeh-kwargs0].html | 12 +- ...lot_with_peak_color[ms_bokeh-kwargs1].html | 12 +- ...ot_with_peak_color[ms_plotly-kwargs0].json | 178 +- ...ot_with_peak_color[ms_plotly-kwargs1].json | 178 +- ...um_with_annotations[ms_bokeh-kwargs0].html | 12 +- ...um_with_annotations[ms_bokeh-kwargs1].html | 12 +- ...um_with_annotations[ms_bokeh-kwargs2].html | 12 +- ...m_with_annotations[ms_plotly-kwargs0].json | 190 +- ...m_with_annotations[ms_plotly-kwargs1].json | 130 +- ...m_with_annotations[ms_plotly-kwargs2].json | 190 +- 74 files changed, 37782 insertions(+), 127577 deletions(-) diff --git a/test/__snapshots__/test_chromatogram/test_chromatogram_plot[ms_bokeh-kwargs0].html b/test/__snapshots__/test_chromatogram/test_chromatogram_plot[ms_bokeh-kwargs0].html index 6e92a845..cbd57398 100644 --- a/test/__snapshots__/test_chromatogram/test_chromatogram_plot[ms_bokeh-kwargs0].html +++ b/test/__snapshots__/test_chromatogram/test_chromatogram_plot[ms_bokeh-kwargs0].html @@ -12,16 +12,16 @@ padding: 0; } - + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- + -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
- -
+
-