From 95f2f771dd1f703da3e964bfd0b4c34c03f649a6 Mon Sep 17 00:00:00 2001 From: RalfG Date: Mon, 13 Jul 2026 15:37:41 +0200 Subject: [PATCH] feat: add dependency version constraints; update changelog; bump to stable 2.0 release --- CHANGELOG.md | 9 ++++++--- pyproject.toml | 18 +++++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b537e38..495fe2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.0.0] - 2026-07-13 + ### Added - New `core` module with `predict` and `predict_and_calibrate` as main public API - New `calibration` module replacing `calibrate`, with `Calibration` and `LinearCCSCalibration` classes @@ -28,15 +30,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Breaking:** Minimum Python version raised from 3.10 to 3.11 - **Breaking:** Switched from Keras/TensorFlow models to PyTorch Lightning models (`.ckpt`) - Switched build system from setuptools to uv -- Replaced `deeplc<4` dependency with `deeplc>=4.0.0a1` -- Removed pinned `numpy==1.26.0` dependency -- Removed `im2deeptrainer` optional dependency - CLI restructured as click command group with `predict` as default command - Renamed reference data files for clarity - Linting moved from black/isort to ruff +- Upgrade `deeplc` dependency to `deeplc>=4.0.0b1,<5` +- Added explicit lower/upper version bounds to all core dependencies. ### Removed - `im2deep.py` module (replaced by `core.py`) - `calibrate.py` module (replaced by `calibration.py`) - `predict_multi.py` module (functionality merged into architecture subpackage) - Keras model files +- Removed pinned `numpy==1.26.0` dependency +- Removed `im2deeptrainer` optional dependency diff --git a/pyproject.toml b/pyproject.toml index 35e4799..ebe98d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "im2deep" -version = "2.0.0-alpha.3" +version = "2.0.0" description = "Framework for prediction of collisional cross-section of peptides." readme = "README.md" license = { file = "LICENSE" } @@ -19,14 +19,14 @@ classifiers = [ ] requires-python = ">=3.11" dependencies = [ - "click", - "deeplc>=4.0.0a1", - "psm_utils", - "pandas", - "numpy", - "rich", - "torch", - "lightning", + "click>=8,<9", + "deeplc>=4.0.0b1,<5", + "psm_utils>=1.5.1,<2", + "pandas>=1.5,<3", + "numpy>=1.25,<3", + "rich>=13,<15", + "torch>=2.6.0,<3", + "lightning>=2.1,<3", ] [dependency-groups]