Skip to content

Releases: PyProphet/pyprophet

PyProphet v3.0.5

27 Nov 04:09
a92cc76

Choose a tag to compare

[3.0.5] - 2025-11-27

🚀 Features

  • Add native installer creation scripts (DEB, RPM, DMG, EXE)
  • Add native installer creation scripts (DEB, RPM, DMG, EXE)
  • Enhance artifact upload process in GitHub Actions for Linux, Windows, and macOS
  • (build) Improve DMG testing and installation process for macOS
  • (build) Enhance build scripts for Windows and macOS with UPX compression and runtime dependency installation
  • (build) Add --onefile option to PyInstaller for all platforms
  • (build) Enhance runtime dependency installation in build scripts for Linux, macOS, and Windows
  • (build) Streamline PyInstaller build process with onefile mode and module exclusions for macOS and Linux
  • (build) Implement UPX compression for final binaries in build scripts for Linux, macOS, and Windows
  • (build) Update packaging scripts to use single-file executable for Linux, macOS, and Windows
  • (build) Enforce Python 3.11+ requirement in build scripts for Linux, macOS, and Windows
  • (build) Create minimal entry point script to avoid path conflicts in PyInstaller builds for Linux, macOS, and Windows
  • (build) Install pyprophet as a regular package to avoid import conflicts in build scripts for Linux, macOS, and Windows
  • (build) Build and install pyprophet as a wheel for cleaner installation in Linux and Windows scripts
  • (build) Optimize PyInstaller build process with temporary directory for cleaner execution
  • (build) Enhance build script to save original directory and clean up previous builds
  • (build) Clean up build artifacts and optimize wheel installation process in Linux script
  • (build) Modify installation process to ensure pyprophet is installed in site-packages and verify dependencies
  • (build) Enhance installation script to uninstall existing pyprophet and optimize wheel build process
  • (build) Create isolated virtual environment for building and streamline pyprophet installation process
  • (build) Streamline build script by cleaning artifacts and optimizing virtual environment setup
  • (build) Optimize Linux build script by simplifying installation steps and improving error handling
  • (build) Enhance Windows build script to clean Python cache and improve installation process
  • (build) Update GitHub Actions workflow to improve error handling and streamline command execution
  • (build) Enhance Windows build script to optimize PyInstaller process and add self-extracting archive support
  • Implement lazy loading for pyarrow imports and improve error handling for parquet support
  • Enhance version retrieval and sanitization for macOS build scripts
  • (export) Add support for exporting minimal scored-report columns from split Parquet files

🐛 Bug Fixes

  • (build) Handle errors in file permission setting and listing during package creation
  • (tests) Fix bug with restructuring of ipf score to precursor mapping and IM boundaries
  • (osw) Remove debug print statement for temporary table query in OSWWriter
  • (report) Ensure axes are consistently indexed in plot_score_distributions function

💼 Other

  • Requirements.txt
  • Only add from_alignment column when alignment is actually used
  • Extract helper method to reduce code duplication
  • Filter out columns without types when building temp table schema
  • Add RUN_ID to score peptide/protein views for proper joining
  • Use LEFT JOIN for score views to avoid filtering out rows without matching RUN_ID
  • Regtest for new test
  • Regtest output
  • Extract pyarrow import check to helper function to reduce code duplication
  • Move file type reader methods into IO export classes
  • Use existing _ensure_pyarrow() instead of custom function
  • Regtest outputs

🚜 Refactor

  • Simplify parquet reader and writer initialization by using utility functions
  • Update pyarrow import to improve parquet file handling
  • Streamline parquet file imports and initialization using utility functions
  • Avoid circular imports by using type names for config checks
  • Reorganize parquet file imports for improved clarity and initialization
  • Enhance lazy loading for pyarrow imports and improve parquet initialization
  • (parquet) Improve alignment group ID assignment and update score column references

⚙️ Miscellaneous Tasks

  • Update CHANGELOG.md
  • Replace xgboost with xgboost-cpu to reduce package size
  • Update Python version to 3.11 in GitHub Actions workflows
  • Remove local path for pyprophet in requirements.txt
  • Simplify command paths in GitHub Actions workflow for pyprophet
  • Remove tomli module exclusion from PyInstaller build scripts for Linux, macOS, and Windows
  • Remove pip install command from GitHub Actions workflow to resolve numpy source directory issue
  • Remove sklearn metadata copy from PyInstaller build script for Linux
  • Add error handling to cleanup commands in Windows build script
  • Remove pyarrow from main dependencies and add to parquet group
  • Update pyarrow dependency to optional for Parquet support
  • Exclude unnecessary modules from PyInstaller builds for Linux, macOS, and Windows

PyProphet v3.0.4

21 Oct 00:58

Choose a tag to compare

[3.0.4] - 2025-10-21

🚀 Features

  • Enhance PyInstaller scripts for macOS and Windows with metadata collection and binary inclusion
  • Expand GitHub Actions workflow to include comprehensive testing for all commands across platforms
  • Add concurrency control to GitHub Actions workflows for improved efficiency
  • Add concurrency control to multiple GitHub Actions workflows for improved efficiency
  • Add PyInstaller hook for pyprophet package to ensure proper module collection

🐛 Bug Fixes

  • (build) Fix archiving of windows build release to use zip instead of tar

