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

PyPi (pip install) version out of date #7

Open
mulkr opened this issue Feb 27, 2025 · 0 comments
Open

PyPi (pip install) version out of date #7

mulkr opened this issue Feb 27, 2025 · 0 comments

Comments

@mulkr
Copy link

mulkr commented Feb 27, 2025

I followed the tutorial from here, this description mentioned using two methods to set up pobm. One with a provided conda env file and a method which involves installing from PyPi.
The conda env file specifies a pobm version of 1.0.1:

name: pobm_env
channels:
    - defaults
    - conda-forge
dependencies:
  ...
  - pip:
    ...
    - pobm==1.0.1

but the "pip install" method in the notebook installs the latest version (on PyPi: 1.2.0):

PyPi pobm, version 1.2.0, latest, released: Oct. 21. 2022.

However these two versions have breaking changes and both differ from the version available in the main repo.

The main problems I found with the 1.2.0 version:
The env file installs the proper dependencies for pobm, however pip install does not, which causes errors in running the example file.
Looking into it further, the proper dependency versions are only mentioned in the requirements.txt which (as far as I know) does not get compiled into the package when building. And if the user installs the toolbox, without consulting the requirements.txt, the wrong versions will get installed. Since the newer numpy and scipy versions moved/deprecated certain functions, the toolbox will not work out of the box.

Steps to reproduce:

  1. Create empty python venv
  2. Run pip list
Package    Version
---------- -------
pip        25.0.1
setuptools 65.5.0
  1. Install pobm with pip install pobm
  2. Run pip list
Package               Version
--------------------- -------
lempel-ziv-complexity 0.2.2  
numpy                 2.2.3  
pip                   25.0.1 
pobm                  1.2.0  
scipy                 1.15.2 
setuptools            65.5.0

Relevant versions specified in requirements.txt:

numpy==1.21.6
scipy==1.7.3

+1. Running pip install numpy==1.21.6 or pip install scipy==1.7.3 fails.

ERROR: No matching distribution found for ...

+2. The "Requirements" section in README.md specifies: numpy > 1.18.2, scipy > 1.4.1

Some of these incompatibilities with the new versions of numpy and scipy are fixed in the github version of pobm, but further fixes need to be issued. Thankfully these are only small changes to imports or function names.

The other issues are related to the different pobm versions used in the example code and the version installed from pip. I may mention those on the other issues page.

My suggestions:

  • Update the implementations to work with modern versions of numpy and scipy
  • Upgrade the build system to use pyproject.toml or include every important dependency version in setup.py
  • Update documentation to mention the newer dependency versions
  • Release a new build with this updates
  • (Optionally: Update the example code to work with the latest pobm version)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant