Osgeolive-jupyter

Focal Notes
Using PPA ubuntugis-unstable & Ubuntu Universe dot-deb packages, the installation results look roughly like this:

dbb@focalk:/etc$ cat lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS" libgeos3.10.1  (3.10.1-1~focal0) libgdal-dev    (3.4.0+dfsg-1~focal0) postgresql-12-postgis-3    (3.2.0+dfsg-1~focal0) PGSQL="120" GEOS="3.10.1-CAPI-1.16.0" PROJ="8.2.0" LIBXML="2.9.10" LIBJSON="0.13.1"

Focal Jupyter Overview
Sat 19 Feb 2022 07:18:48 PM PST $ jupyter --version jupyter core    : 4.6.3 jupyter-notebook : 6.0.3 qtconsole       : not installed ipython         : 7.13.0 ipykernel       : 5.2.0 jupyter client  : 6.1.2 jupyter lab     : not installed nbconvert       : 5.6.1 ipywidgets      : 6.0.0 nbformat        : 5.0.4 traitlets       : 4.3.3

Python version: 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0] pandas version: 0.25.3  <== a weak spot in this setup matplotlib version: 3.1.2 NumPy version: 1.17.4 SciPy version: 1.3.3 IPython version: 7.13.0 scikit-learn version: 1.0.2 dbb@focalk:~$ ipython3 Python 3.8.10 (default, Nov 26 2021, 20:14:08) Type 'copyright', 'credits' or 'license' for more information IPython 7.13.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import sklearn In [2]: from sklearn import show_versions In [3]: show_versions

System: python: 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0] executable: /usr/bin/python3 machine: Linux-5.13.0-30-generic-x86_64-with-glibc2.29

Python dependencies: pip: 20.0.2 setuptools: 45.2.0 sklearn: 1.0.2 numpy: 1.17.4 scipy: 1.3.3 Cython: 0.29.14 pandas: 0.25.3     <== a weak spot in this setup matplotlib: 3.1.2 joblib: 1.1.0 threadpoolctl: 3.1.0

Built with OpenMP: True -- dbb@focalk:~$ jupyter --paths config: /home/dbb/.jupyter /usr/local/etc/jupyter /etc/jupyter data: /home/dbb/.local/share/jupyter /usr/local/share/jupyter /usr/share/jupyter runtime: /home/dbb/.local/share/jupyter/runtime

Python Libraries Strategy
Some priority python for the Jupyter Notebooks of 2022


 * GeoPandas (and pySAL) : direct link to GEOS 3.10, popular extension to Pandas data science; please recall that pySAL is merging into the GeoPandas project overall; GeoPandas+pySAL use matplotlib graphics base, prefers Folium for web maps (?)


 * Numpy & Pandas : fundamental base packaging, versions matter


 * PostGIS writing done with pyscopg2 (low-level) or geoalchemy2 (ORM based on sqlalchemy)


 * rasterio : modern geoTIFF handling; sophisticated library design; not easy to build from source


 * Shapely & Fiona : direct link to libGEOS/ogr from python; example Notebooks in place


 * opendatacube core and Notebook client examples v1.8.6 -LINK-  odc-geo  a minimal Opendatacube setup (see below)


 * pySTAC spatial-temporal analysis standard; opendatacube collaborators  v1.4 -LINK-


 * stactools is a collection of interfaces and utilities, TBD from odc soon -LINK-


 * fsspec -LINK-


 * actinia STAC adaptor -LINK- updates


 * rioxarray xarray adaptor for GDAL NetCDF  -README-  -INSTALL-


 * geopython OWSLib, pygeoapi, pygeometa v0.9.1, others .. All -LINK-


 * Scikit-Learn : original machine-learning library by international research team led by French math; stands the tests of time; integrated with SciPy for Fortran, BLAS, LAPACK libs; numpy for data allocation; important primitives like PCA, SVM, and KNN are optimized in practical ways, and then benchmarked against pure Fortran or C++ for comparison


 * boto for AWS S3, other data store transfer; can use AWS credentials (or Hetzner, or..) modern version using pip installed locally


 * osmium libosmium2-dev, libosmium2-doc, python3-pyosmium, osmium-tool : a C++ framework for working with OSM data files; osmium library bindings for Python 3


 * mapnik libmapnik3.1, python3-mapnik : mapnik rendering engine for OSM maps and others


 * mapclassify : part of pySAL, versions must match with geopandas setup


 * lightgbm : MSFT python, tricky to install, might have to wait until other versions are sorted here


 * inline maps vs slippy maps : cartopy, other matplotlib variants are inline static; notebook web maps need js libs e.g. ipyleaflet


 * EOmaps TODO evaluate here -LINK-


 * georasters TODO evaluate -LINK


 * Canada Met - Meteorological Service of Canada Open Data User Documentation -LINK-


 * LiDAR "maybe?" : this is slightly painful since modern commercial GIS is flooded with this tech, delivered by advanced Western companies seeking something novel to sell. Changes to the LASzip licensing have enabled inclusion, but as of today, no Debian maintainer in place, and bas wants PDAL out at this time. -EMAIL- -EMAIL2-


 * DeepLearning "no" : deep learning has taken over in the modern AI/ML research, for funding and hype, but not on this disk. Please note that the ML libraries on osgeolive are completely useful, accurate and performant today.. no need for a constant and fast Internet connection, nor a compute infrastructure the size of a large naval ship, or special impenetrable models that can only be built by those machines. -LINK-  Serious and in-demand applications like "facial recognition" are not included here. Many real applications to remote sensing are built using DeepLearning, but those are not available on this disk. Some benefits of not including DeepLearning : no dependencies on tricky GPU libs; not suffering from fast-updates of important ML core libraries; avoid black-box training models, and their disk space; avoid software patent problems in Western Nations.

"I feel that a common and well-known distro like this is an opportunity to build engineering cooperation, between teams that may not interact otherwise.. like the physical code sprints" -darkblueb in California

Example Notebooks in previous OSGeoLive -LINK-

Other Resources: Pangeo PYTHIA -LINK-

opendatacube "Cube in a Box" -LINK-

--

Focal Setup Steps
APT install into the system OS python, major, stable parts first.. as a set .. ;

## note gdal & postgis are installed at an earlier step via package dot-deb ## - 591  sudo apt install python3-dev python3-pip 405 sudo apt install ipython3 python3-scipy apt install python3-pandas ## <== stale version currently 408 sudo apt install r-cran-sf       ## match libgeos w/R language bindings 429 sudo apt install python3-shapely python3-fiona 614 sudo apt install --yes python3-geoalchemy2 ##-- show the parts explicitly for Jupyter on Ubuntu via dot-deb --- 670 sudo apt install --yes jupyter-core jupyter-client jupyter-console jupyter-nbformat jupyter-nbconvert  \ jupyter-notebook python3-ipykernel 673 sudo apt install python-notebook-doc jupyter ##--      sudo apt install python3-sklearn-lib  python3-pyosmium

next pip install --user --upgrade-strategy=only-if-needed  py3-pkg # installs to `~/.local/lib/python3.8/` 605 pip install --user   wheel 835 pip install --user --upgrade  --upgrade-strategy=only-if-needed pandas 836 pip install --user --upgrade  --upgrade-strategy=only-if-needed scikit-image 837 pip install --user --upgrade  --upgrade-strategy=only-if-needed imageio 838 pip install --user --upgrade  --upgrade-strategy=only-if-needed numba 630 pip install --user   folium 839 pip install --user --upgrade  --upgrade-strategy=only-if-needed sentinelhub 867 pip install --user --upgrade  --upgrade-strategy=only-if-needed openeo 841 pip install --user --upgrade  --upgrade-strategy=only-if-needed eo-learn 853 pip install --user --upgrade  --upgrade-strategy=only-if-needed ipyleaflet

606 pip install --user   lightgbm  ## libs also have an R interface, optional engines

all [ rasterio, networkx, sklearn, boto, more... ] into  ~/.local/lib/python3.8/  (below)

note: https://pip.pypa.io/en/stable/cli/pip_install/#hash-checking-mode

next

$ mkdir -p ~/.jupyter/notebooks/ ;# default Jupyter notebooks & assets ; TODO will change.

''this opinionated install will update/amend/evolve as installer code and more dot-debs are crafted later this year. '' $ ./do_start_jupyter.sh
 * 1) !/bin/bash
 * 1) !/bin/bash

jupyter notebook --no-browser --ip=192.168.1.131 --notebook-dir=.jupyter/notebooks

~/.bashrc

PATH=$PATH:~/.local/bin

