From 149687cd2200a90dd290f93c4bdcb3d2708694de Mon Sep 17 00:00:00 2001 From: rodvrees Date: Thu, 11 Dec 2025 16:10:26 +0100 Subject: [PATCH 1/7] update im2deep version, fix docstring --- ms2rescore/feature_generators/im2deep.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ms2rescore/feature_generators/im2deep.py b/ms2rescore/feature_generators/im2deep.py index fbe3abb..3ddbaff 100644 --- a/ms2rescore/feature_generators/im2deep.py +++ b/ms2rescore/feature_generators/im2deep.py @@ -150,7 +150,7 @@ def make_calibration_df(psm_list_df: pd.DataFrame, threshold: float = 0.25) -> p DataFrame with PSMs. threshold Percentage of highest scoring identified target PSMs to use for calibration, - default 0.95. + default 0.25. Returns ------- diff --git a/pyproject.toml b/pyproject.toml index 2ccdec2..9d32add 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ dependencies = [ "customtkinter>=5,<6", "deeplc>=3.1", "deeplcretrainer", - "im2deep>=0.3.1", + "im2deep==1.1.1", "jinja2>=3", "lxml>=4.5", "mokapot==0.10", # 0.11.0 will introduce API changes From 8ed3eefaacbe5e1f10c75c501bced03090892efc Mon Sep 17 00:00:00 2001 From: RalfG Date: Mon, 15 Dec 2025 10:44:45 +0100 Subject: [PATCH 2/7] Test pinned dependencies for pyinstaller through dependency group --- .github/workflows/test.yml | 13 +++++-------- pyproject.toml | 13 +++++++++++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7ba1cf7..bbb3711 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -45,21 +45,18 @@ jobs: run: uv run ms2rescore --help test-windows-installer: - # Only run on push to main (e.g., after PR merge) - if: ${{ github.ref == 'refs/heads/main' }} runs-on: windows-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - name: Install uv + uses: astral-sh/setup-uv@v6 with: - python-version: "3.12" + python-version: "3.11" + enable-cache: true - name: Install package and dependencies - run: | - # Using pip to ensure proper environment discovery by PyInstaller - python -m pip install --upgrade pip - pip install --only-binary :all: .[ionmob,idxml] pyinstaller + run: uv pip install --group installer . - name: Install Inno Setup uses: crazy-max/ghaction-chocolatey@v1 diff --git a/pyproject.toml b/pyproject.toml index 9d32add..380982b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,6 +19,7 @@ authors = [ { name = "Ralf Gabriels", email = "ralf@gabriels.dev" }, { name = "Arthur Declercq", email = "arthur.declercq@ugent.be" }, { name = "Ana Sílvia C. Silva" }, + { name = "Robbe Devreese" }, { name = "Robbin Bouwmeester" }, { name = "Louise Buur" }, ] @@ -37,12 +38,12 @@ dependencies = [ "customtkinter>=5,<6", "deeplc>=3.1", "deeplcretrainer", - "im2deep==1.1.1", + "im2deep>=1.1", "jinja2>=3", "lxml>=4.5", "mokapot==0.10", # 0.11.0 will introduce API changes "ms2pip>=4.0.0", - "ms2rescore_rs>=0.4.3", + "ms2rescore_rs>=0.4", "numpy>=1.25", "packaging>=25.0", "pandas>=1", @@ -71,6 +72,14 @@ docs = [ "sphinx-autobuild", "toml", ] +installer = [ + # Pinned dependencies for reproducible Windows installer builds + "pyinstaller", + "pyopenms==3.3", + "ionmob>=0.2", + "tensorflow", + "im2deep==1.1.1", +] [project.urls] GitHub = "https://github.com/compomics/ms2rescore" From 6279ab4227877ed43ea52e755370fe9ec2feca25 Mon Sep 17 00:00:00 2001 From: RalfG Date: Mon, 15 Dec 2025 10:47:53 +0100 Subject: [PATCH 3/7] Try with `uv sync` --- .github/workflows/test.yml | 50 +++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bbb3711..57a0fe8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,30 +19,30 @@ jobs: - name: Run Ruff run: uvx ruff check --output-format=github . - test-python-package: - needs: check-python-package - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] - steps: - - uses: actions/checkout@v4 - - - name: Install uv and set the Python version - uses: astral-sh/setup-uv@v6 - with: - python-version: ${{ matrix.python-version }} - enable-cache: true - - - name: Install the project - run: uv sync --all-extras --dev - - - name: Run tests - run: uv run pytest - - - name: Test installation - run: uv run ms2rescore --help + # test-python-package: + # needs: check-python-package + # runs-on: ubuntu-latest + # strategy: + # fail-fast: false + # matrix: + # python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + # steps: + # - uses: actions/checkout@v4 + + # - name: Install uv and set the Python version + # uses: astral-sh/setup-uv@v6 + # with: + # python-version: ${{ matrix.python-version }} + # enable-cache: true + + # - name: Install the project + # run: uv sync --all-extras --dev + + # - name: Run tests + # run: uv run pytest + + # - name: Test installation + # run: uv run ms2rescore --help test-windows-installer: runs-on: windows-latest @@ -56,7 +56,7 @@ jobs: enable-cache: true - name: Install package and dependencies - run: uv pip install --group installer . + run: uv sync --group installer - name: Install Inno Setup uses: crazy-max/ghaction-chocolatey@v1 From 1b147f95697cc6281687a318d22b1ed0843a3dd3 Mon Sep 17 00:00:00 2001 From: RalfG Date: Mon, 15 Dec 2025 10:50:12 +0100 Subject: [PATCH 4/7] Another actions test --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 57a0fe8..d1ebf9a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -64,7 +64,7 @@ jobs: args: install innosetup -y --allow-unofficial --force - name: Run pyinstaller - run: pyinstaller ./ms2rescore.spec --clean --noconfirm + run: uv run pyinstaller ./ms2rescore.spec --clean --noconfirm - name: Test built exe run: dist/ms2rescore/ms2rescore.exe From c3ea4cfa118f20319e58034e0e6919862ec00680 Mon Sep 17 00:00:00 2001 From: RalfG Date: Mon, 15 Dec 2025 10:58:23 +0100 Subject: [PATCH 5/7] Handle exceptions during package collection and log warnings for failures --- ms2rescore.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ms2rescore.spec b/ms2rescore.spec index 15bdb68..4ab7e37 100644 --- a/ms2rescore.spec +++ b/ms2rescore.spec @@ -46,7 +46,9 @@ while requirements: module_version = importlib.metadata.version(re.match(r"^[\w\-]+", requirement)[0]) try: datas_, binaries_, hidden_imports_ = collect_all(requirement, include_py_files=True) - except ImportError: + except (ImportError, RuntimeError) as e: + # Skip packages that fail to collect (e.g., xgboost.testing requires hypothesis) + print(f"Warning: Failed to collect {requirement}: {e}") continue datas += datas_ hidden_imports_ = set(hidden_imports_) From 2f42f9c50c00ea15cb74fba9baa1a7d1e9043704 Mon Sep 17 00:00:00 2001 From: RalfG Date: Mon, 15 Dec 2025 11:06:14 +0100 Subject: [PATCH 6/7] Another actions test --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d1ebf9a..9d7b396 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -61,7 +61,7 @@ jobs: - name: Install Inno Setup uses: crazy-max/ghaction-chocolatey@v1 with: - args: install innosetup -y --allow-unofficial --force + args: install innosetup -y --allow-unofficial - name: Run pyinstaller run: uv run pyinstaller ./ms2rescore.spec --clean --noconfirm @@ -70,7 +70,7 @@ jobs: run: dist/ms2rescore/ms2rescore.exe - name: Run Inno Setup - run: ISCC.exe ./ms2rescore_innosetup.iss /DAppVersion=${{ github.ref_name }} + run: ISCC.exe ./ms2rescore_innosetup.iss /DAppVersion=test-build - name: Upload artifact uses: actions/upload-artifact@v4 From d1c8362762b487e2d5be98a221dc42a6a0c02cf3 Mon Sep 17 00:00:00 2001 From: RalfG Date: Mon, 15 Dec 2025 18:02:28 +0100 Subject: [PATCH 7/7] Propagate working uv install for windows-installer to publish workflow; re-enable jobs that were disabled for testing --- .github/workflows/publish.yml | 13 ++- .github/workflows/test.yml | 48 +++++------ uv.lock | 145 ++++++++++++++++++++++++++++------ 3 files changed, 153 insertions(+), 53 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2e7503e..adf552e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -44,23 +44,22 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - name: Install uv + uses: astral-sh/setup-uv@v6 with: python-version: "3.11" + enable-cache: true - name: Install package and dependencies - run: | - # Using pip to ensure proper environment discovery by PyInstaller - python -m pip install --upgrade pip - pip install --only-binary :all: .[ionmob] pyinstaller + run: uv sync --group installer - name: Install Inno Setup uses: crazy-max/ghaction-chocolatey@v3 with: - args: install innosetup -y --allow-unofficial --force + args: install innosetup -y --allow-unofficial - name: Run pyinstaller - run: pyinstaller ./ms2rescore.spec --clean --noconfirm + run: uv run pyinstaller ./ms2rescore.spec --clean --noconfirm - name: Test built exe run: dist/ms2rescore/ms2rescore.exe diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9d7b396..bf3083f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,30 +19,30 @@ jobs: - name: Run Ruff run: uvx ruff check --output-format=github . - # test-python-package: - # needs: check-python-package - # runs-on: ubuntu-latest - # strategy: - # fail-fast: false - # matrix: - # python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] - # steps: - # - uses: actions/checkout@v4 - - # - name: Install uv and set the Python version - # uses: astral-sh/setup-uv@v6 - # with: - # python-version: ${{ matrix.python-version }} - # enable-cache: true - - # - name: Install the project - # run: uv sync --all-extras --dev - - # - name: Run tests - # run: uv run pytest - - # - name: Test installation - # run: uv run ms2rescore --help + test-python-package: + needs: check-python-package + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + steps: + - uses: actions/checkout@v4 + + - name: Install uv and set the Python version + uses: astral-sh/setup-uv@v6 + with: + python-version: ${{ matrix.python-version }} + enable-cache: true + + - name: Install the project + run: uv sync --all-extras --dev + + - name: Run tests + run: uv run pytest + + - name: Test installation + run: uv run ms2rescore --help test-windows-installer: runs-on: windows-latest diff --git a/uv.lock b/uv.lock index 3d2eaa8..11aebc1 100644 --- a/uv.lock +++ b/uv.lock @@ -26,6 +26,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7e/b3/6b4067be973ae96ba0d615946e314c5ae35f9f993eca561b356540bb0c2b/alabaster-1.0.0-py3-none-any.whl", hash = "sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b", size = 13929, upload-time = "2024-07-26T18:15:02.05Z" }, ] +[[package]] +name = "altgraph" +version = "0.17.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/f8/97fdf103f38fed6792a1601dbc16cc8aac56e7459a9fff08c812d8ae177a/altgraph-0.17.5.tar.gz", hash = "sha256:c87b395dd12fabde9c99573a9749d67da8d29ef9de0125c7f536699b4a9bc9e7", size = 48428, upload-time = "2025-11-21T20:35:50.583Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/ba/000a1996d4308bc65120167c21241a3b205464a2e0b58deda26ae8ac21d1/altgraph-0.17.5-py2.py3-none-any.whl", hash = "sha256:f3a22400bce1b0c701683820ac4f3b159cd301acab067c51c653e06961600597", size = 21228, upload-time = "2025-11-21T20:35:49.444Z" }, +] + [[package]] name = "annotated-types" version = "0.7.0" @@ -888,6 +897,8 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7f/91/ae2eb6b7979e2f9b035a9f612cf70f1bf54aad4e1d125129bef1eae96f19/greenlet-3.2.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c2ca18a03a8cfb5b25bc1cbe20f3d9a4c80d8c3b13ba3df49ac3961af0b1018d", size = 584358, upload-time = "2025-08-07T13:18:23.708Z" }, { url = "https://files.pythonhosted.org/packages/f7/85/433de0c9c0252b22b16d413c9407e6cb3b41df7389afc366ca204dbc1393/greenlet-3.2.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9fe0a28a7b952a21e2c062cd5756d34354117796c6d9215a87f55e38d15402c5", size = 1113550, upload-time = "2025-08-07T13:42:37.467Z" }, { url = "https://files.pythonhosted.org/packages/a1/8d/88f3ebd2bc96bf7747093696f4335a0a8a4c5acfcf1b757717c0d2474ba3/greenlet-3.2.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8854167e06950ca75b898b104b63cc646573aa5fef1353d4508ecdd1ee76254f", size = 1137126, upload-time = "2025-08-07T13:18:20.239Z" }, + { url = "https://files.pythonhosted.org/packages/f1/29/74242b7d72385e29bcc5563fba67dad94943d7cd03552bac320d597f29b2/greenlet-3.2.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f47617f698838ba98f4ff4189aef02e7343952df3a615f847bb575c3feb177a7", size = 1544904, upload-time = "2025-11-04T12:42:04.763Z" }, + { url = "https://files.pythonhosted.org/packages/c8/e2/1572b8eeab0f77df5f6729d6ab6b141e4a84ee8eb9bc8c1e7918f94eda6d/greenlet-3.2.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:af41be48a4f60429d5cad9d22175217805098a9ef7c40bfef44f7669fb9d74d8", size = 1611228, upload-time = "2025-11-04T12:42:08.423Z" }, { url = "https://files.pythonhosted.org/packages/d6/6f/b60b0291d9623c496638c582297ead61f43c4b72eef5e9c926ef4565ec13/greenlet-3.2.4-cp310-cp310-win_amd64.whl", hash = "sha256:73f49b5368b5359d04e18d15828eecc1806033db5233397748f4ca813ff1056c", size = 298654, upload-time = "2025-08-07T13:50:00.469Z" }, { url = "https://files.pythonhosted.org/packages/a4/de/f28ced0a67749cac23fecb02b694f6473f47686dff6afaa211d186e2ef9c/greenlet-3.2.4-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:96378df1de302bc38e99c3a9aa311967b7dc80ced1dcc6f171e99842987882a2", size = 272305, upload-time = "2025-08-07T13:15:41.288Z" }, { url = "https://files.pythonhosted.org/packages/09/16/2c3792cba130000bf2a31c5272999113f4764fd9d874fb257ff588ac779a/greenlet-3.2.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1ee8fae0519a337f2329cb78bd7a8e128ec0f881073d43f023c7b8d4831d5246", size = 632472, upload-time = "2025-08-07T13:42:55.044Z" }, @@ -897,6 +908,8 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1f/8e/abdd3f14d735b2929290a018ecf133c901be4874b858dd1c604b9319f064/greenlet-3.2.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2523e5246274f54fdadbce8494458a2ebdcdbc7b802318466ac5606d3cded1f8", size = 587684, upload-time = "2025-08-07T13:18:25.164Z" }, { url = "https://files.pythonhosted.org/packages/5d/65/deb2a69c3e5996439b0176f6651e0052542bb6c8f8ec2e3fba97c9768805/greenlet-3.2.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1987de92fec508535687fb807a5cea1560f6196285a4cde35c100b8cd632cc52", size = 1116647, upload-time = "2025-08-07T13:42:38.655Z" }, { url = "https://files.pythonhosted.org/packages/3f/cc/b07000438a29ac5cfb2194bfc128151d52f333cee74dd7dfe3fb733fc16c/greenlet-3.2.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:55e9c5affaa6775e2c6b67659f3a71684de4c549b3dd9afca3bc773533d284fa", size = 1142073, upload-time = "2025-08-07T13:18:21.737Z" }, + { url = "https://files.pythonhosted.org/packages/67/24/28a5b2fa42d12b3d7e5614145f0bd89714c34c08be6aabe39c14dd52db34/greenlet-3.2.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c9c6de1940a7d828635fbd254d69db79e54619f165ee7ce32fda763a9cb6a58c", size = 1548385, upload-time = "2025-11-04T12:42:11.067Z" }, + { url = "https://files.pythonhosted.org/packages/6a/05/03f2f0bdd0b0ff9a4f7b99333d57b53a7709c27723ec8123056b084e69cd/greenlet-3.2.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03c5136e7be905045160b1b9fdca93dd6727b180feeafda6818e6496434ed8c5", size = 1613329, upload-time = "2025-11-04T12:42:12.928Z" }, { url = "https://files.pythonhosted.org/packages/d8/0f/30aef242fcab550b0b3520b8e3561156857c94288f0332a79928c31a52cf/greenlet-3.2.4-cp311-cp311-win_amd64.whl", hash = "sha256:9c40adce87eaa9ddb593ccb0fa6a07caf34015a29bf8d344811665b573138db9", size = 299100, upload-time = "2025-08-07T13:44:12.287Z" }, { url = "https://files.pythonhosted.org/packages/44/69/9b804adb5fd0671f367781560eb5eb586c4d495277c93bde4307b9e28068/greenlet-3.2.4-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3b67ca49f54cede0186854a008109d6ee71f66bd57bb36abd6d0a0267b540cdd", size = 274079, upload-time = "2025-08-07T13:15:45.033Z" }, { url = "https://files.pythonhosted.org/packages/46/e9/d2a80c99f19a153eff70bc451ab78615583b8dac0754cfb942223d2c1a0d/greenlet-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ddf9164e7a5b08e9d22511526865780a576f19ddd00d62f8a665949327fde8bb", size = 640997, upload-time = "2025-08-07T13:42:56.234Z" }, @@ -906,6 +919,8 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/19/0d/6660d55f7373b2ff8152401a83e02084956da23ae58cddbfb0b330978fe9/greenlet-3.2.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b3812d8d0c9579967815af437d96623f45c0f2ae5f04e366de62a12d83a8fb0", size = 607586, upload-time = "2025-08-07T13:18:28.544Z" }, { url = "https://files.pythonhosted.org/packages/8e/1a/c953fdedd22d81ee4629afbb38d2f9d71e37d23caace44775a3a969147d4/greenlet-3.2.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:abbf57b5a870d30c4675928c37278493044d7c14378350b3aa5d484fa65575f0", size = 1123281, upload-time = "2025-08-07T13:42:39.858Z" }, { url = "https://files.pythonhosted.org/packages/3f/c7/12381b18e21aef2c6bd3a636da1088b888b97b7a0362fac2e4de92405f97/greenlet-3.2.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:20fb936b4652b6e307b8f347665e2c615540d4b42b3b4c8a321d8286da7e520f", size = 1151142, upload-time = "2025-08-07T13:18:22.981Z" }, + { url = "https://files.pythonhosted.org/packages/27/45/80935968b53cfd3f33cf99ea5f08227f2646e044568c9b1555b58ffd61c2/greenlet-3.2.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ee7a6ec486883397d70eec05059353b8e83eca9168b9f3f9a361971e77e0bcd0", size = 1564846, upload-time = "2025-11-04T12:42:15.191Z" }, + { url = "https://files.pythonhosted.org/packages/69/02/b7c30e5e04752cb4db6202a3858b149c0710e5453b71a3b2aec5d78a1aab/greenlet-3.2.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:326d234cbf337c9c3def0676412eb7040a35a768efc92504b947b3e9cfc7543d", size = 1633814, upload-time = "2025-11-04T12:42:17.175Z" }, { url = "https://files.pythonhosted.org/packages/e9/08/b0814846b79399e585f974bbeebf5580fbe59e258ea7be64d9dfb253c84f/greenlet-3.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:a7d4e128405eea3814a12cc2605e0e6aedb4035bf32697f72deca74de4105e02", size = 299899, upload-time = "2025-08-07T13:38:53.448Z" }, { url = "https://files.pythonhosted.org/packages/49/e8/58c7f85958bda41dafea50497cbd59738c5c43dbbea5ee83d651234398f4/greenlet-3.2.4-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:1a921e542453fe531144e91e1feedf12e07351b1cf6c9e8a3325ea600a715a31", size = 272814, upload-time = "2025-08-07T13:15:50.011Z" }, { url = "https://files.pythonhosted.org/packages/62/dd/b9f59862e9e257a16e4e610480cfffd29e3fae018a68c2332090b53aac3d/greenlet-3.2.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd3c8e693bff0fff6ba55f140bf390fa92c994083f838fece0f63be121334945", size = 641073, upload-time = "2025-08-07T13:42:57.23Z" }, @@ -915,6 +930,8 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ee/43/3cecdc0349359e1a527cbf2e3e28e5f8f06d3343aaf82ca13437a9aa290f/greenlet-3.2.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23768528f2911bcd7e475210822ffb5254ed10d71f4028387e5a99b4c6699671", size = 610497, upload-time = "2025-08-07T13:18:31.636Z" }, { url = "https://files.pythonhosted.org/packages/b8/19/06b6cf5d604e2c382a6f31cafafd6f33d5dea706f4db7bdab184bad2b21d/greenlet-3.2.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:00fadb3fedccc447f517ee0d3fd8fe49eae949e1cd0f6a611818f4f6fb7dc83b", size = 1121662, upload-time = "2025-08-07T13:42:41.117Z" }, { url = "https://files.pythonhosted.org/packages/a2/15/0d5e4e1a66fab130d98168fe984c509249c833c1a3c16806b90f253ce7b9/greenlet-3.2.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d25c5091190f2dc0eaa3f950252122edbbadbb682aa7b1ef2f8af0f8c0afefae", size = 1149210, upload-time = "2025-08-07T13:18:24.072Z" }, + { url = "https://files.pythonhosted.org/packages/1c/53/f9c440463b3057485b8594d7a638bed53ba531165ef0ca0e6c364b5cc807/greenlet-3.2.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e343822feb58ac4d0a1211bd9399de2b3a04963ddeec21530fc426cc121f19b", size = 1564759, upload-time = "2025-11-04T12:42:19.395Z" }, + { url = "https://files.pythonhosted.org/packages/47/e4/3bb4240abdd0a8d23f4f88adec746a3099f0d86bfedb623f063b2e3b4df0/greenlet-3.2.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca7f6f1f2649b89ce02f6f229d7c19f680a6238af656f61e0115b24857917929", size = 1634288, upload-time = "2025-11-04T12:42:21.174Z" }, { url = "https://files.pythonhosted.org/packages/0b/55/2321e43595e6801e105fcfdee02b34c0f996eb71e6ddffca6b10b7e1d771/greenlet-3.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:554b03b6e73aaabec3745364d6239e9e012d64c68ccd0b8430c64ccc14939a8b", size = 299685, upload-time = "2025-08-07T13:24:38.824Z" }, { url = "https://files.pythonhosted.org/packages/22/5c/85273fd7cc388285632b0498dbbab97596e04b154933dfe0f3e68156c68c/greenlet-3.2.4-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:49a30d5fda2507ae77be16479bdb62a660fa51b1eb4928b524975b3bde77b3c0", size = 273586, upload-time = "2025-08-07T13:16:08.004Z" }, { url = "https://files.pythonhosted.org/packages/d1/75/10aeeaa3da9332c2e761e4c50d4c3556c21113ee3f0afa2cf5769946f7a3/greenlet-3.2.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:299fd615cd8fc86267b47597123e3f43ad79c9d8a22bebdce535e53550763e2f", size = 686346, upload-time = "2025-08-07T13:42:59.944Z" }, @@ -922,6 +939,8 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/dc/8b/29aae55436521f1d6f8ff4e12fb676f3400de7fcf27fccd1d4d17fd8fecd/greenlet-3.2.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b4a1870c51720687af7fa3e7cda6d08d801dae660f75a76f3845b642b4da6ee1", size = 694659, upload-time = "2025-08-07T13:53:17.759Z" }, { url = "https://files.pythonhosted.org/packages/92/2e/ea25914b1ebfde93b6fc4ff46d6864564fba59024e928bdc7de475affc25/greenlet-3.2.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:061dc4cf2c34852b052a8620d40f36324554bc192be474b9e9770e8c042fd735", size = 695355, upload-time = "2025-08-07T13:18:34.517Z" }, { url = "https://files.pythonhosted.org/packages/72/60/fc56c62046ec17f6b0d3060564562c64c862948c9d4bc8aa807cf5bd74f4/greenlet-3.2.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:44358b9bf66c8576a9f57a590d5f5d6e72fa4228b763d0e43fee6d3b06d3a337", size = 657512, upload-time = "2025-08-07T13:18:33.969Z" }, + { url = "https://files.pythonhosted.org/packages/23/6e/74407aed965a4ab6ddd93a7ded3180b730d281c77b765788419484cdfeef/greenlet-3.2.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2917bdf657f5859fbf3386b12d68ede4cf1f04c90c3a6bc1f013dd68a22e2269", size = 1612508, upload-time = "2025-11-04T12:42:23.427Z" }, + { url = "https://files.pythonhosted.org/packages/0d/da/343cd760ab2f92bac1845ca07ee3faea9fe52bee65f7bcb19f16ad7de08b/greenlet-3.2.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:015d48959d4add5d6c9f6c5210ee3803a830dce46356e3bc326d6776bde54681", size = 1680760, upload-time = "2025-11-04T12:42:25.341Z" }, { url = "https://files.pythonhosted.org/packages/e3/a5/6ddab2b4c112be95601c13428db1d8b6608a8b6039816f2ba09c346c08fc/greenlet-3.2.4-cp314-cp314-win_amd64.whl", hash = "sha256:e37ab26028f12dbb0ff65f29a8d3d44a765c61e729647bf2ddfbbed621726f01", size = 303425, upload-time = "2025-08-07T13:32:27.59Z" }, ] @@ -1046,7 +1065,7 @@ wheels = [ [[package]] name = "im2deep" -version = "1.1.0" +version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, @@ -1057,9 +1076,9 @@ dependencies = [ { name = "psm-utils" }, { name = "rich" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/83/6a/041ea92b9793fa589340798429a61fdfab9401514927af8c78d9c78f5662/im2deep-1.1.0.tar.gz", hash = "sha256:f2f1d6d148766de4aca2c24309ada3b1875eb4dfb648831d89eaecdbccd9df4d", size = 93416096, upload-time = "2025-08-08T14:26:18.556Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3e/50/761444a70b69cd9c88eca2a90e67d3e80529888117337ee1fdd9af5928d5/im2deep-1.1.1.tar.gz", hash = "sha256:7de7e9863bd5079fb8409211e81870902a95efe791bfdee7f1e68e2cbfa20782", size = 93416104, upload-time = "2025-12-11T15:08:27.189Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/b9/95d1f2606120fce02b0f19253e8e9fa270e3266b50cf39ac2943dc1a111a/im2deep-1.1.0-py3-none-any.whl", hash = "sha256:52afa9e3c0f581e732fe98be8a359c92ad8c743ff64724505c7116e7b92465fc", size = 93417374, upload-time = "2025-08-08T14:26:13.442Z" }, + { url = "https://files.pythonhosted.org/packages/be/27/f5496a9b972e1e66f5a821bf81ea32a8f759c09867e2996271a9dd7f8341/im2deep-1.1.1-py3-none-any.whl", hash = "sha256:20d5e26a07a38693c51a8dd2f646e4a1be335310364c62d17df71c5f68f7a0d5", size = 93417579, upload-time = "2025-12-11T15:08:21.989Z" }, ] [[package]] @@ -1509,6 +1528,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6c/77/d7f491cbc05303ac6801651aabeb262d43f319288c1ea96c66b1d2692ff3/lxml-6.0.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:27220da5be049e936c3aca06f174e8827ca6445a4353a1995584311487fc4e3e", size = 3518768, upload-time = "2025-09-22T04:04:57.097Z" }, ] +[[package]] +name = "macholib" +version = "1.16.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "altgraph" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/10/2f/97589876ea967487978071c9042518d28b958d87b17dceb7cdc1d881f963/macholib-1.16.4.tar.gz", hash = "sha256:f408c93ab2e995cd2c46e34fe328b130404be143469e41bc366c807448979362", size = 59427, upload-time = "2025-11-22T08:28:38.373Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/d1/a9f36f8ecdf0fb7c9b1e78c8d7af12b8c8754e74851ac7b94a8305540fc7/macholib-1.16.4-py2.py3-none-any.whl", hash = "sha256:da1a3fa8266e30f0ce7e97c6a54eefaae8edd1e5f86f3eb8b95457cae90265ea", size = 38117, upload-time = "2025-11-22T08:28:36.939Z" }, +] + [[package]] name = "markdown" version = "3.9" @@ -1912,6 +1943,14 @@ docs = [ { name = "sphinx-rtd-theme" }, { name = "toml" }, ] +installer = [ + { name = "im2deep" }, + { name = "ionmob" }, + { name = "pyinstaller" }, + { name = "pyopenms" }, + { name = "tensorflow", version = "2.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" }, + { name = "tensorflow", version = "2.20.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" }, +] [package.metadata] requires-dist = [ @@ -1920,13 +1959,13 @@ requires-dist = [ { name = "customtkinter", specifier = ">=5,<6" }, { name = "deeplc", specifier = ">=3.1" }, { name = "deeplcretrainer" }, - { name = "im2deep", specifier = ">=0.3.1" }, + { name = "im2deep", specifier = ">=1.1" }, { name = "ionmob", marker = "extra == 'ionmob'", specifier = ">=0.2" }, { name = "jinja2", specifier = ">=3" }, { name = "lxml", specifier = ">=4.5" }, { name = "mokapot", specifier = "==0.10" }, { name = "ms2pip", specifier = ">=4.0.0" }, - { name = "ms2rescore-rs", specifier = ">=0.4.3" }, + { name = "ms2rescore-rs", specifier = ">=0.4" }, { name = "numpy", specifier = ">=1.25" }, { name = "packaging", specifier = ">=25.0" }, { name = "pandas", specifier = ">=1" }, @@ -1960,6 +1999,13 @@ docs = [ { name = "sphinx-rtd-theme" }, { name = "toml" }, ] +installer = [ + { name = "im2deep", specifier = "==1.1.1" }, + { name = "ionmob", specifier = ">=0.2" }, + { name = "pyinstaller" }, + { name = "pyopenms", specifier = "==3.3" }, + { name = "tensorflow" }, +] [[package]] name = "ms2rescore-rs" @@ -2390,6 +2436,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, ] +[[package]] +name = "pefile" +version = "2024.8.26" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/03/4f/2750f7f6f025a1507cd3b7218691671eecfd0bbebebe8b39aa0fe1d360b8/pefile-2024.8.26.tar.gz", hash = "sha256:3ff6c5d8b43e8c37bb6e6dd5085658d658a7a0bdcd20b6a07b1fcfc1c4e9d632", size = 76008, upload-time = "2024-08-26T20:58:38.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/16/12b82f791c7f50ddec566873d5bdd245baa1491bac11d15ffb98aecc8f8b/pefile-2024.8.26-py3-none-any.whl", hash = "sha256:76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b957c6f", size = 74766, upload-time = "2024-08-26T21:01:02.632Z" }, +] + [[package]] name = "pillow" version = "11.3.0" @@ -2752,9 +2807,50 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, ] +[[package]] +name = "pyinstaller" +version = "6.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "altgraph" }, + { name = "macholib", marker = "sys_platform == 'darwin'" }, + { name = "packaging" }, + { name = "pefile", marker = "sys_platform == 'win32'" }, + { name = "pyinstaller-hooks-contrib" }, + { name = "pywin32-ctypes", marker = "sys_platform == 'win32'" }, + { name = "setuptools" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/01/80/9e0dad9c69a7cfd4b5aaede8c6225d762bab7247a2a6b7651e1995522001/pyinstaller-6.17.0.tar.gz", hash = "sha256:be372bd911392b88277e510940ac32a5c2a6ce4b8d00a311c78fa443f4f27313", size = 4014147, upload-time = "2025-11-24T19:43:32.109Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/f5/37e419d84d5284ecab11ef8b61306a3b978fe6f0fd69a9541e16bfd72e65/pyinstaller-6.17.0-py3-none-macosx_10_13_universal2.whl", hash = "sha256:4e446b8030c6e5a2f712e3f82011ecf6c7ead86008357b0d23a0ec4bcde31dac", size = 1031880, upload-time = "2025-11-24T19:42:30.862Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b6/2e184879ab9cf90a1d2867fdd34d507c4d246b3cc52ca05aad00bfc70ee7/pyinstaller-6.17.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:aa9fd87aaa28239c6f0d0210114029bd03f8cac316a90bab071a5092d7c85ad7", size = 731968, upload-time = "2025-11-24T19:42:35.421Z" }, + { url = "https://files.pythonhosted.org/packages/40/76/f529de98f7e5cce7904c19b224990003fc2267eda2ee5fdd8452acb420a9/pyinstaller-6.17.0-py3-none-manylinux2014_i686.whl", hash = "sha256:060b122e43e7c0b23e759a4153be34bd70914135ab955bb18a67181e0dca85a2", size = 743217, upload-time = "2025-11-24T19:42:39.286Z" }, + { url = "https://files.pythonhosted.org/packages/a3/10/c02bfbb050cafc4c353cf69baf95407e211e1372bd286ab5ce5cbc13a30a/pyinstaller-6.17.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:cd213d1a545c97dfe4a3c40e8213ff7c5127fc115c49229f27a3fa541503444b", size = 741119, upload-time = "2025-11-24T19:42:43.12Z" }, + { url = "https://files.pythonhosted.org/packages/11/9d/69fdacfd9335695f5900a376cfe3e4aed28f0720ffc15fee81fdb9d920bc/pyinstaller-6.17.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:89c0d18ba8b62c6607abd8cf2299ae5ffa5c36d8c47f39608ce8c3f357f6099f", size = 738111, upload-time = "2025-11-24T19:42:46.97Z" }, + { url = "https://files.pythonhosted.org/packages/5e/1e/e8e36e1568f6865ac706c6e1f875c1a346ddaa9f9a8f923d66545d2240ed/pyinstaller-6.17.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:2a147b83cdebb07855bd5a663600891550062373a2ca375c58eacead33741a27", size = 737795, upload-time = "2025-11-24T19:42:50.675Z" }, + { url = "https://files.pythonhosted.org/packages/8d/15/9dc0f81ccb746c27bfa6ee53164422fe47ee079c7a717d9c4791aba78797/pyinstaller-6.17.0-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:f8cfbbfa6708e54fb936df6dd6eafaf133e84efb0d2fe25b91cfeefa793c4ca4", size = 736891, upload-time = "2025-11-24T19:42:54.458Z" }, + { url = "https://files.pythonhosted.org/packages/97/e6/bed54821c1ebe1275c559661d3e7bfa23c406673b515252dfbf89db56c65/pyinstaller-6.17.0-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:97f4c1942f7b4cd73f9e38b49cc8f5f8a6fbb44922cb60dd3073a189b77ee1ae", size = 736752, upload-time = "2025-11-24T19:42:58.144Z" }, + { url = "https://files.pythonhosted.org/packages/c7/84/897d759198676b910d69d42640b6d25d50b449f2209e18127a974cf59dbe/pyinstaller-6.17.0-py3-none-win32.whl", hash = "sha256:ce0be227a037fd4be672226db709088565484f597d6b230bceec19850fdd4c85", size = 1317851, upload-time = "2025-11-24T19:43:04.361Z" }, + { url = "https://files.pythonhosted.org/packages/2d/f5/6a122efe024433ecc34aab6f499e0bd2bbe059c639b77b0045aa2421b0bf/pyinstaller-6.17.0-py3-none-win_amd64.whl", hash = "sha256:b019940dbf7a01489d6b26f9fb97db74b504e0a757010f7ad078675befc85a82", size = 1378685, upload-time = "2025-11-24T19:43:10.395Z" }, + { url = "https://files.pythonhosted.org/packages/c4/96/14991773c9e599707a53594429ccf372f9ee638df3b7d26b65fd1a7433f0/pyinstaller-6.17.0-py3-none-win_arm64.whl", hash = "sha256:3c92a335e338170df7e615f75279cfeea97ade89e6dd7694943c8c185460f7b7", size = 1320032, upload-time = "2025-11-24T19:43:16.388Z" }, +] + +[[package]] +name = "pyinstaller-hooks-contrib" +version = "2025.10" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "setuptools" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/26/4f/e33132acdb8f732978e577b8a0130a412cbfe7a3414605e3fd380a975522/pyinstaller_hooks_contrib-2025.10.tar.gz", hash = "sha256:a1a737e5c0dccf1cf6f19a25e2efd109b9fec9ddd625f97f553dac16ee884881", size = 168155, upload-time = "2025-11-22T09:34:36.138Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/de/a7688eed49a1d3df337cdaa4c0d64e231309a52f269850a72051975e3c4a/pyinstaller_hooks_contrib-2025.10-py3-none-any.whl", hash = "sha256:aa7a378518772846221f63a84d6306d9827299323243db890851474dfd1231a9", size = 447760, upload-time = "2025-11-22T09:34:34.753Z" }, +] + [[package]] name = "pyopenms" -version = "3.4.0" +version = "3.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "matplotlib" }, @@ -2762,22 +2858,18 @@ dependencies = [ { name = "pandas" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/24/2d/38a37e6270269e3c579afc568605bc346a5dc3e9d4804cccf5973c5bd1d1/pyopenms-3.4.0-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:e95c79d0a663b4f3587a2f2d406a8284f462fe07dd22e955e83ce58fa0c3f704", size = 56696606, upload-time = "2025-05-09T11:19:15.545Z" }, - { url = "https://files.pythonhosted.org/packages/be/e8/dfed735098887325df0097915296f45f0f84289d7f97109c495a56b812a6/pyopenms-3.4.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:5b03c79730522a6a8b80dfdc5ca0b8fa20a22a30d89b44b2dcec8a179bf97bb7", size = 50729303, upload-time = "2025-05-09T11:20:09.249Z" }, - { url = "https://files.pythonhosted.org/packages/c8/64/2c7e5095bbb3262705a17ae30261ef164548e6e26241f796261a509b3b55/pyopenms-3.4.0-cp310-cp310-manylinux_2_34_x86_64.whl", hash = "sha256:66ba41b06dd0a1d128ff49baa9ebb8981425dd66270b59c5e90f0713536c296f", size = 59944889, upload-time = "2025-05-09T11:08:35.3Z" }, - { url = "https://files.pythonhosted.org/packages/30/75/fc2c21d896ffbde7bb85e090bbdb6d550722d1be6605a95de7e40e0858c3/pyopenms-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:a51928a9c2b4e1b37e491517484f8ede1674b5dfac290d631737d0da929eee35", size = 30258554, upload-time = "2025-05-09T11:18:46.832Z" }, - { url = "https://files.pythonhosted.org/packages/a7/86/fd7b85baad16e27fb88584ad972b128873e6f6d12eca71fdf1e01be0c783/pyopenms-3.4.0-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:ddfa9aa67178ca68e64a248ca258d1c6154a8a9bab07b61a63f49ae34f49f027", size = 56698376, upload-time = "2025-05-09T11:19:07.801Z" }, - { url = "https://files.pythonhosted.org/packages/26/38/4e4bcb696da4fc1ba8bcebe6565c3b844734b359e41f3d32e8bcad98a918/pyopenms-3.4.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:53d3cc7220e72839e4b0328068399d79afb674adae57d4d90986c3f80adbd26d", size = 50730262, upload-time = "2025-05-09T11:19:49.347Z" }, - { url = "https://files.pythonhosted.org/packages/4d/3f/118270ca9f3186112a5feed67adfffd996f663ce767b0d1f847aa3a16a55/pyopenms-3.4.0-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:20015768e34785bc837a289aeb7c60ebb54b045df2e669145162737c4ad870f5", size = 59938663, upload-time = "2025-05-09T11:08:42.709Z" }, - { url = "https://files.pythonhosted.org/packages/3c/c5/e305990fc514c6b85507d4d1db0a058f674221772f067aea9cddf426e1a8/pyopenms-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:2ec106c80d832070aca3d741b234ebbcf7e23f4296bee1856b07b71bda1d6f09", size = 30284901, upload-time = "2025-05-09T11:18:22.876Z" }, - { url = "https://files.pythonhosted.org/packages/9a/12/f565a09c806b347c7b48e0b66798c77e0a256f6f41d2564414b8352a3bb5/pyopenms-3.4.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:0d660d7ab81f53bd7cd0ac7f2d9885f0d4ea94c270a22e8bf0694951e72d9f3a", size = 56791613, upload-time = "2025-05-09T11:19:23.183Z" }, - { url = "https://files.pythonhosted.org/packages/ff/8c/558b8884dc17b1c57748ce5cbb566dce915a8876f135954b3f26cb283f01/pyopenms-3.4.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:1918db5122de347c725891a9a00802f063e9c1b114df4f4dcecc815446f3e7f6", size = 50777401, upload-time = "2025-05-09T11:19:55.999Z" }, - { url = "https://files.pythonhosted.org/packages/3e/7b/0114470c33b82742e8d34f48029c96cf7aa3feae704644cd358b6ee423ce/pyopenms-3.4.0-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:85a38e9d6a294166e9ac2da8ecc5be92b8d69bea70d15309588cbd5e5eb4f7d5", size = 59816489, upload-time = "2025-05-09T11:17:49.7Z" }, - { url = "https://files.pythonhosted.org/packages/70/87/0a559a91c1e7c9f70cb1876d88850fa8a848d2b13ef999b64165a78126ad/pyopenms-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:ac26440d744de8badf10c6acf407653e485006824c85b9ed998a4ae9b0c32ea6", size = 30336632, upload-time = "2025-05-09T11:18:33.695Z" }, - { url = "https://files.pythonhosted.org/packages/9b/62/74a32fd1963447867bd95bbc70f7290c5c7250f57b7d8acc9288a7f2aa31/pyopenms-3.4.0-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:92cacfc0e6204e5da988d2f4446832de84be067c65aff8851efaec9f24c9e821", size = 56769808, upload-time = "2025-05-09T11:18:53.423Z" }, - { url = "https://files.pythonhosted.org/packages/5e/1d/0df2963cff5ad544fa4475c5684bf8f530fdf2bcdb809bea16c7eae939ad/pyopenms-3.4.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:c9f77f8017b5adf65d18ba030f3b1182befbe203954764c8ffbd6f032a1b343e", size = 50754203, upload-time = "2025-05-09T11:19:35.897Z" }, - { url = "https://files.pythonhosted.org/packages/3c/a1/93fd8499aa65dfa0aeec9c1d2adc92011cdc65cc3e7f01e2eb02b64f52ba/pyopenms-3.4.0-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:e7e9e57e5507feceeb71a83cb60b751b0d2c79d68e70c39f34946efd80cdf8a8", size = 59801193, upload-time = "2025-05-09T11:17:42.134Z" }, - { url = "https://files.pythonhosted.org/packages/27/50/71ca8a7e8ebdbfb6b419619a2aa625313f6cda95d635b5cc14612c40b397/pyopenms-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:c8c6148d7fe2447394d4aa1c1d022fc91d2bd991646fb2f65912b2bd78c5b83f", size = 30325616, upload-time = "2025-05-09T11:18:28.281Z" }, + { url = "https://files.pythonhosted.org/packages/47/d5/7c9cb9ebeb504b8fc908db20939676f87b46a2619b9785025bc12fd7a69a/pyopenms-3.3.0-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:79929fc4028b133f9ee4280a08b1355b278f945915386175d6654c73d0c22132", size = 55962994, upload-time = "2025-01-30T15:57:14.417Z" }, + { url = "https://files.pythonhosted.org/packages/e7/65/f3a1200d9286794b9ce6e37e7f8de15b5dbeaf77b6f7c10c5d83af96b1b8/pyopenms-3.3.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:829e298cd089af902447f65041453a04f4679d1fb5b85344d661ff5ed5657ccc", size = 50445908, upload-time = "2025-01-30T15:56:08.113Z" }, + { url = "https://files.pythonhosted.org/packages/0c/be/730361fd0a0b9f4264d7eac768b4388b4972cdf3b26af60cb14b687354b4/pyopenms-3.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:ec1c7464618729b8edd80e3810f25683757d8d94c910618e4661f4d74fb729bd", size = 57394710, upload-time = "2025-01-30T15:54:21.532Z" }, + { url = "https://files.pythonhosted.org/packages/af/a5/546c68f3bae0325a997a8bad74f055a9a02f436e6162ff9a25369575b10c/pyopenms-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d24185158ad1e3bd57ad9de24807083b7ca8b2854f0884f4ac5cd168d4500419", size = 29467898, upload-time = "2025-01-30T15:52:43.451Z" }, + { url = "https://files.pythonhosted.org/packages/22/17/2028acde90cf275d96fdb27d0107e1ed7e534e51548137a10604ce79c8c2/pyopenms-3.3.0-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:7f1b886471c9692e89a44d387c7f0da82b3b62f41c333993acfe80094f55bbeb", size = 55965814, upload-time = "2025-01-30T15:57:28.824Z" }, + { url = "https://files.pythonhosted.org/packages/22/e3/239f516baf2f2449148bc67b6e16eef5bdf79669de2ae0b08f6defc9ec24/pyopenms-3.3.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:e2b56760369f37820874a603743856d3182f24c6e0991cf8d66b7a3794bc184b", size = 50445826, upload-time = "2025-01-30T15:56:22.238Z" }, + { url = "https://files.pythonhosted.org/packages/19/9c/e5a1b6b3637de347ee215d144fde541791734154437a5354a95e805f0572/pyopenms-3.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d917201c0159a67dbb43fc6659f8314f52570cf49517e955da5651125e0f3d00", size = 57379934, upload-time = "2025-01-30T15:54:47.568Z" }, + { url = "https://files.pythonhosted.org/packages/a7/63/3aa766853648894a09799901d2148515ebe123a1cd69360e06f2ad8c993b/pyopenms-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:b9703322ce655563db76c2febd05ed3d26f0ab466a87203ef1b85fee2e553464", size = 29493749, upload-time = "2025-01-30T15:53:03.712Z" }, + { url = "https://files.pythonhosted.org/packages/f5/df/ae6655221fa6b53850cbacae9f6a1d03ee67dba855f8ecb1c5faa01dfec9/pyopenms-3.3.0-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:da7284294fa850b45c206b9337d39c3f9d01b9bfa013665ec0dc55da9513e49c", size = 56065326, upload-time = "2025-01-30T15:57:46.742Z" }, + { url = "https://files.pythonhosted.org/packages/14/a1/f0685bd47e00a9ea27056335b94516d4d8451ac5151fb05c0d10fcc3c627/pyopenms-3.3.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:c3774b759975064d764239f2e1dbb59810a66124667bb39451e0602d13120fc7", size = 50494234, upload-time = "2025-01-30T15:56:35.877Z" }, + { url = "https://files.pythonhosted.org/packages/43/40/9c5dc2af36707a7f853b1142af4992e8e9050e1926397a25ec7ba36521ce/pyopenms-3.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:582b585691c0fcfe8ac519849b01c5be861f66059b3c6a6c830cc14d15f20c98", size = 57231043, upload-time = "2025-01-30T15:55:12.08Z" }, + { url = "https://files.pythonhosted.org/packages/d6/5b/363202bb04962d5aa7ea48a8856692eeebe692e578d481e1ad9de7f476cc/pyopenms-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:ff05ae5be93235a8f1eebef02c7e27bfc215c30b80f8c4b27d5a159ffe8f5f22", size = 29539839, upload-time = "2025-01-30T15:53:18.661Z" }, ] [[package]] @@ -2883,6 +2975,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, ] +[[package]] +name = "pywin32-ctypes" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size = 29471, upload-time = "2024-08-14T10:15:34.626Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756, upload-time = "2024-08-14T10:15:33.187Z" }, +] + [[package]] name = "pyyaml" version = "6.0.3"