Skip to content

Update dependencies to latest version #384

@koettert

Description

@koettert
Contributor
  • Update Python library to at least 3.11 or whatever version is supported by KNIME
  • LibPysal
  • ...

Activity

added this to the Release 1.4 milestone on Jan 21, 2025
changed the title [-]Update Python to 3.x[/-] [+]Update dependencies to latest version[/+] on Jan 21, 2025
wybert

wybert commented on Feb 8, 2025

@wybert
Contributor
  1. The least Python version supported by KNIME is 3.11
  2. In our previous dependencies it says numpy=1.23.5 #required to fix problem with latest version of numpy and curl=8.1.2 #required by libgdal which includes an older version with vulnerabilities, do have have the nodes with these problems. especially for curl. It's better to have these nodes and tested if they got fixed by least version of the package
  3. conda doesn't have the least version of keplergl, it can be installed by pip and pip will install ipykernel, so we can remove ipykernel depandacy
  4. Below is some of the least version packages we can get when specify curl and numpy version. This way we will still use the same version of geopandas, if you can use least version of curl, then we can use the least version of geopandas.
name: geospatial_env
channels:
  - knime
  - conda-forge
dependencies:
  - python=3.10
  - knime-extension
  - knime-python-base
  - packaging
  - curl=8.1.2 #required by libgdal which includes an older version with vulnerabilities
  - cvxopt
  - esda
  - fiona
  - folium
  - geopandas=0.14.4
  - geopy
  - h3-py
  - jmespath
  - libgdal
  - libpysal=4.12.1
  - mgwr
  - numpy=1.23.5 #required to fix problem with latest version of numpy
  - osmnx
  - polyline
  - pyproj
  - pysal=24.1
  - rasterio
  - seaborn
  - shapely
  - sympy
  - pip
  - pygeoda
  - pointpats
  - pip:
    - ipinfo
    - pulp
    - keplergl

koettert

koettert commented on Feb 10, 2025

@koettert
ContributorAuthor

In general for now try to update as many dependencies as possible independent of the existing comments in the dependency file since they might no longer hold if we update the major dependencies.

In our previous dependencies it says numpy=1.23.5 #required to fix problem with latest version of numpy and curl=8.1.2 #required by libgdal which includes an older version with vulnerabilities, do have have the nodes with these problems. especially for curl. It's better to have these nodes and tested if they got fixed by least version of the package

For numpy we should update to the latest supported version and see if the nodes are still executing fine.

For curl the problem was that we couldn't update libgdal which had a dependency to a curl version with a security problem. However if we can update libgdal we should try to update curl as well to its latest version and check that this version has no known critical security problems.

wybert

wybert commented on Feb 28, 2025

@wybert
Contributor

The nodes are still affected by the updates,

  • clustering nodes
    MCLP solver
wybert

wybert commented on Feb 28, 2025

@wybert
Contributor

The spatial heatmap is a bug from folium, see python-visualization/folium#2098

wybert

wybert commented on Feb 28, 2025

@wybert
Contributor

The spatial weight can be fixed and could work on offline environment by removing the mock import.

wybert

wybert commented on Mar 1, 2025

@wybert
Contributor

For LocationAnalysis category. Most of the nodes has problems because of the pulp updates. Some thing like below,

These works well when pulp==2.7.0 but not with the latest version of pulp==3.0.2

WARN P-median 3:14 Traceback (most recent call last):
File "/Applications/KNIME 5.4.0.app/Contents/Eclipse/plugins/org.knime.python3.nodes_5.4.1.v202501291500/src/main/python/_node_backend_launcher.py", line 1055, in execute
outputs = self._node.execute(exec_context, inputs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Applications/KNIME 5.4.0.app/Contents/Eclipse/plugins/org.knime.python3.nodes_5.4.1.v202501291500/src/main/python/knime/extension/nodes.py", line 1237, in wrapper
results = func(args, kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/kang/GitHub/knime-geospatial-extension/knime_extension/src/nodes/locationanalysis.py", line 313, in execute
problem.solve()
File "/opt/homebrew/Caskroom/miniforge/base/envs/geospatial_env/lib/python3.11/site-packages/pulp/pulp.py", line 1996, in solve
status = solver.actualSolve(self, kwargs)
^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'actualSolve'
wybert

wybert commented on Apr 15, 2025

@wybert
Contributor

The nodes are still affected by the updates,

  • clustering nodes[ ] MCLP solver

@UrbanGISer I may need your help with these two nodes

added 2 commits that reference this issue on May 13, 2025

10 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

    Participants

    @wybert@koettert@UrbanGISer

    Issue actions

      Update dependencies to latest version · Issue #384 · spatial-data-lab/knime-geospatial-extension