Focal APT Repos
dbb@focalk:/etc/apt$ cat sources.list
 * 1) Automatically generated by Calamares on 2022-01-02.
 * 2) Lines starting with "deb" are mandatory, while lines starting with "deb-src"
 * 3) are for more detailed package information.

deb http://ubuntu.osuosl.org/ubuntu/ focal main restricted deb-src http://ubuntu.osuosl.org/ubuntu/ focal main restricted
 * 1) See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
 * 2) newer versions of Lubuntu.


 * 1) Major bug fix updates produced after the final release of Lubuntu.
 * 2) Have you noticed a regression? Please report it!
 * 3) https://wiki.ubuntu.com/StableReleaseUpdates#Regressions

deb http://ubuntu.osuosl.org/ubuntu/ focal universe deb-src http://ubuntu.osuosl.org/ubuntu/ focal universe
 * 1) Software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu team.
 * 2) Also, please note that software in Universe WILL NOT receive any review or
 * 3) updates from the Ubuntu security team directly. Updates in this repository
 * 4) are provided by volunteers, but most come from Debian.


 * 1) Software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu team,
 * 2) and may not be under a free licence. Please satisfy yourself as your rights
 * 3) to use the software. Also, please note that software in Multiverse WILL NOT
 * 4) receive any review or updates from the Ubuntu security team directly.
 * 5) deb http://us.archive.ubuntu.com/ubuntu/ focal multiverse
 * 6) deb-src http://us.archive.ubuntu.com/ubuntu/ focal multiverse
 * 7) deb http://us.archive.ubuntu.com/ubuntu/ focal-updates multiverse
 * 8) deb-src http://us.archive.ubuntu.com/ubuntu/ focal-updates multiverse

deb http://security.ubuntu.com/ubuntu focal-security main restricted deb-src http://security.ubuntu.com/ubuntu focal-security main restricted deb http://security.ubuntu.com/ubuntu focal-security universe deb-src http://security.ubuntu.com/ubuntu focal-security universe deb http://security.ubuntu.com/ubuntu focal-security multiverse
 * 1) Software from this repository contains tested security updates from the
 * 2) Ubuntu security team.
 * 1) deb-src http://security.ubuntu.com/ubuntu focal-security multiverse

deb http://ubuntu.osuosl.org/ubuntu/ focal-backports main restricted universe multiverse deb-src http://ubuntu.osuosl.org/ubuntu/ focal-backports main restricted universe multiverse
 * 1) Software from this repository may not have been tested as extensively as
 * 2) software contained in the main release, although it includes newer versions
 * 3) of some applications which may provide useful features. Also, please note
 * 4) that software in Backports WILL NOT receive any review or updates from the
 * 5) Ubuntu security team.


 * 1) Uncomment the following two lines to add software from Canonical's
 * 2) "partner" repository.
 * 3) This software is not part of Ubuntu, but is offered by Canonical and the
 * 4) respective vendors as a service to Ubuntu users.
 * 5) deb http://archive.canonical.com/ubuntu focal partner
 * 6) deb-src http://archive.canonical.com/ubuntu focal partner

-

dbb@focalk:/etc/apt$ cat sources.list.d/ubuntugis-ubuntu-ubuntugis-unstable-focal.list

deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu focal main deb-src http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu focal main

geoxarray
$ pip install --user rioxarray Collecting rioxarray Downloading rioxarray-0.10.3.tar.gz (47 kB) |                             | 47 kB 272 kB/s Installing build dependencies ... done Getting requirements to build wheel ... done Preparing wheel metadata ... done Requirement already satisfied: packaging in /usr/lib/python3/dist-packages (from rioxarray) (20.3) Requirement already satisfied: xarray>=0.17 in ./.local/lib/python3.8/site-packages (from rioxarray) (0.21.1) Requirement already satisfied: rasterio>=1.1.1 in ./.local/lib/python3.8/site-packages (from rioxarray) (1.2.10) Requirement already satisfied: pyproj>=2.2 in /usr/lib/python3/dist-packages (from rioxarray) (3.2.1) Requirement already satisfied: pandas>=1.1 in ./.local/lib/python3.8/site-packages (from xarray>=0.17->rioxarray) (1.4.1) Requirement already satisfied: numpy>=1.18 in ./.local/lib/python3.8/site-packages (from xarray>=0.17->rioxarray) (1.21.5) Requirement already satisfied: click-plugins in /usr/lib/python3/dist-packages (from rasterio>=1.1.1->rioxarray) (1.1.1) Requirement already satisfied: cligj>=0.5 in /usr/lib/python3/dist-packages (from rasterio>=1.1.1->rioxarray) (0.5.0) Requirement already satisfied: attrs in /usr/lib/python3/dist-packages (from rasterio>=1.1.1->rioxarray) (19.3.0) Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from rasterio>=1.1.1->rioxarray) (2019.11.28) Requirement already satisfied: click>=4.0 in /usr/lib/python3/dist-packages (from rasterio>=1.1.1->rioxarray) (7.0) Requirement already satisfied: affine in ./.local/lib/python3.8/site-packages (from rasterio>=1.1.1->rioxarray) (2.3.0) Requirement already satisfied: snuggs>=1.4.1 in ./.local/lib/python3.8/site-packages (from rasterio>=1.1.1->rioxarray) (1.4.7) Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from rasterio>=1.1.1->rioxarray) (45.2.0) Requirement already satisfied: python-dateutil>=2.8.1 in ./.local/lib/python3.8/site-packages (from pandas>=1.1->xarray>=0.17->rioxarray) (2.8.2) Requirement already satisfied: pytz>=2020.1 in ./.local/lib/python3.8/site-packages (from pandas>=1.1->xarray>=0.17->rioxarray) (2021.3) Requirement already satisfied: pyparsing>=2.1.6 in /usr/lib/python3/dist-packages (from snuggs>=1.4.1->rasterio>=1.1.1->rioxarray) (2.4.6) Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil>=2.8.1->pandas>=1.1->xarray>=0.17->rioxarray) (1.14.0) Building wheels for collected packages: rioxarray Building wheel for rioxarray (PEP 517) ... done Created wheel for rioxarray: filename=rioxarray-0.10.3-py3-none-any.whl size=55624 sha256=925199c830a54ca5e9b02e89060e822e27014db5cbe601fd6b513d106fe66687 Stored in directory: /home/dbb/.cache/pip/wheels/42/71/40/298b7df47153454b8eb3ef8e5441dafa413e5a2d7ac1832b17 Successfully built rioxarray Installing collected packages: rioxarray Successfully installed rioxarray-0.10.3

odc-geo
$ pip install --user --upgrade-strategy only-if-needed odc-geo Collecting odc-geo Downloading odc_geo-0.1.1-py3-none-any.whl (81 kB) |                             | 81 kB 254 kB/s Requirement already satisfied: affine in ./.local/lib/python3.8/site-packages (from odc-geo) (2.3.0) Collecting cachetools Downloading cachetools-5.0.0-py3-none-any.whl (9.1 kB) Requirement already satisfied: numpy in ./.local/lib/python3.8/site-packages (from odc-geo) (1.21.5) Requirement already satisfied: pyproj in /usr/lib/python3/dist-packages (from odc-geo) (3.2.1) Requirement already satisfied: shapely in /usr/lib/python3/dist-packages (from odc-geo) (1.8.0) Installing collected packages: cachetools, odc-geo Successfully installed cachetools-5.0.0 odc-geo-0.1.1

