Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update pyprophet to 2.2.9 #51284

Closed
wants to merge 8 commits into from
Closed
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 19 additions & 12 deletions recipes/pyprophet/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{% set name = "pyprophet" %}
{% set version = "2.2.5" %}
{% set version = "2.2.8" %}
{% set hash_type = "sha256" %}
{% set hash_value = "f1d42ba53ecc0c0cac21e6938ad830f1260acb65ac69b3012a697f56e4badab3" %}
{% set hash_value = "373bcec312fbb54e3d86514e26680168287630ea291f695d41cac8d834aa4970" %}

package:
name: '{{ name|lower }}'
Expand All @@ -12,38 +12,42 @@ source:
'{{ hash_type }}': '{{ hash_value }}'

build:
number: 3
number: 0
run_exports:
- {{ pin_subpackage(name, max_pin="x") }}
entry_points:
- pyprophet=pyprophet.main:cli
script: python -m pip install --no-deps --ignore-installed .
script: {{ PYTHON }} -m pip install --no-deps --no-build-isolation --no-cache-dir . -vvv
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Inconsistent usage of --no-build-isolation flag across recipes.

The --no-build-isolation flag is only used in recipes/pyprophet/meta.yaml. Other recipes do not utilize this flag, which might lead to inconsistent build behaviors and dependency resolutions.

  • recipes/pyprophet/meta.yaml uses --no-build-isolation
🔗 Analysis chain

Verify the impact of --no-build-isolation flag.

The build script now includes the --no-build-isolation flag. This allows the build to access packages in the build environment, which might affect how the package is built and its dependencies are resolved.

Please confirm that this change is intentional and doesn't introduce any unexpected behavior. You can run the following script to check if this flag is used consistently across other recipes:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if --no-build-isolation is used consistently
rg --type yaml 'script:.*--no-build-isolation' recipes/

Length of output: 5344


requirements:
build:
- {{ compiler('c') }}
host:
- python
- pip
- cython <1
- numpy >=1.9
- pypdf2
- cython
- numpy
- pypdf
Comment on lines +28 to +30
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Potential Compatibility Issues Detected.

The changes to the host requirements may affect other recipes:

  1. Dependency Naming:

    • pypdf2 is still used in multiple recipes (tobias, tetrimmer, jcvi).
    • Renaming it to pypdf in pyprophet may lead to inconsistencies or dependency conflicts.
  2. Version Constraints:

    • Removing version constraints for cython and numpy could introduce compatibility issues with other recipes that specify particular versions.
    • Multiple recipes have specific version requirements for pyarrow, indicating that changes to its dependencies should be managed carefully.

Please review and address these potential issues to ensure build compatibility across all recipes.

🔗 Analysis chain

Verify host requirements changes.

The following changes have been made to the host requirements:

  1. Version constraints for cython and numpy have been removed.
  2. pypdf2 has been renamed to pypdf.

These changes might affect the build process and compatibility. Please ensure that:

  1. The package builds successfully with the latest versions of cython and numpy.
  2. The rename from pypdf2 to pypdf is correct and doesn't break any functionality.

Run the following script to check if these changes are consistent with other recipes using these packages:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check usage of cython, numpy, and pypdf in other recipes
echo "Checking cython usage:"
rg --type yaml 'cython' recipes/
echo "Checking numpy usage:"
rg --type yaml 'numpy' recipes/
echo "Checking pypdf usage:"
rg --type yaml 'pypdf' recipes/

Length of output: 5344

- libgomp # [linux]
- llvm-openmp # [osx]
Comment on lines +28 to +32
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Potential compatibility issues due to removed version constraints and pypdf renaming.

  • Many recipes specify version constraints for cython and numpy. Removing these constraints in pyprophet/meta.yaml may lead to compatibility issues during builds or runtime.
  • The renaming from pypdf2 to pypdf could cause inconsistencies, as some recipes still reference pypdf2. This may result in import errors or broken functionality.
🔗 Analysis chain

Review host requirements changes carefully.

Several changes have been made to the host requirements:

  1. Version constraints for cython and numpy have been removed. This might lead to compatibility issues if the package is sensitive to specific versions of these dependencies.

  2. pypdf2 has been renamed to pypdf. Ensure this change is correct and consistent with the package's requirements. Check if other recipes still use pypdf2, as this might lead to inconsistencies.

  3. Platform-specific compiler requirements (libgomp for Linux, llvm-openmp for macOS) have been added, which is good for cross-platform compatibility.

Please verify these changes:

  1. Confirm that the package builds successfully with the latest versions of cython and numpy.
  2. Check if the rename from pypdf2 to pypdf is correct and doesn't break any functionality.
  3. Ensure the new compiler requirements are necessary and correctly specified.
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check usage of cython, numpy, and pypdf in other recipes
echo "Checking cython usage:"
rg --type yaml 'cython' recipes/
echo "Checking numpy usage:"
rg --type yaml 'numpy' recipes/
echo "Checking pypdf usage:"
rg --type yaml 'pypdf' recipes/

Length of output: 121240

run:
- python
- libgomp # [linux]
- llvm-openmp # [osx]
- {{ pin_compatible("numpy") }}
- scipy
- python-duckdb
- pandas >=0.17
- numexpr >=2.1
- scikit-learn >=0.17
- matplotlib-base
- seaborn
- tabulate
- pyarrow
- xgboost
- hyperopt
- statsmodels >=0.8.0
- click
- dataclasses
- pypdf2
- pypdf
- typing-extensions

test:
Expand All @@ -54,9 +58,12 @@ test:

about:
home: https://github.com/PyProphet/pyprophet
license: BSD License
license: "BSD-3-Clause"
license_family: BSD
summary: Python reimplementation of mProphet peak scoring
license_file: LICENSE
summary: "PyProphet: Semi-supervised learning and scoring of OpenSWATH results."
dev_url: https://github.com/PyProphet/pyprophet

extra:
additional-platforms:
- linux-aarch64
Expand Down