💼 Other

  • Pyinstaller build scripts
  • Gha's for package building
  • Create launcher for PyInstaller bundles with threading support
  • Windows dist script
  • Create PyInstaller hooks for duckdb and xgboost packages
  • Implement PyInstaller hook for pyopenms package with dynamic library collection
  • Move build scripts to a dedicated directory and update paths
  • Update build script paths to reflect new directory structure

🚜 Refactor

  • Remove tabulate dependency and update related code in main.py
  • Remove numexpr dependency from project configuration
  • Remove seaborn dependency from project configuration
  • Reorganize imports and clean up unused code in report.py
  • Remove statsmodels dependency and update related code in stats.py
  • Reduce decimal precision in lfdr tests for consistency
  • Update expected output values in lfdr tests for consistency
  • Add Gaussian kernel density estimation comparison script
  • Update expected output values in pyprophet score tests for consistency with change of kernel density estimate
  • Filter script
  • Reorganize imports and optimize database query in split.py
  • Update expected output values in pyprophet IPF scoring tests for consistency
  • Implement statsmodels KDEUnivariate method
  • Update expected output values in pyprophet score tests for consistency
  • Add comparison script for FFT-based KDE and statsmodels KDEUnivariate
  • Replace DCT-based KDE with FFT-based KDE implementation
  • Update expected output values in pyprophet IPF scoring tests for consistency
  • Update expected output values in test_stats for consistency
  • Update expected output values in pyprophet export test for consistency
  • Update build and test workflows for improved clarity and manual trigger

📚 Documentation

  • Update installation instructions and add options for pre-built executables and Docker
  • Add contributing guidelines and commit message conventions

⚙️ Miscellaneous Tasks

  • Remove feature branch from GitHub Actions workflow triggers
  • Update Python version support and refine package discovery settings
  • Add GitHub Actions workflow for automatic changelog generation
  • Remove concurrency settings from GitHub Actions workflow
  • Update CHANGELOG.md
  • Refactor GitHub Actions workflow for improved build and artifact handling

PyProphet 3.0.3

18 Oct 17:13
e6eef56

Choose a tag to compare

What's Changed

Full Changelog: 3.0.2...3.0.3

PyProphet 3.0.2

09 Oct 16:57
0dc2911

Choose a tag to compare

What's Changed

  • Fix/ipf osw alignment table by @singjc in #152
  • change explode to using polars by @jcharkow in #153
  • chore(deps): bump pillow from 11.2.1 to 11.3.0 by @dependabot[bot] in #149
  • chore(deps): bump urllib3 from 2.4.0 to 2.5.0 by @dependabot[bot] in #148
  • chore(deps): bump requests from 2.32.3 to 2.32.4 by @dependabot[bot] in #147
  • Add: log colorizer option to global pyprophet settings by @singjc in #154
  • chore(deps): bump pypdf from 5.6.0 to 6.0.0 by @dependabot[bot] in #157
  • Feature: add exporting "score_peptide" and "score_protein" from .osw by @jcharkow in #159
  • Feature: Export Library by @jcharkow in #156
  • feat: support tuple input for lambda in pi0est function by @singjc in #160
  • feature: more efficient sqMass to parquet export by @jcharkow in #158
  • feat: add calibration report export functionality by @singjc in #161
  • Update/export scored report by @singjc in #162

New Contributors

Full Changelog: 3.0.1...3.0.2

PyProphet 3.0.1

24 Jul 20:11
136b6ca

Choose a tag to compare

What's Changed

Full Changelog: 3.0.0...3.0.1

PyProphet 3.0.0

18 Jun 22:57

Choose a tag to compare

Release Highlights (Major Version Update)

This release introduces significant structural changes to improve modularity:

  • Introduced I/O Module: I/O logic is now modularized by file type (e.g., SQLite .osw, Parquet), to support new parquet format support.

  • Configurable Data Classes: Core algorithms (scoring, IPF, levels contexts) now use configuration dataclasses for cleaner parameter management and easier extension.

  • Click CLI Restructure: Command chaining has been removed to enable grouped subcommands (e.g., peptide, protein, peptidoform) for better CLI organization.

  • Deprecation Notice: Original flat subcommands remain for backwards compatibility but will be removed in a future release.

  • Added readthedocs for API and CLI documentation

  • Added linear SVM classifier model for scoring module.

All existing functionality should continue to work as is. Please report any issues if any.

What's Changed

Full Changelog: 2.3.4...3.0.0

PyProphet 2.3.4

30 Apr 17:46
c850fbd

Choose a tag to compare

Full Changelog: 2.3.3...2.3.4

PyProphet 2.3.3

30 Apr 03:03
ea95b44

Choose a tag to compare

What's Changed

Full Changelog: 2.3.2...2.3.3

PyProphet 2.3.2

29 Apr 12:23

Choose a tag to compare

Fix Dockerfile pyprophet installation. Previously used setup.py, but changed over to pyproject.toml, so installation needed to be changed to use pip install
Full Changelog: 2.3.1...2.3.2

PyProphet 2.3.1

28 Apr 21:53
2ce20c0

Choose a tag to compare

What's Changed

  • Add: Full parquet support for scoring and inference by @singjc in #137

Full Changelog: 2.3.0...2.3.1