odc-stac
$ pip install --user --upgrade-strategy only-if-needed odc-stac Collecting odc-stac Downloading odc_stac-0.2.4-py3-none-any.whl (32 kB) Requirement already satisfied: affine in ./.local/lib/python3.8/site-packages (from odc-stac) (2.3.0) Collecting datacube>=1.8.5 Downloading datacube-1.8.6-py2.py3-none-any.whl (272 kB) |                              | 272 kB 307 kB/s Requirement already satisfied: numpy in ./.local/lib/python3.8/site-packages (from odc-stac) (1.21.5) Requirement already satisfied: pandas in ./.local/lib/python3.8/site-packages (from odc-stac) (1.4.1) Requirement already satisfied: xarray>=0.19 in ./.local/lib/python3.8/site-packages (from odc-stac) (0.21.1) Collecting toolz Downloading toolz-0.11.2-py3-none-any.whl (55 kB) |                              | 55 kB 324 kB/s Collecting pystac<2,>=1.0.0 Downloading pystac-1.4.0-py3-none-any.whl (137 kB) |                              | 137 kB 252 kB/s Requirement already satisfied: jinja2 in /usr/lib/python3/dist-packages (from odc-stac) (2.10.1) Requirement already satisfied: rasterio>=1.0.2 in ./.local/lib/python3.8/site-packages (from datacube>=1.8.5->odc-stac) (1.2.10) Requirement already satisfied: pyyaml in /usr/lib/python3/dist-packages (from datacube>=1.8.5->odc-stac) (5.3.1) Requirement already satisfied: sqlalchemy in /usr/lib/python3/dist-packages (from datacube>=1.8.5->odc-stac) (1.3.12) Requirement already satisfied: shapely>=1.6.4 in /usr/lib/python3/dist-packages (from datacube>=1.8.5->odc-stac) (1.8.0) Requirement already satisfied: psycopg2 in /usr/lib/python3/dist-packages (from datacube>=1.8.5->odc-stac) (2.8.4) Collecting distributed Downloading distributed-2022.4.0-py3-none-any.whl (853 kB) |                               | 853 kB 297 kB/s Requirement already satisfied: jsonschema in /usr/lib/python3/dist-packages (from datacube>=1.8.5->odc-stac) (3.2.0) Collecting dask[array] Downloading dask-2022.4.0-py3-none-any.whl (1.1 MB) |                               | 1.1 MB 300 kB/s Collecting lark-parser>=0.6.7 Downloading lark_parser-0.12.0-py2.py3-none-any.whl (103 kB) |                               | 103 kB 339 kB/s Collecting cloudpickle>=0.4 Downloading cloudpickle-2.0.0-py3-none-any.whl (25 kB) Collecting netcdf4 Downloading netCDF4-1.5.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB) |                               | 4.7 MB 221 kB/s Requirement already satisfied: python-dateutil in ./.local/lib/python3.8/site-packages (from datacube>=1.8.5->odc-stac) (2.8.2) Requirement already satisfied: cachetools in ./.local/lib/python3.8/site-packages (from datacube>=1.8.5->odc-stac) (5.0.0) Requirement already satisfied: click>=5.0 in /usr/lib/python3/dist-packages (from datacube>=1.8.5->odc-stac) (7.0) Requirement already satisfied: pyproj>=2.5 in /usr/lib/python3/dist-packages (from datacube>=1.8.5->odc-stac) (3.2.1) Requirement already satisfied: pytz>=2020.1 in ./.local/lib/python3.8/site-packages (from pandas->odc-stac) (2021.3) Requirement already satisfied: packaging>=20.0 in /usr/lib/python3/dist-packages (from xarray>=0.19->odc-stac) (20.3) Requirement already satisfied: cligj>=0.5 in /usr/lib/python3/dist-packages (from rasterio>=1.0.2->datacube>=1.8.5->odc-stac) (0.5.0) Requirement already satisfied: attrs in /usr/lib/python3/dist-packages (from rasterio>=1.0.2->datacube>=1.8.5->odc-stac) (19.3.0) Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from rasterio>=1.0.2->datacube>=1.8.5->odc-stac) (2019.11.28) Requirement already satisfied: snuggs>=1.4.1 in ./.local/lib/python3.8/site-packages (from rasterio>=1.0.2->datacube>=1.8.5->odc-stac) (1.4.7) Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from rasterio>=1.0.2->datacube>=1.8.5->odc-stac) (45.2.0) Requirement already satisfied: click-plugins in /usr/lib/python3/dist-packages (from rasterio>=1.0.2->datacube>=1.8.5->odc-stac) (1.1.1) Requirement already satisfied: psutil>=5.0 in /usr/lib/python3/dist-packages (from distributed->datacube>=1.8.5->odc-stac) (5.5.1) Collecting zict>=0.1.3 Downloading zict-2.1.0-py3-none-any.whl (11 kB) Collecting tornado>=6.0.3 Downloading tornado-6.1-cp38-cp38-manylinux2010_x86_64.whl (427 kB) |                              | 427 kB 184 kB/s Requirement already satisfied: urllib3 in /usr/lib/python3/dist-packages (from distributed->datacube>=1.8.5->odc-stac) (1.25.8) Collecting tblib>=1.6.0 Downloading tblib-1.7.0-py2.py3-none-any.whl (12 kB) Collecting msgpack>=0.6.0 Downloading msgpack-1.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (322 kB) |                              | 322 kB 191 kB/s Collecting sortedcontainers!=2.0.0,!=2.0.1 Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB) Collecting fsspec>=0.6.0 Downloading fsspec-2022.3.0-py3-none-any.whl (136 kB) |                            | 136 kB 255 kB/s Collecting partd>=0.3.10 Downloading partd-1.2.0-py3-none-any.whl (19 kB) Collecting cftime Downloading cftime-1.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (238 kB) |                              | 238 kB 305 kB/s Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil->datacube>=1.8.5->odc-stac) (1.14.0) Requirement already satisfied: pyparsing>=2.1.6 in /usr/lib/python3/dist-packages (from snuggs>=1.4.1->rasterio>=1.0.2->datacube>=1.8.5->odc-stac) (2.4.6) Collecting heapdict Downloading HeapDict-1.0.1-py3-none-any.whl (3.9 kB) Collecting locket Downloading locket-0.2.1-py2.py3-none-any.whl (4.1 kB) Installing collected packages: toolz, fsspec, locket, partd, cloudpickle, dask, heapdict, zict, tornado, tblib, msgpack, sortedcontainers, distributed, lark-parser, cftime, netcdf4, datacube, pystac, odc-stac Successfully installed cftime-1.6.0 cloudpickle-2.0.0 dask-2022.4.0 datacube-1.8.6 distributed-2022.4.0 fsspec-2022.3.0 heapdict-1.0.1 lark-parser-0.12.0 locket-0.2.1 msgpack-1.0.3 netcdf4-1.5.8 odc-stac-0.2.4 partd-1.2.0 pystac-1.4.0 sortedcontainers-2.4.0 tblib-1.7.0 toolz-0.11.2 tornado-6.1 zict-2.1.0

OSM software stack
osm2pgsql and libosmium Sat 26 Feb 2022 07:10:31 PM PST

osm2pgsql 1.3.0+ds-1~focal2
 * 1) ubuntugis-unstable  focal

osm2pgsql 1.6    lonvia committed on Jan 24 2022 osm2pgsql 1.5.1  Thu Jul 29 09:49:35 2021 +0200
 * 1) git repo

PROJ6_INCLUDE_DIR /usr/include PROJ_LIBRARY /usr/lib/x86_64-linux-gnu/libproj.so WITH_LUA  ON EXTERNAL_LIBOSMIUM  FALSE LIBOSMIUM_VERSION_STRING "2.17.0"
 * 1) osm2pgsql cmake variables set
 * 1) from osm2pgsql/contrib/libosmium/

$ apt show libosmium2-dev =>   2.17.2-1~focal0

$ osmium --version => osmium version 1.11.1, libosmium version 2.15.4
 * 1) the result of apt installing Universe  python3-pyosmium  2.15.3-1build2

so, that is behind slightly from 2.17.x osmium headers

$ osm2pgsql --version 2022-02-26 20:14:19 osm2pgsql version 1.6.0 Build: Debug Compiled using the following library versions: Libosmium 2.17.3 Proj [API 6] 8.2.0 Lua 5.3.3
 * 1) rebuild osm2pgsql 1.6.0,   better !

$ sudo make install ... [ 95%] Built target osm2pgsql_lib [100%] Built target osm2pgsql Install the project... -- Install configuration: "Debug" -- Installing: /usr/local/bin/osm2pgsql -- Installing: /usr/local/bin/osm2pgsql-replication -- Installing: /usr/local/share/man/man1/osm2pgsql-replication.1 -- Installing: /usr/local/share/osm2pgsql/default.style -- Installing: /usr/local/share/osm2pgsql/empty.style -- Installing: /usr/local/share/man/man1/osm2pgsql.1

OSMnx in tutorial  https://pygis.io/docs/d_access_osm.html code https://pypi.org/project/osmnx/#files


 * 1) osm2pgsql FLEX layout post-processing via LUA

./flex-config/ route-relations.lua  unitable.lua   geometries.lua data-types.lua  attributes.lua   compatible.lua simple.lua  places.lua   generic.lua   with-schema.lua

./tests/data/ test_output_flex_multigeom_polygon.lua test_output_flex_way.lua test_output_flex_area_3857.lua test_output_flex_attr.lua test_output_flex_stage2.lua test_output_flex_nocluster.lua test_output_flex_multigeom_multipolygon_split.lua test_output_flex_multigeom.lua test_output_flex_multigeom_multipolygon.lua test_output_flex_nodes.lua test_output_flex_area_4326.lua test_output_flex_relation_combinations.lua test_output_flex_nogeom.lua test_output_flex_area.lua test_output_flex_lua_fail.lua test_output_flex_bbox.lua test_output_flex_types.lua test_output_flex_area_mix.lua test_output_flex_relation_changes.lua test_output_flex_schema.lua test_output_flex_multigeom_geometry_split.lua test_output_flex_stage2_alt.lua test_output_flex_uni.lua test_output_flex.lua test_output_flex_validgeom.lua test_output_flex_line.lua test_output_flex_invalid_geom.lua test_output_flex_multigeom_geometry.lua test_output_flex_relations.lua

osmium-add-locations-to-ways  osmium-export                  osmium-merge-changes osmium-apply-changes          osmium-extract                 osmium-query-locations-index osmium-cat                    osmium-file-formats            osmium-renumber osmium-changeset-filter       osmium-fileinfo                osmium-show osmium-check-refs             osmium-getid                   osmium-sort osmium-create-locations-index osmium-getparents              osmium-tags-filter osmium-derive-changes         osmium-index-types             osmium-time-filter osmium-diff                   osmium-merge
 * 1) a full list of osmium verbs

eo-learn pip Fix-It Session
eolearn -- aprox. of python3 dependancies import
 * pandas as pd
 * geopandas as gpd
 * shapely. geometry, ops, wkt
 * rasterio. features, transform, warp
 * skimage. feature, filters.rank, morphology, segmentation
 * boto3, cv2
 * fiona
 * graphviz
 * abc, attr, base64
 * collections, concurrent.futures
 * dataclasses, datetime as dt
 * dateutil, dateutil.parser
 * fs, functools, gzip
 * importlib, inspect, itertools as it
 * json, logging, multiprocessing, os
 * pickle, ray, re, registration
 * tempfile, threading, time, traceback
 * unittest.mock as mock, uuid, warnings
 * unittest.mock as mock, uuid, warnings

$ pip install --user --upgrade --upgrade-strategy=only-if-needed    pandas Collecting pandas Downloading pandas-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB) |                               | 11.7 MB 79 kB/s Collecting pytz>=2020.1 Downloading pytz-2021.3-py2.py3-none-any.whl (503 kB) |                               | 503 kB 260 kB/s Collecting python-dateutil>=2.8.1 Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) |                               | 247 kB 210 kB/s Collecting numpy>=1.18.5; platform_machine != "aarch64" and platform_machine != "arm64" and python_version < "3.10" Downloading numpy-1.22.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.8 MB) |                               | 16.8 MB 11 kB/s Requirement already satisfied, skipping upgrade: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil>=2.8.1->pandas) (1.14.0) ERROR: sentinelhub 3.4.4 has requirement pillow<=8.4.0,>=8.3.2, but you'll have pillow 7.0.0 which is incompatible. ERROR: scikit-image 0.19.2 has requirement scipy>=1.4.1, but you'll have scipy 1.3.3 which is incompatible. ERROR: numba 0.55.1 has requirement numpy<1.22,>=1.18, but you'll have numpy 1.22.2 which is incompatible. ERROR: imageio 2.16.0 has requirement pillow>=8.3.2, but you'll have pillow 7.0.0 which is incompatible. Installing collected packages: pytz, python-dateutil, numpy, pandas Successfully installed numpy-1.22.2 pandas-1.4.1 python-dateutil-2.8.2 pytz-2021.3

$ pip install --user --upgrade --upgrade-strategy=only-if-needed     scikit-image Requirement already up-to-date: scikit-image in ./.local/lib/python3.8/site-packages (0.19.2) Requirement already satisfied, skipping upgrade: imageio>=2.4.1 in ./.local/lib/python3.8/site-packages (from scikit-image) (2.16.0) Requirement already satisfied, skipping upgrade: packaging>=20.0 in /usr/lib/python3/dist-packages (from scikit-image) (20.3) Collecting scipy>=1.4.1 Downloading scipy-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (41.6 MB) |                               | 41.6 MB 20 kB/s Requirement already satisfied, skipping upgrade: pillow!=7.1.0,!=7.1.1,!=8.3.0,>=6.1.0 in /usr/lib/python3/dist-packages (from scikit-image) (7.0.0) Requirement already satisfied, skipping upgrade: numpy>=1.17.0 in ./.local/lib/python3.8/site-packages (from scikit-image) (1.22.2) Requirement already satisfied, skipping upgrade: PyWavelets>=1.1.1 in ./.local/lib/python3.8/site-packages (from scikit-image) (1.2.0) Requirement already satisfied, skipping upgrade: networkx>=2.2 in ./.local/lib/python3.8/site-packages (from scikit-image) (2.6.3) Requirement already satisfied, skipping upgrade: tifffile>=2019.7.26 in ./.local/lib/python3.8/site-packages (from scikit-image) (2022.2.9) Installing collected packages: scipy Successfully installed scipy-1.8.0

$ pip install --user --upgrade --upgrade-strategy=only-if-needed      imageio Requirement already up-to-date: imageio in ./.local/lib/python3.8/site-packages (2.16.0) Requirement already satisfied, skipping upgrade: numpy>=1.20.0 in ./.local/lib/python3.8/site-packages (from imageio) (1.22.2) Collecting pillow>=8.3.2 Downloading Pillow-9.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB) |                               | 4.3 MB 99 kB/s ERROR: sentinelhub 3.4.4 has requirement pillow<=8.4.0,>=8.3.2, but you'll have pillow 9.0.1 which is incompatible. Installing collected packages: pillow Successfully installed pillow-9.0.1

$ pip install --user --upgrade --upgrade-strategy=only-if-needed      numba Requirement already up-to-date: numba in ./.local/lib/python3.8/site-packages (0.55.1) Collecting numpy<1.22,>=1.18 Downloading numpy-1.21.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.7 MB) |                               | 15.7 MB 361 kB/s Requirement already satisfied, skipping upgrade: setuptools in /usr/lib/python3/dist-packages (from numba) (45.2.0) Requirement already satisfied, skipping upgrade: llvmlite<0.39,>=0.38.0rc1 in ./.local/lib/python3.8/site-packages (from numba) (0.38.0) ERROR: sentinelhub 3.4.4 has requirement pillow<=8.4.0,>=8.3.2, but you'll have pillow 9.0.1 which is incompatible. Installing collected packages: numpy Attempting uninstall: numpy Found existing installation: numpy 1.22.2 Uninstalling numpy-1.22.2: Successfully uninstalled numpy-1.22.2 Successfully installed numpy-1.21.5

$ pip install --user --upgrade --upgrade-strategy=only-if-needed       sentinelhub Requirement already up-to-date: sentinelhub in ./.local/lib/python3.8/site-packages (3.4.4) Requirement already satisfied, skipping upgrade: oauthlib in /usr/lib/python3/dist-packages (from sentinelhub) (3.1.0) Requirement already satisfied, skipping upgrade: requests-oauthlib in ./.local/lib/python3.8/site-packages (from sentinelhub) (1.3.1) Requirement already satisfied, skipping upgrade: dataclasses-json in ./.local/lib/python3.8/site-packages (from sentinelhub) (0.5.6) Requirement already satisfied, skipping upgrade: numpy in ./.local/lib/python3.8/site-packages (from sentinelhub) (1.21.5) Requirement already satisfied, skipping upgrade: pyproj>=2.2.0 in /usr/lib/python3/dist-packages (from sentinelhub) (3.2.1) Requirement already satisfied, skipping upgrade: python-dateutil in ./.local/lib/python3.8/site-packages (from sentinelhub) (2.8.2) Requirement already satisfied, skipping upgrade: requests>=2.5.0 in /usr/lib/python3/dist-packages (from sentinelhub) (2.22.0) Requirement already satisfied, skipping upgrade: tifffile in ./.local/lib/python3.8/site-packages (from sentinelhub) (2022.2.9) Requirement already satisfied, skipping upgrade: utm in ./.local/lib/python3.8/site-packages (from sentinelhub) (0.7.0) Collecting pillow<=8.4.0,>=8.3.2 Downloading Pillow-8.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB) |                               | 3.1 MB 43 kB/s Requirement already satisfied, skipping upgrade: click in /usr/lib/python3/dist-packages (from sentinelhub) (7.0) Requirement already satisfied, skipping upgrade: aenum>=2.1.4 in ./.local/lib/python3.8/site-packages (from sentinelhub) (3.1.8) Requirement already satisfied, skipping upgrade: boto3 in ./.local/lib/python3.8/site-packages (from sentinelhub) (1.21.2) Requirement already satisfied, skipping upgrade: shapely in /usr/lib/python3/dist-packages (from sentinelhub) (1.8.0) Requirement already satisfied, skipping upgrade: botocore in ./.local/lib/python3.8/site-packages (from sentinelhub) (1.24.2) Requirement already satisfied, skipping upgrade: tqdm in ./.local/lib/python3.8/site-packages (from sentinelhub) (4.62.3) Requirement already satisfied, skipping upgrade: typing-inspect>=0.4.0 in ./.local/lib/python3.8/site-packages (from dataclasses-json->sentinelhub) (0.7.1) Requirement already satisfied, skipping upgrade: marshmallow-enum<2.0.0,>=1.5.1 in ./.local/lib/python3.8/site-packages (from dataclasses-json->sentinelhub) (1.5.1) Requirement already satisfied, skipping upgrade: marshmallow<4.0.0,>=3.3.0 in ./.local/lib/python3.8/site-packages (from dataclasses-json->sentinelhub) (3.14.1) Requirement already satisfied, skipping upgrade: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil->sentinelhub) (1.14.0) Requirement already satisfied, skipping upgrade: jmespath<1.0.0,>=0.7.1 in ./.local/lib/python3.8/site-packages (from boto3->sentinelhub) (0.10.0) Requirement already satisfied, skipping upgrade: s3transfer<0.6.0,>=0.5.0 in ./.local/lib/python3.8/site-packages (from boto3->sentinelhub) (0.5.1) Requirement already satisfied, skipping upgrade: urllib3<1.27,>=1.25.4 in /usr/lib/python3/dist-packages (from botocore->sentinelhub) (1.25.8) Requirement already satisfied, skipping upgrade: typing-extensions>=3.7.4 in ./.local/lib/python3.8/site-packages (from typing-inspect>=0.4.0->dataclasses-json->sentinelhub) (4.1.1) Requirement already satisfied, skipping upgrade: mypy-extensions>=0.3.0 in ./.local/lib/python3.8/site-packages (from typing-inspect>=0.4.0->dataclasses-json->sentinelhub) (0.4.3) Installing collected packages: pillow Attempting uninstall: pillow Found existing installation: Pillow 9.0.1 Uninstalling Pillow-9.0.1: Successfully uninstalled Pillow-9.0.1 Successfully installed pillow-8.4.0

$ pip install --user --upgrade --upgrade-strategy=only-if-needed      eo-learn Requirement already up-to-date: eo-learn in ./.local/lib/python3.8/site-packages (1.0.0) Requirement already satisfied, skipping upgrade: eo-learn-io>=1.0.0 in ./.local/lib/python3.8/site-packages (from eo-learn) (1.0.0) Requirement already satisfied, skipping upgrade: eo-learn-coregistration>=1.0.0 in ./.local/lib/python3.8/site-packages (from eo-learn) (1.0.0) Requirement already satisfied, skipping upgrade: eo-learn-features>=1.0.0 in ./.local/lib/python3.8/site-packages (from eo-learn) (1.0.0) Requirement already satisfied, skipping upgrade: eo-learn-mask>=1.0.0 in ./.local/lib/python3.8/site-packages (from eo-learn) (1.0.0) Requirement already satisfied, skipping upgrade: eo-learn-ml-tools>=1.0.0 in ./.local/lib/python3.8/site-packages (from eo-learn) (1.0.0) Requirement already satisfied, skipping upgrade: eo-learn-core>=1.0.0 in ./.local/lib/python3.8/site-packages (from eo-learn) (1.0.0) Requirement already satisfied, skipping upgrade: eo-learn-visualization>=1.0.0 in ./.local/lib/python3.8/site-packages (from eo-learn) (1.0.0) Requirement already satisfied, skipping upgrade: eo-learn-geometry>=1.0.0 in ./.local/lib/python3.8/site-packages (from eo-learn) (1.0.0) Requirement already satisfied, skipping upgrade: rasterio>=1.2.7 in ./.local/lib/python3.8/site-packages (from eo-learn-io>=1.0.0->eo-learn) (1.2.10) Requirement already satisfied, skipping upgrade: sentinelhub>=3.4.0 in ./.local/lib/python3.8/site-packages (from eo-learn-io>=1.0.0->eo-learn) (3.4.4) Requirement already satisfied, skipping upgrade: fiona>=1.8.18 in /usr/lib/python3/dist-packages (from eo-learn-io>=1.0.0->eo-learn) (1.8.20) Requirement already satisfied, skipping upgrade: rtree in /usr/lib/python3/dist-packages (from eo-learn-io>=1.0.0->eo-learn) (0.9.4) Requirement already satisfied, skipping upgrade: geopandas>=0.8.1 in /usr/lib/python3/dist-packages (from eo-learn-io>=1.0.0->eo-learn) (0.10.2) Requirement already satisfied, skipping upgrade: boto3 in ./.local/lib/python3.8/site-packages (from eo-learn-io>=1.0.0->eo-learn) (1.21.2) Requirement already satisfied, skipping upgrade: opencv-contrib-python-headless>=4.1 in ./.local/lib/python3.8/site-packages (from eo-learn-coregistration>=1.0.0->eo-learn) (4.5.5.62) Requirement already satisfied, skipping upgrade: thunder-registration in ./.local/lib/python3.8/site-packages (from eo-learn-coregistration>=1.0.0->eo-learn) (1.0.1) Requirement already satisfied, skipping upgrade: python-dateutil in ./.local/lib/python3.8/site-packages (from eo-learn-features>=1.0.0->eo-learn) (2.8.2) Requirement already satisfied, skipping upgrade: scipy in ./.local/lib/python3.8/site-packages (from eo-learn-features>=1.0.0->eo-learn) (1.8.0) Requirement already satisfied, skipping upgrade: numba>=0.53.0 in ./.local/lib/python3.8/site-packages (from eo-learn-features>=1.0.0->eo-learn) (0.55.1) Requirement already satisfied, skipping upgrade: numpy in ./.local/lib/python3.8/site-packages (from eo-learn-features>=1.0.0->eo-learn) (1.21.5) Requirement already satisfied, skipping upgrade: scikit-learn in ./.local/lib/python3.8/site-packages (from eo-learn-features>=1.0.0->eo-learn) (1.0.2) Requirement already satisfied, skipping upgrade: scikit-image>=0.19.0 in ./.local/lib/python3.8/site-packages (from eo-learn-features>=1.0.0->eo-learn) (0.19.2) Requirement already satisfied, skipping upgrade: lightgbm>=2.0.11 in ./.local/lib/python3.8/site-packages (from eo-learn-mask>=1.0.0->eo-learn) (3.3.2) Requirement already satisfied, skipping upgrade: shapely in /usr/lib/python3/dist-packages (from eo-learn-ml-tools>=1.0.0->eo-learn) (1.8.0) Requirement already satisfied, skipping upgrade: attrs>=19.2.0 in /usr/lib/python3/dist-packages (from eo-learn-core>=1.0.0->eo-learn) (19.3.0) Requirement already satisfied, skipping upgrade: tqdm>=4.27 in ./.local/lib/python3.8/site-packages (from eo-learn-core>=1.0.0->eo-learn) (4.62.3) Requirement already satisfied, skipping upgrade: fs in ./.local/lib/python3.8/site-packages (from eo-learn-core>=1.0.0->eo-learn) (2.4.15) Requirement already satisfied, skipping upgrade: fs-s3fs in ./.local/lib/python3.8/site-packages (from eo-learn-core>=1.0.0->eo-learn) (1.1.1) Requirement already satisfied, skipping upgrade: pydot in /usr/lib/python3/dist-packages (from eo-learn-visualization>=1.0.0->eo-learn) (1.4.1) Requirement already satisfied, skipping upgrade: jinja2 in /usr/lib/python3/dist-packages (from eo-learn-visualization>=1.0.0->eo-learn) (2.10.1) Requirement already satisfied, skipping upgrade: matplotlib in /usr/lib/python3/dist-packages (from eo-learn-visualization>=1.0.0->eo-learn) (3.1.2) Requirement already satisfied, skipping upgrade: graphviz>=0.10.1 in ./.local/lib/python3.8/site-packages (from eo-learn-visualization>=1.0.0->eo-learn) (0.19.1) Requirement already satisfied, skipping upgrade: pygments in /usr/lib/python3/dist-packages (from eo-learn-visualization>=1.0.0->eo-learn) (2.3.1) Requirement already satisfied, skipping upgrade: descartes in /usr/lib/python3/dist-packages (from eo-learn-geometry>=1.0.0->eo-learn) (1.1.0) Requirement already satisfied, skipping upgrade: certifi in /usr/lib/python3/dist-packages (from rasterio>=1.2.7->eo-learn-io>=1.0.0->eo-learn) (2019.11.28) Requirement already satisfied, skipping upgrade: setuptools in /usr/lib/python3/dist-packages (from rasterio>=1.2.7->eo-learn-io>=1.0.0->eo-learn) (45.2.0) Requirement already satisfied, skipping upgrade: click-plugins in /usr/lib/python3/dist-packages (from rasterio>=1.2.7->eo-learn-io>=1.0.0->eo-learn) (1.1.1) Requirement already satisfied, skipping upgrade: cligj>=0.5 in /usr/lib/python3/dist-packages (from rasterio>=1.2.7->eo-learn-io>=1.0.0->eo-learn) (0.5.0) Requirement already satisfied, skipping upgrade: affine in ./.local/lib/python3.8/site-packages (from rasterio>=1.2.7->eo-learn-io>=1.0.0->eo-learn) (2.3.0) Requirement already satisfied, skipping upgrade: snuggs>=1.4.1 in ./.local/lib/python3.8/site-packages (from rasterio>=1.2.7->eo-learn-io>=1.0.0->eo-learn) (1.4.7) Requirement already satisfied, skipping upgrade: click>=4.0 in /usr/lib/python3/dist-packages (from rasterio>=1.2.7->eo-learn-io>=1.0.0->eo-learn) (7.0) Requirement already satisfied, skipping upgrade: pyproj>=2.2.0 in /usr/lib/python3/dist-packages (from sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (3.2.1) Requirement already satisfied, skipping upgrade: oauthlib in /usr/lib/python3/dist-packages (from sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (3.1.0) Requirement already satisfied, skipping upgrade: aenum>=2.1.4 in ./.local/lib/python3.8/site-packages (from sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (3.1.8) Requirement already satisfied, skipping upgrade: dataclasses-json in ./.local/lib/python3.8/site-packages (from sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (0.5.6) Requirement already satisfied, skipping upgrade: requests>=2.5.0 in /usr/lib/python3/dist-packages (from sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (2.22.0) Requirement already satisfied, skipping upgrade: tifffile in ./.local/lib/python3.8/site-packages (from sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (2022.2.9) Requirement already satisfied, skipping upgrade: utm in ./.local/lib/python3.8/site-packages (from sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (0.7.0) Requirement already satisfied, skipping upgrade: requests-oauthlib in ./.local/lib/python3.8/site-packages (from sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (1.3.1) Requirement already satisfied, skipping upgrade: pillow<=8.4.0,>=8.3.2 in ./.local/lib/python3.8/site-packages (from sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (8.4.0) Requirement already satisfied, skipping upgrade: botocore in ./.local/lib/python3.8/site-packages (from sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (1.24.2) Requirement already satisfied, skipping upgrade: jmespath<1.0.0,>=0.7.1 in ./.local/lib/python3.8/site-packages (from boto3->eo-learn-io>=1.0.0->eo-learn) (0.10.0) Requirement already satisfied, skipping upgrade: s3transfer<0.6.0,>=0.5.0 in ./.local/lib/python3.8/site-packages (from boto3->eo-learn-io>=1.0.0->eo-learn) (0.5.1) Requirement already satisfied, skipping upgrade: thunder-python>=1.2.0 in ./.local/lib/python3.8/site-packages (from thunder-registration->eo-learn-coregistration>=1.0.0->eo-learn) (1.4.2) Requirement already satisfied, skipping upgrade: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil->eo-learn-features>=1.0.0->eo-learn) (1.14.0) Requirement already satisfied, skipping upgrade: llvmlite<0.39,>=0.38.0rc1 in ./.local/lib/python3.8/site-packages (from numba>=0.53.0->eo-learn-features>=1.0.0->eo-learn) (0.38.0) Requirement already satisfied, skipping upgrade: threadpoolctl>=2.0.0 in ./.local/lib/python3.8/site-packages (from scikit-learn->eo-learn-features>=1.0.0->eo-learn) (3.1.0) Requirement already satisfied, skipping upgrade: joblib>=0.11 in ./.local/lib/python3.8/site-packages (from scikit-learn->eo-learn-features>=1.0.0->eo-learn) (1.1.0) Requirement already satisfied, skipping upgrade: PyWavelets>=1.1.1 in ./.local/lib/python3.8/site-packages (from scikit-image>=0.19.0->eo-learn-features>=1.0.0->eo-learn) (1.2.0) Requirement already satisfied, skipping upgrade: imageio>=2.4.1 in ./.local/lib/python3.8/site-packages (from scikit-image>=0.19.0->eo-learn-features>=1.0.0->eo-learn) (2.16.0) Requirement already satisfied, skipping upgrade: networkx>=2.2 in ./.local/lib/python3.8/site-packages (from scikit-image>=0.19.0->eo-learn-features>=1.0.0->eo-learn) (2.6.3) Requirement already satisfied, skipping upgrade: packaging>=20.0 in /usr/lib/python3/dist-packages (from scikit-image>=0.19.0->eo-learn-features>=1.0.0->eo-learn) (20.3) Requirement already satisfied, skipping upgrade: wheel in /usr/lib/python3/dist-packages (from lightgbm>=2.0.11->eo-learn-mask>=1.0.0->eo-learn) (0.34.2) Requirement already satisfied, skipping upgrade: pytz in ./.local/lib/python3.8/site-packages (from fs->eo-learn-core>=1.0.0->eo-learn) (2021.3) Requirement already satisfied, skipping upgrade: appdirs~=1.4.3 in ./.local/lib/python3.8/site-packages (from fs->eo-learn-core>=1.0.0->eo-learn) (1.4.4) Requirement already satisfied, skipping upgrade: pyparsing>=2.1.6 in /usr/lib/python3/dist-packages (from snuggs>=1.4.1->rasterio>=1.2.7->eo-learn-io>=1.0.0->eo-learn) (2.4.6) Requirement already satisfied, skipping upgrade: typing-inspect>=0.4.0 in ./.local/lib/python3.8/site-packages (from dataclasses-json->sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (0.7.1) Requirement already satisfied, skipping upgrade: marshmallow<4.0.0,>=3.3.0 in ./.local/lib/python3.8/site-packages (from dataclasses-json->sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (3.14.1) Requirement already satisfied, skipping upgrade: marshmallow-enum<2.0.0,>=1.5.1 in ./.local/lib/python3.8/site-packages (from dataclasses-json->sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (1.5.1) Requirement already satisfied, skipping upgrade: urllib3<1.27,>=1.25.4 in /usr/lib/python3/dist-packages (from botocore->sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (1.25.8) Requirement already satisfied, skipping upgrade: boto>=2.36.0 in ./.local/lib/python3.8/site-packages (from thunder-python>=1.2.0->thunder-registration->eo-learn-coregistration>=1.0.0->eo-learn) (2.49.0) Requirement already satisfied, skipping upgrade: bolt-python>=0.7.0 in ./.local/lib/python3.8/site-packages (from thunder-python>=1.2.0->thunder-registration->eo-learn-coregistration>=1.0.0->eo-learn) (0.7.1) Requirement already satisfied, skipping upgrade: mypy-extensions>=0.3.0 in ./.local/lib/python3.8/site-packages (from typing-inspect>=0.4.0->dataclasses-json->sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (0.4.3) Requirement already satisfied, skipping upgrade: typing-extensions>=3.7.4 in ./.local/lib/python3.8/site-packages (from typing-inspect>=0.4.0->dataclasses-json->sentinelhub>=3.4.0->eo-learn-io>=1.0.0->eo-learn) (4.1.1)

$ pip install --user --upgrade --upgrade-strategy=only-if-needed      ipyleaflet Collecting ipyleaflet Downloading ipyleaflet-0.15.0-py2.py3-none-any.whl (3.3 MB) |                               | 3.3 MB 364 kB/s Collecting traittypes<3,>=0.2.1 Downloading traittypes-0.2.1-py2.py3-none-any.whl (8.6 kB) Collecting xyzservices>=2021.8.1 Downloading xyzservices-2022.2.0-py3-none-any.whl (35 kB) Collecting ipywidgets<8,>=7.6.0 Downloading ipywidgets-7.6.5-py2.py3-none-any.whl (121 kB) |                               | 121 kB 338 kB/s Requirement already satisfied, skipping upgrade: traitlets>=4.2.2 in /usr/lib/python3/dist-packages (from traittypes<3,>=0.2.1->ipyleaflet) (4.3.3) Requirement already satisfied, skipping upgrade: ipykernel>=4.5.1 in /usr/lib/python3/dist-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (5.2.0) Requirement already satisfied, skipping upgrade: ipython>=4.0.0; python_version >= "3.3" in /usr/lib/python3/dist-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (7.13.0) Requirement already satisfied, skipping upgrade: ipython-genutils~=0.2.0 in /usr/lib/python3/dist-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (0.2.0) Collecting jupyterlab-widgets>=1.0.0; python_version >= "3.6" Downloading jupyterlab_widgets-1.0.2-py3-none-any.whl (243 kB) |                               | 243 kB 376 kB/s Collecting widgetsnbextension~=3.5.0 Downloading widgetsnbextension-3.5.2-py2.py3-none-any.whl (1.6 MB) |                               | 1.6 MB 359 kB/s Requirement already satisfied, skipping upgrade: nbformat>=4.2.0 in /usr/lib/python3/dist-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (5.0.4) Requirement already satisfied, skipping upgrade: pexpect in /usr/lib/python3/dist-packages (from ipython>=4.0.0; python_version >= "3.3"->ipywidgets<8,>=7.6.0->ipyleaflet) (4.6.0) Requirement already satisfied, skipping upgrade: notebook>=4.4.1 in /usr/lib/python3/dist-packages (from widgetsnbextension~=3.5.0->ipywidgets<8,>=7.6.0->ipyleaflet) (6.0.3) Installing collected packages: traittypes, xyzservices, jupyterlab-widgets, widgetsnbextension, ipywidgets, ipyleaflet Successfully installed ipyleaflet-0.15.0 ipywidgets-7.6.5 jupyterlab-widgets-1.0.2 traittypes-0.2.1 widgetsnbextension-3.5.2 xyzservices-2022.2.0


 * 1) jupyter nbextension enable --py --sys-prefix{?} ipyleaflet # can be skipped for notebook 5.3 and above

R setup
Focal default R

$ R version 3.6.3 (2020-02-29) -- "Holding the Windsock"

A better future awaits: https://cran.r-project.org/bin/linux/ubuntu/

-- R language example

Explainable Machine Learning for Land Cover Classification by Courage K. 2021

rm(list=ls) library(sf)   # represents simple features as native R objects library(rgdal) # interface to the “Geospatial Data Abstraction Library (GDAL) library(raster) # provides important functions for importing and handling raster data library(rasterVis) # provides functions to display raster objects library(dplyr) # provides basic data transformation functions library(ggplot2) # provides extension for visualizations library(mapview) # provides functions to visualize geospatial data library(randomForest) # implements Breiman’s random forest (RF) algorithm library(kernlab) # implements support vector machine (SVM) algorithm library(corrplot) # provides graphical display of a correlation matrix library(iml)  # Keras-base tools for analyzing machine learning models library(caret) # machine learning helper
 * 1) Load the libraries example code from aigeolabs.com



$ apt install r-base-core --yes ... The following NEW packages will be installed: gfortran gfortran-9 libgfortran-9-dev libpcre2-32-0 libpcre2-dev libpcre2-posix2 r-base-core r-base-dev r-cran-boot r-cran-class r-cran-cluster r-cran-codetools r-cran-foreign r-cran-kernsmooth r-cran-lattice r-cran-mass r-cran-matrix r-cran-mgcv r-cran-nlme r-cran-nnet r-cran-rpart r-cran-spatial r-cran-survival r-doc-html r-recommended
 * 1)  Focal R apt

$ apt install r-cran-sf --yes ... The following NEW packages will be installed: fonts-glewlwyd libjs-d3 libjs-es5-shim libjs-highlight.js libjs-jquery-datatables libjs-jquery-datatables-extensions libjs-jquery-selectize.js libjs-json libjs-microplugin.js libjs-prettify libjs-sifter.js libjs-twitter-bootstrap-datepicker libnode64 libudunits2-0 libudunits2-data littler node-highlight.js node-html5shiv node-normalize.css nodejs nodejs-doc r-cran-abind r-cran-askpass r-cran-assertthat r-cran-backports r-cran-base64enc r-cran-bh r-cran-bit r-cran-bit64 r-cran-bitops r-cran-blob r-cran-brew r-cran-callr r-cran-classint r-cran-cli r-cran-cliapp r-cran-clipr r-cran-clisymbols r-cran-colorspace r-cran-commonmark r-cran-covr r-cran-crayon r-cran-crosstalk r-cran-curl r-cran-data.table r-cran-dbi r-cran-dbitest r-cran-deldir r-cran-desc r-cran-devtools r-cran-diffobj r-cran-digest r-cran-domc r-cran-dplyr r-cran-dt r-cran-e1071 r-cran-ellipsis r-cran-evaluate r-cran-fansi r-cran-farver r-cran-fastmap r-cran-filehash r-cran-fontbitstreamvera r-cran-fontliberation r-cran-fontquiver r-cran-foreach r-cran-freetypeharfbuzz r-cran-fs r-cran-future r-cran-gdtools r-cran-generics r-cran-ggplot2 r-cran-gh r-cran-git2r r-cran-globals r-cran-glue r-cran-goftest r-cran-gsl r-cran-gtable r-cran-hexbin r-cran-highr r-cran-hms r-cran-htmltools r-cran-htmlwidgets r-cran-httpuv r-cran-httr r-cran-ini r-cran-iterators r-cran-jsonlite r-cran-knitr r-cran-labeling r-cran-later r-cran-lazyeval r-cran-lifecycle r-cran-listenv r-cran-littler r-cran-lubridate r-cran-magrittr r-cran-mapproj r-cran-maps r-cran-maptools r-cran-markdown r-cran-memoise r-cran-mime r-cran-mockery r-cran-mockr r-cran-multicore r-cran-munsell r-cran-openssl r-cran-pillar r-cran-pkgbuild r-cran-pkgconfig r-cran-pkgkitten r-cran-pkgload r-cran-plogr r-cran-plyr r-cran-png r-cran-polyclip r-cran-praise r-cran-prettycode r-cran-prettyunits r-cran-processx r-cran-progress r-cran-promises r-cran-ps r-cran-purrr r-cran-r.methodss3 r-cran-r.oo r-cran-r6 r-cran-randomfields r-cran-randomfieldsutils r-cran-raster r-cran-rcmdcheck r-cran-rcolorbrewer r-cran-rcpp r-cran-remotes r-cran-reshape2 r-cran-rex r-cran-rgdal r-cran-rlang r-cran-rmarkdown r-cran-roxygen2 r-cran-rpostgresql r-cran-rprojroot r-cran-rsqlite r-cran-rstudioapi r-cran-runit r-cran-rversions r-cran-scales r-cran-selectr r-cran-sessioninfo r-cran-sf r-cran-shiny r-cran-sodium r-cran-sourcetools r-cran-sp r-cran-spatstat r-cran-spatstat.data r-cran-spatstat.utils r-cran-stringi r-cran-stringr r-cran-sys r-cran-systemfonts r-cran-tensor r-cran-testit r-cran-testthat r-cran-tibble r-cran-tidyr r-cran-tidyselect r-cran-tikzdevice r-cran-tinytex r-cran-units r-cran-usethis r-cran-utf8 r-cran-vctrs r-cran-vdiffr r-cran-viridislite r-cran-webutils r-cran-whisker r-cran-withr r-cran-xfun r-cran-xml r-cran-xml2 r-cran-xopen r-cran-xtable r-cran-yaml 0 upgraded, 186

R library stars -- scalable, spatiotemporal tidy arrays for GNU R Using GDAL bindings, stars package provides support for scalable, spatiotemporal tidy arrays in GNU R.

$ sudo apt install r-cran-stars -s ... The following additional packages will be installed: libnlopt0 libproj15 r-cran-aer r-cran-bdsmatrix r-cran-bibtex r-cran-broom r-cran-car r-cran-cardata r-cran-catools r-cran-cellranger r-cran-clubsandwich r-cran-dynlm r-cran-forcats r-cran-formula r-cran-fts r-cran-gbrd r-cran-gdata r-cran-geepack r-cran-geosphere r-cran-gplots r-cran-gtools r-cran-haven r-cran-intervals r-cran-lme4 r-cran-lmtest r-cran-lwgeom r-cran-matrixmodels r-cran-maxlik r-cran-minqa r-cran-misctools r-cran-mlmrev r-cran-ncdf4 r-cran-ncdfgeom r-cran-ncmeta r-cran-nloptr r-cran-numderiv r-cran-openxlsx r-cran-pbkrtest r-cran-pcict r-cran-plm r-cran-pscl r-cran-quadprog r-cran-quantmod r-cran-quantreg r-cran-rcppeigen r-cran-rdpack r-cran-readr r-cran-readxl r-cran-rematch r-cran-rio r-cran-rnetcdf r-cran-rocr r-cran-sandwich r-cran-spacetime r-cran-sparsem r-cran-spdata r-cran-strucchange r-cran-systemfit r-cran-timedate r-cran-timeseries r-cran-tseries r-cran-ttr r-cran-urca r-cran-xts r-cran-zip r-cran-zoo Suggested packages: r-cran-effects r-cran-fgarch r-cran-forecast r-cran-rgl r-cran-scatterplot3d r-cran-bbmle r-cran-brms r-cran-caret r-cran-coda r-cran-emmeans r-cran-gam r-cran-glmnet r-cran-gmm r-cran-hmisc r-cran-irlba r-cran-ks r-cran-lavaan r-cran-lsmeans r-cran-mclust r-cran-multcomp r-cran-ordinal r-cran-psych r-cran-robust r-cran-rsample r-cran-rstan r-cran-rstanarm r-cran-survey r-cran-tidyverse r-cran-spdep r-cran-statmod r-cran-bookdown r-cran-mcmcpack r-cran-vcd r-cran-mvtnorm r-cran-mapdata r-cran-googlevis r-cran-isocodes r-cran-spatialreg r-cran-future.apply r-cran-ggthemes r-cran-pbapply r-cran-viridis r-cran-sem r-cran-robustbase r-cran-chron The following NEW packages will be installed: libnlopt0 libproj15 r-cran-aer r-cran-bdsmatrix r-cran-bibtex r-cran-broom r-cran-car r-cran-cardata r-cran-catools r-cran-cellranger r-cran-clubsandwich r-cran-dynlm r-cran-forcats r-cran-formula r-cran-fts r-cran-gbrd r-cran-gdata r-cran-geepack r-cran-geosphere r-cran-gplots r-cran-gtools r-cran-haven r-cran-intervals r-cran-lme4 r-cran-lmtest r-cran-lwgeom r-cran-matrixmodels r-cran-maxlik r-cran-minqa r-cran-misctools r-cran-mlmrev r-cran-ncdf4 r-cran-ncdfgeom r-cran-ncmeta r-cran-nloptr r-cran-numderiv r-cran-openxlsx r-cran-pbkrtest r-cran-pcict r-cran-plm r-cran-pscl r-cran-quadprog r-cran-quantmod r-cran-quantreg r-cran-rcppeigen r-cran-rdpack r-cran-readr r-cran-readxl r-cran-rematch r-cran-rio r-cran-rnetcdf r-cran-rocr r-cran-sandwich r-cran-spacetime r-cran-sparsem r-cran-spdata r-cran-stars r-cran-strucchange r-cran-systemfit r-cran-timedate r-cran-timeseries r-cran-tseries r-cran-ttr r-cran-urca r-cran-xts r-cran-zip r-cran-zoo

Warning from rgdal ... > library(rgdal) Loading required package: sp rgdal: version: 1.5-18, (SVN revision 1082) Geospatial Data Abstraction Library extensions to R successfully loaded Loaded GDAL runtime: GDAL 3.4.0, released 2021/11/04 Path to GDAL shared files: /usr/share/gdal GDAL binary built with GEOS: TRUE Loaded PROJ runtime: Rel. 8.2.0, November 1st, 2021, [PJ_VERSION: 820] Path to PROJ shared files: /home/dbb/.local/share/proj:/usr/share/proj PROJ CDN enabled: FALSE Linking to sp version:1.4-0 To mute warnings of possible GDAL/OSR exportToProj4 degradation, use options("rgdal_show_exportToProj4_warnings"="none") before loading rgdal.

OSGeoLive install_R.sh ver14

apt-get --assume-yes install r-base-core r-cran-sp r-cran-rpostgresql r-cran-udunits2 \ r-cran-ggplot2 r-cran-sf r-cran-lwgeom r-cran-spdata r-cran-rgdal r-cran-maptools

osgeolive 10 patch
in 2016, after being alerted -LINK- , I used   to upgrade ipywidgets on the OSGeo-Live 10.0 base system.

The following is a modified patch file showing the changes in Python 2.7:

-ipykernel==4.2.2 +ipykernel==4.5.2 ... -ipython==4.0.2 +ipython==5.1.0 -ipywidgets==5.1.5 +ipywidgets==5.2.2 -jupyter-client==4.1.1 +jupyter-client==4.4.0 jupyter-console==4.1.0 -jupyter-core==4.0.6 +jupyter-core==4.2.1 -notebook==4.2.1 +notebook==4.3.0 -nbconvert==4.1.0 -nbformat==4.0.1 +nbconvert==5.0.0 +nbformat==4.2.0 +html5lib==0.9999999 -ptyprocess==0.5 +ptyprocess==0.5.1 -pexpect==4.0.1 -pickleshare==0.5 +pexpect==4.2.1 +pickleshare==0.7.4
 * 1) Major components, version changed

-decorator==4.0.6 +decorator==4.0.10

+backports-abc==0.5 +backports.shutil-get-terminal-size==1.0.0 +bleach==1.5.0 +certifi==2016.9.26 +configparser==3.5.0 -enum34==1.1.2 +entrypoints==0.2.2 +enum34==1.1.6 -mistune==0.7.1 +mistune==0.7.3 +pandocfilters==1.4.1 +pathlib2==2.1.0 +prompt-toolkit==1.0.9 -Pygments==2.1 +Pygments==2.1.3 -pyzmq==15.2.0 +pyzmq==16.0.2 +testpath==0.3 -tornado==4.2.1 -traitlets==4.1.0 +tornado==4.4.2 +traitlets==4.3.1 +wcwidth==0.1.7 -widgetsnbextension==1.2.3 +widgetsnbextension==1.2.6
 * 1) -- misc other additions --

anyjson==0.3.3 Biggus==0.13.0 Cartopy==0.14.2 celery==3.1.20 cf-units==1.0.0 colorama==0.3.7 cycler==0.9.0 defer==1.0.6 descartes==1.0.1 filemagic==1.6 Fiona==1.6.3 Iris==1.9.2 imposm==2.6.0 imposm.parser==1.0.7 ipyleaflet==0.2.0 jsonschema==2.5.1 meld==3.14.2 ModestMaps==1.4.6 netCDF4==1.2.4 Nik4==1.6.0 numpy==1.11.0 osmapi==0.6.2 OWSLib==0.10.3 pandas==0.17.1 psutil==3.4.2 psycopg2==2.6.1 pykml==0.1.1 pywps==3.2.5 rasterio==0.31.0 TileStache==1.49.8
 * 1) -- misc other python libs (unchanged)

Snapshot local python install -- All Packages
Sat 26 Feb 2022 07:10:31 PM PST

$ ls .local/lib/python3.8/site-packages/ | grep info | sed -e 's/\.dist-info//' aenum-3.1.8 affine-2.3.0 appdirs-1.4.4 bolt_python-0.7.1 boto-2.49.0 boto3-1.21.2 botocore-1.24.2 branca-0.4.2 charset_normalizer-2.0.12 dataclasses_json-0.5.6 Deprecated-1.2.13 eo_learn-1.0.0 eo_learn_core-1.0.0 eo_learn_coregistration-1.0.0 eo_learn_features-1.0.0 eo_learn_geometry-1.0.0 eo_learn_io-1.0.0 eo_learn_mask-1.0.0 eo_learn_ml_tools-1.0.0 eo_learn_visualization-1.0.0 folium-0.12.1.post1 fs-2.4.15 fs_s3fs-1.1.1 graphviz-0.19.1 imageio-2.16.0 ipyleaflet-0.15.0 ipywidgets-7.6.5 jmespath-0.10.0 joblib-1.1.0 jupyterlab_widgets-1.0.2 lightgbm-3.3.2 llvmlite-0.38.0 marshmallow-3.14.1 marshmallow_enum-1.5.1 mypy_extensions-0.4.3 networkx-2.6.3 numba-0.55.1 numpy-1.21.5 opencv_contrib_python_headless-4.5.5.62 openeo-0.9.2 pandas-1.4.1 Pillow-8.4.0 python_dateutil-2.8.2 pytz-2021.3 PyWavelets-1.2.0 rasterio-1.2.10 requests-2.27.1 requests_oauthlib-1.3.1 s3transfer-0.5.1 scikit_image-0.19.2 scikit_learn-1.0.2 scipy-1.8.0 sentinelhub-3.4.4 snuggs-1.4.7 threadpoolctl-3.1.0 thunder_python-1.4.2 thunder_registration-1.0.1 tifffile-2022.2.9 tqdm-4.62.3 traittypes-0.2.1 typing_extensions-4.1.1 typing_inspect-0.7.1 utm-0.7.0 widgetsnbextension-3.5.2 wrapt-1.13.3 xarray-0.21.1 xyzservices-2022.2.0