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

Python: Bump minimal python version to 3.10 #56499

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lbartoletti
Copy link
Member

Description

Our minimum required Python version has been end-of-life since 2023-06-27. Most major distributions have long since moved to Python 3.9 or higher.

Following the discussions on the ticket, I propose to set the minimum version directly to 3.10. Most bleeding edge/rolling release distributions already have multiple versions of Python or a minimum version higher than 3.9.

While I doubt this will be merged directly — and I don't insist on it — I would like to discuss it in the PR. Developers, before merging, I want to hear from system packagers, who are directly affected by this; before users and plugin developers.

cc @jef-n @manisandro @rhurlin @landryb @gdt @sebastic @chenrui333

Fixes #54491

@lbartoletti lbartoletti added Build/Install Related to compiling or installing QGIS NOT FOR MERGE Don't merge! NOT FOR BACKPORT! Too risky and unsuitable for backporting labels Feb 23, 2024
@lbartoletti lbartoletti self-assigned this Feb 23, 2024
@github-actions github-actions bot added this to the 3.38.0 milestone Feb 23, 2024
@sebastic
Copy link
Contributor

While I doubt this will be merged directly — and I don't insist on it — I would like to discuss it in the PR. Developers, before merging, I want to hear from system packagers, who are directly affected by this; before users and plugin developers.

Debian bookworm has Python 3.11, so this not an issue for backports.

@manisandro
Copy link
Member

Ok for Fedora, F38 (oldest non EOL release) has python-3.11.

@landryb
Copy link
Contributor

landryb commented Feb 23, 2024

OpenBSD 7.4 ships 3.10 by default (and that since openbsd/ports@80fda491b 1.5 years ago), and we'll probably switch to 3.11 someday in the future. Fine with me either :)

Copy link

🪟 Windows builds ready!

Windows builds of this PR are available for testing here. Debug symbols for this build are available here.

(Built from commit 90620ff)

@DelazJ
Copy link
Contributor

DelazJ commented Feb 23, 2024

How is it on macOS?

@rhurlin
Copy link
Contributor

rhurlin commented Feb 23, 2024

FreeBSD has possible versions 3.8, 3.9, 3.10 and 3.11, default version is 3.9 until know.

@lbartoletti
Copy link
Member Author

lbartoletti commented Feb 23, 2024

FreeBSD has possible versions 3.8, 3.9, 3.10 and 3.11, default version is 3.9 until know.

Thanks! and python 3.11 by default soon 😉

@lbartoletti
Copy link
Member Author

How is it on macOS?

you know who we have to ping?

@chenrui333 You seem to be the brew maintainer, but maybe you're not the one in charge of compilation?

@agiudiceandrea
Copy link
Contributor

Debian bullseye is still at Python 3.9.

@lbartoletti
Copy link
Member Author

Debian bullseye is still at Python 3.9.

OK, but. Is it a problem? Since, if I'm not wrong, the QGIS version will be blocked with the current dependencies of this system. It seems to me, as @sebastic says, that we'll only be on bookworm.

@agiudiceandrea
Copy link
Contributor

Debian bullseye is still at Python 3.9.

OK, but. Is it a problem? Since, if I'm not wrong, the QGIS version will be blocked with the current dependencies of this system. It seems to me, as @sebastic says, that we'll only be on bookworm.

QGIS 3.36 is currently available for bullseye https://qgis.org/en/site/forusers/alldownloads.html#repositories.

@rouault
Copy link
Contributor

rouault commented Feb 26, 2024

QGIS 3.36 is currently available for bullseye https://qgis.org/en/site/forusers/alldownloads.html#repositories.

The Py 3.10+ requirement would be for 3.38 only, with 3.36 being the last one packaged for Bullseye

@lbartoletti
Copy link
Member Author

If I'm not wrong, it's also OK for Conda and VCPKG ( cc @SrNetoChan @m-kuhn ) ?

So, for now, the only one that remains to be bumped is for OSGEO4W, right?

@SrNetoChan
Copy link
Member

If I'm not wrong, it's also OK for Conda and VCPKG ( cc @SrNetoChan @m-kuhn ) ?

So, for now, the only one that remains to be bumped is for OSGEO4W, right?

@lbartoletti conda-forge is currently building QGIS for 3.9, 3.10, 3.11 and 3.12. So I think it's ok to drop Python 3.9 build. I guess conda-forge will also stop building other packages for 3.9 at some point.

@DelazJ
Copy link
Contributor

DelazJ commented Mar 1, 2024

So, for now, the only one that remains to be bumped is for OSGEO4W, right?

Humm, macOS 😃? As far as I can see, it is at 3.9.6 (from xcode?) on Sonoma and my QGIS version is built with 3.9.5. But I can't provide more details, and no idea who is now behind the scene on QGIS side.

@lbartoletti
Copy link
Member Author

So, we have 98% of our users who can't yet migrate, or we don't have the information, and the remaining 2% have already answered that it's okay via the 9 contributors to this review. Beautiful! 🤣

@m-kuhn
Copy link
Member

m-kuhn commented Mar 8, 2024

I assume it's not easy to provide that on mac with the current stack with macdeps. bumping the python ecosystem will be a lot of work. There is a POC installer based on conda which already ships a newer python version, but I don't feel like supporting that in the long run. There are some experiments I do now and then with vcpkg that should result in an installer but it's done in spare time only (mostly) at the moment, as funds are scarce for that.

lbartoletti added a commit to lbartoletti/QGIS-Mac-Packager that referenced this pull request Mar 8, 2024
Copy link

The QGIS project highly values your contribution and would love to see this work merged! Unfortunately this PR has not had any activity in the last 14 days and is being automatically marked as "stale". If you think this pull request should be merged, please check

  • that all unit tests are passing

  • that all comments by reviewers have been addressed

  • that there is enough information for reviewers, in particular

    • link to any issues which this pull request fixes

    • add a description of workflows which this pull request fixes

    • add screenshots if applicable

  • that you have written unit tests where possible
    In case you should have any uncertainty, please leave a comment and we will be happy to help you proceed with this pull request.
    If there is no further activity on this pull request, it will be closed in a week.

@github-actions github-actions bot added the stale Uh oh! Seems this work is abandoned, and the PR is about to close. label Mar 23, 2024
@landryb
Copy link
Contributor

landryb commented Mar 25, 2024

@lbartoletti merge and run away ! ;)

@github-actions github-actions bot removed the stale Uh oh! Seems this work is abandoned, and the PR is about to close. label Mar 25, 2024
@nyalldawson
Copy link
Collaborator

merge and run away ! ;)

+1 😂

@gdt
Copy link
Contributor

gdt commented Mar 25, 2024

I'm writing from two perspectives: packager, and maintainer of other things.

I maintain the qgis package in pkgsrc, a multi-OS multi-OS-version multi-CPU source-based packaging system that has quarterly releases. It's not "bleeding edge", in that package maintainers update to releases recommended by upstream, and we have accomodations for unstable things like python by having multiple versions. But, we have zero "LTS". pkgsrc currently has python 2.7, 3.8, 3.9, 3.10, 3.11 and 3.12. The default value is 3.11. We mark each package with the versions of python it supports. qgis (3.28.15) is currently marked as incompatible with 2.7 and 3.8; that might be off. I will soon update to 3.34.x; it's only recently been recommended and I haven't gotten to it yet. That's a long way of saying that if newer qgis needs 3.10, we will hardly notice, and it's just a matter of adding 3.9 to the not-ok list. (Having all these versions is a clue that python is not really stable; you can't just install 3.12 and have everything work, and pretty much all programs in python have to release new versions with changes for each python minor version.)

From maintaining other Free Software, I am very cranky about the expectations of people running LTS systems, especially those systems that have license fees and companies behind them, and about people using LTS in a non-personal environment. LTS is an intentional choice to run old software. But people want it both ways, to run old software and to run new software. As long as they do the work, that's their call. But often they expect Free Software projects to do extra work to accomodate LTS, while the LTS companies and the companies choosing to have LTS on their systems do not contribute meaningfully to those support costs. As far as I'm concerned, if people want to run software from 2019, they can - and that means qgis from 2019 with their 2019 python. And if they want to pay a consultant to arrange for 2024 qgis on their 2019 systems, that's fine too. If Red Hat wants to fund a maintainer to accomodate LTS (and other things, because there will be time from other people too), that seems ok. But it's not ok to expect the qgis project to accomodate this.

I see this as not about mac; macOS that is one version old on a 2017 computer (crazy that a 7 year old computer isn't supported by the latest, but that's Apple pretending to be environmentally conscious) has python 3.11.

Also, people on LTS who want new qgis can build python, build all the prereqs, and build qgis. They can even do this by installing pkgsrc on GNU/Linux.

The other question is what is gained by increasing the version. I don't know if

  • there are 3.9 accommodations that could be removed
  • there are 3..10+ features that could be used
  • we are doing CI with 3.9, and could stop
    or something else.

Overall I think it's a low bar to decide to stop qgis trunk working with old python (any of the above counts), and a policy of "qgis trunk desupports a python 3.x when it becomes EOL" seems very reasonable. So I'm +1 to merge, unless RH or Ubuntu would like to pay all costs of continued support. So far we don't seem to have heard from them that they are willing, unless I'm missing something.

@lbartoletti lbartoletti removed the NOT FOR MERGE Don't merge! label Mar 26, 2024
@lbartoletti lbartoletti enabled auto-merge (rebase) March 26, 2024 07:14
@lbartoletti
Copy link
Member Author

Auto-merge is enabled. One other core committer must approve the PR and lets fiddling while Rome burns 🤣

Copy link

The QGIS project highly values your contribution and would love to see this work merged! Unfortunately this PR has not had any activity in the last 14 days and is being automatically marked as "stale". If you think this pull request should be merged, please check

  • that all unit tests are passing

  • that all comments by reviewers have been addressed

  • that there is enough information for reviewers, in particular

    • link to any issues which this pull request fixes

    • add a description of workflows which this pull request fixes

    • add screenshots if applicable

  • that you have written unit tests where possible
    In case you should have any uncertainty, please leave a comment and we will be happy to help you proceed with this pull request.
    If there is no further activity on this pull request, it will be closed in a week.

@github-actions github-actions bot added the stale Uh oh! Seems this work is abandoned, and the PR is about to close. label Apr 10, 2024
@lbartoletti lbartoletti removed the stale Uh oh! Seems this work is abandoned, and the PR is about to close. label Apr 10, 2024
@lbartoletti
Copy link
Member Author

Some news about one of our direct dependency: numpy/numpy#26222

jef-n added a commit to jef-n/OSGeo4W that referenced this pull request Apr 14, 2024
…, refs qgis/QGIS#54491, qgis/QGIS#56499)

Highlights:
  Switched to Visual Studio 2022
  Qt6 6.6.3, PyQt6 6.6.1
  Qt5 5.15.13, PyQt5 5.15.10
  Python 3.12.3
  OpenSSL 3.0.13
  PROJ 9.4.0
  GDAL 3.8.5
  qgis-qt6-dev based on Qt6 next to qgis-dev based on Qt5
  experimental QField based on Qt6 / qgis-qt6-dev

Details:
  Removed:
    libjpeg (already replaced with libjpeg-turbo earlier)
    python3-clcache (replaced by ccache)
    python3-pyuv (dependency of python3-clcache)

  Updated:
    apache 2.4.52 -> 2.4.58
    arrow-cpp 7.0.0 -> 15.0.2
    boost 1.74.0 -> 1.84.0
    brotli 1.0.9 -> 1.1.0
    curl 8.4.0 -> 8.6.0
    draco 1.5.6 -> 1.5.7
    exiv2 0.27.3 -> 0.28.2
    expat 2.2.10 -> 2.6.2
    ffmpeg 5.1 -> 6.1.1
    freetype 2.10.2 -> 2.13.2
    gdal 3.8.4 -> 3.8.5
    gpsbabel 1.8.0 -> 1.9.0
    grass 7.8.8 -> 8.3.2
    grass8 8.3.2 -> 99 (transitional; depends on grass)
    gsl 2.6 -> 2.7.1+
    hdf4 4.2.16 -> 4.3.0
    hdf5 1.14.0 -> 1.14.3
    kealib 1.4.14 -> 1.5.3
    lerc 3.0 -> 4.0.0
    libharu 2.3.0 -> 2.4.4
    libiconv 1.16 -> 1.17
    libjpeg-turbo 2.0.7-esr -> 3.0.2
    libjxl 0.8.1 -> 0.10.2
    libmysql 8.0.21 -> 8.2.0
    libosmium-devel 2.18.0 -> 2.20.0
    libpng 1.6.37 -> 1.6.43
    libtiff 4.5.1 -> 4.6.0
    libxml2 2.9.10 -> 2.12.5
    libxslt 1.1.34 -> 1.1.39
    libzip 1.7.3 -> 1.10.1
    lua 5.4.4 -> 5.4.6
    lz4 1.9.3 -> 1.9.4
    minizip-ng-devel 3.0.2 -> 4.0.4
    node 16.14.0 -> 20.11.1
    oci 19.11 -> 21.13
    ogdi 4.1.0 -> 4.1.1
    opencl 2.0.10 -> 2023.12.14
    openfyba-devel 20150103 -> 20240408
    openjpeg 2.4.0 -> 2.5.2
    openssl 1.1.1w -> 3.0.13
    osm2pgsql 1.8.1 -> 1.11.0
    osmium 1.15.0 -> 1.16.0
    pdal 2.6.0 -> 2.6.3
    poppler 23.07.0 -> 24.04.0
    proj 9.3.1 -> 9.4.0
    proj-data 1.16 -> 1.17
    python3 3.9.18 -> 3.12.3
    protobuf-devel 3.13.0 -> 25.3
    qca 2.3.1 -> 2.3.8
    qscintilla 2.13.4 -> 2.14.1
    qt5 5.15.3 -> 5.15.13
    qtkeychain 0.13.2 -> 0.14.2
    qwc2 20220311-671a6e7 -> 20240408-3d95409
    qwt 6.1.6 -> 6.2.0
    saga 7.8.2 -> 9.3.1
    saga9 9.2.0 -> 99 (transitional; depends on saga)
    snappy-devel 1.1.9 -> 1.1.10
    spdlog-devel 1.10.0 -> 1.13.0
    sqlite3 3.41.1 -> 3.45.1
    swig 4.0.2 -> 4.2.1
    thrift 0.16.0 -> 0.20.0
    transifex-cli 1.6.5 -> 1.6.10
    utf8proc 2.7.0 -> 2.9.0
    wxwidgets 3.2.1 -> 3.2.4
    xerces-c 3.2.3 -> 3.2.5
    xz 5.2.5 -> 5.4.5
    yarnpkg 1.22.17 -> 1.22.21
    zlib 1.2.12 -> 1.3.1
    zstd 1.4.5 -> 1.5.5

  Updated Python extensions:
    python3-access 1.1.1 -> 1.1.9
    python3-affine 2.3.0 -> 2.4.0
    python3-alabaster 0.7.12 -> 0.7.16
    python3-argon2-cffi 20.1.0 -> 23.1.0
    python3-atomicwrites 1.4.0 -> 1.4.1
    python3-attrdict 2.0.1 -> python3-attrdict3 2.0.2
    python3-attrs 20.2.0 -> 23.2.0
    python3-autopep8 2.0.1 -> 2.1.0
    python3-babel 2.8.0 -> 2.14.0
    python3-backports.entry-points-selectable 1.1.0 -> 1.3.0
    python3-beautifulsoup4 4.9.3 -> 4.12.3
    python3-bleach 3.2.1 -> 6.1.0
    python3-certifi 2020.6.20 -> 2024.2.2
    python3-cffi 1.14.3 -> 1.16.0
    python3-cftime 1.2.1 -> 1.6.3
    python3-chardet 3.0.4 -> 5.2.0
    python3-click 7.1.2 -> 8.1.7
    python3-cligj 0.7.0 -> 0.7.2
    python3-colorama 0.4.4 -> 0.4.6
    python3-coverage 5.3 -> 7.4.4
    python3-cycler 0.10.0 -> 0.12.1
    python3-decorator 4.4.2 -> 5.1.1
    python3-defusedxml 0.6.0 -> 0.7.1
    python3-distlib 0.3.2 -> 0.3.8
    python3-docutils 0.16 -> 0.20.1
    python3-entrypoints 0.3 -> 0.4
    python3-esda 2.3.1 -> 2.5.1
    python3-exifread 2.3.2 -> 3.0.0
    python3-filelock 3.0.12 -> 3.13.3
    python3-fiona 1.9.5 -> 1.9.6
    python3-fonttools 4.28.5 -> 4.51.0
    python3-future 0.18.2 -> 1.0.0
    python3-gdal 3.8.4 -> 3.8.5
    python3-geoalchemy2 0.12.5 -> 0.14.7
    python3-geographiclib 1.50 -> 2.0
    python3-geopandas 0.14.1 -> 0.14.3
    python3-giddy 2.3.3 -> 2.3.5
    python3-greenlet 1.1.1 -> 3.0.3
    python3-h5py 3.8.0 -> 3.10.0
    python3-httplib2 0.18.1 -> 0.22.0
    python3-idna 2.10 -> 3.6
    python3-imagesize 1.2.0 -> 1.4.1
    python3-importlib-metadata 2.0.0 -> 7.1.0
    python3-inequality 1.0.0 -> 1.0.1
    python3-iniconfig 1.1.1 -> 2.0.0
    python3-ipykernel 5.3.4 -> 6.29.4
    python3-ipython 7.18.1 -> 8.23.0
    python3-ipywidgets 7.5.1 -> 8.1.2
    python3-isort 5.12.0 -> 5.13.2
    python3-jedi 0.17.2 -> 0.19.1
    python3-jinja2 3.1.2 -> 3.1.3
    python3-joblib 0.17.0 -> 1.3.2
    python3-jsonschema 3.2.0 -> 4.21.1
    python3-jupyter-client 6.1.7 -> 8.6.1
    python3-jupyter-console 6.2.0 -> 6.6.3
    python3-jupyter-core 4.6.3 -> 5.7.2
    python3-jupyterlab-pygments 0.1.2 -> 0.3.0
    python3-kiwisolver 1.2.0 -> 1.4.5
    python3-libpysal 4.3.0 -> 4.10
    python3-llvmlite 0.34.0 -> 0.42.0
    python3-lxml 4.6.2 -> 5.2.1
    python3-mapclassify 2.3.0 -> 2.6.1
    python3-markupsafe 1.1.1 -> 2.1.5
    python3-matplotlib 3.5.1 -> 3.8.4
    python3-mgwr 2.1.2 -> 2.2.1
    python3-mistune 0.8.4 -> 3.0.2
    python3-mock 4.0.2 -> 5.1.0
    python3-mod-wsgi 4.9.0 -> 5.0.0
    python3-mpmath 1.1.0 -> 1.3.0
    python3-munch 2.5.0 -> 4.0.0
    python3-nbclient 0.5.1 -> 0.10.0
    python3-nbconvert 6.0.7 -> 7.16.3
    python3-nbformat 5.0.8 -> 5.10.4
    python3-nest-asyncio 1.4.2 -> 1.6.0
    python3-netcdf4 1.6.3 -> 1.6.5
    python3-networkx 2.5 -> 3.3
    python3-nltk 3.5 -> 3.8.1
    python3-nose2 0.9.2 -> 0.14.1
    python3-notebook 6.1.4 -> 7.1.2
    python3-numba 0.51.2 -> 0.59.0
    python3-numpy 1.24.1 -> 1.26.4
    python3-openpyxl 3.0.9 -> 3.1.2
    python3-osmium 3.4.1 -> 3.7.0
    python3-owslib 0.29.2 -> 0.30.0
    python3-packaging 20.4 -> 24.0
    python3-pandas 2.0.2 -> 2.2.1
    python3-pandocfilters 1.4.3 -> 1.5.1
    python3-parso 0.8.0 -> 0.8.4
    python3-patsy 0.5.1 -> 0.5.6
    python3-pbr 5.5.1 -> 6.0.0
    python3-pdal-plugins 1.2.1 -> 1.3.0
    python3-pillow 10.0.1 -> 10.3.0
    python3-pirogue 1.2.5 -> 1.4.2
    python3-platformdirs 2.0.2 -> 4.2.0
    python3-plotly 4.12.0 -> 5.20.0
    python3-pluggy 0.13.1 -> 1.4.0
    python3-pointpats 2.2.0 -> 2.4.0
    python3-prometheus-client 0.8.0 -> 0.20.0
    python3-prompt-toolkit 3.0.8 -> 3.0.43
    python3-psycopg 3.1.9 -> 3.1.18
    python3-psycopg2-binary 2.9.3 -> 2.9.9
    python3-pum 0.9.12 -> 0.10.0
    python3-py 1.9.0 -> 1.11.0
    python3-pybind11 2.6.2 -> 2.12.0
    python3-pycparser 2.20 -> 2.22
    python3-pygments 2.7.2 -> 2.17.2
    python3-pymemcache 3.4.0 -> 4.0.0
    python3-pyodbc 4.0.30 -> 5.1.0
    python3-pyopengl 3.1.5 -> 3.1.7
    python3-pyparsing 2.4.7 -> 3.1.2
    python3-pyqt-builder 1.10.3 -> 1.16.0
    python3-pyqt5 5.15.4 -> 5.15.10
    python3-pyqt5-sip 12.8.1 -> 12.13.0
    python3-pyqtwebengine 5.15.5 -> 5.15.6
    python3-pyrsistent 0.17.3 -> 0.20.0
    python3-pysal 2.3.0 -> 24.1
    python3-pytest 6.1.2 -> 8.1.1
    python3-pytest-cov 2.10.1 -> 5.0.0
    python3-python-dateutil 2.8.1 -> 2.9.0.post0
    python3-pythonqwt 0.8.3 -> 0.12.1
    python3-pytz 2023.3 -> 2024.1
    python3-pywinpty 0.5.7 -> 2.0.13
    python3-pyyaml 5.3.1 -> 6.0.1
    python3-pyzmq 19.0.2 -> 25.1.2
    python3-qscintilla 2.13.4 -> 2.14.1
    python3-qtconsole 4.7.7 -> 5.5.1
    python3-qtpy 1.9.0 -> 2.4.1
    python3-quantecon 0.4.8 -> 0.7.2
    python3-rasterstats 0.15.0 -> 0.19.0
    python3-regex 2020.10.28 -> 2023.12.25
    python3-reportlab 4.0.4 -> 4.1.0
    python3-requests 2.24.0 -> 2.31.0
    python3-retrying 1.3.3 -> 1.3.4
    python3-rtree 0.9.4 -> 1.2.0
    python3-scikit-learn 0.23.2 -> 1.4.1.post1
    python3-scipy 1.10.1 -> 1.13.0
    python3-seaborn 0.11.0 -> 0.13.2
    python3-segregation 1.4.0 -> 2.5
    python3-send2trash 1.5.0 -> 1.8.3
    python3-setuptools 67.6.0 -> 69.2.0
    python3-shapely 2.0.2 -> 2.0.3
    python3-simplejson 3.17.2 -> 3.19.2
    python3-sip 6.1.1 -> 6.8.3
    python3-six 1.15.0 -> 1.16.0
    python3-snowballstemmer 2.0.0 -> 2.2.0
    python3-soupsieve 2.0.1 -> 2.5
    python3-spaghetti 1.5.3 -> 1.7.5.post1
    python3-spglm 1.0.8 -> 1.1.0
    python3-sphinx 3.3.0 -> 7.2.6
    python3-splot 1.1.3 -> 1.1.5.post1
    python3-spreg 1.1.2.post1 -> 1.4.2
    python3-sqlalchemy 1.4.42 -> 2.0.29
    python3-statsmodels 0.14.0 -> 0.14.1
    python3-sympy 1.6.2 -> 1.12
    python3-terminado 0.9.1 -> 0.18.1
    python3-testpath 0.4.4 -> 0.6.0
    python3-threadpoolctl 2.1.0 -> 3.4.0
    python3-tobler 0.4.0 -> 0.11.2
    python3-toml 0.10.1 -> 0.10.2
    python3-torch 2.2.1 -> 2.2.2
    python3-tornado 6.0.4 -> 6.4
    python3-tqdm 4.51.0 -> 4.66.2
    python3-traitlets 5.0.5 -> 5.14.2
    python3-typing-extensions 4.5.0 -> 4.11.0
    python3-tzdata 2023.3 -> 2024.1
    python3-urllib3 1.25.11 -> 2.2.1
    python3-virtualenv 20.5.0 -> 20.25.1
    python3-wcwidth 0.2.5 -> 0.2.13
    python3-wheel 0.35.1 -> 0.43.0
    python3-widgetsnbextension 3.5.1 -> 4.0.10
    python3-xlrd 1.2.0 -> 2.0.1
    python3-zipp 3.4.0 -> 3.18.1

  Just rebuilt with VS2022:
    api-ms-win-core-path-HACK 0.0.1
    avce00 2.0.0
    base 1.0.0
    bzip2-devel 1.0.8
    cairo 1.17.2
    entwine 3.0.0
    fcgi 2.4.2
    freexl 2.0.0
    geos 3.12.1
    gs 10.02.1
    icu 67.1
    imposm3 0.11.1
    laszip 3.4.3
    libgeotiff 1.7.1
    libkml-devel 1.3.0
    liblas 1.8.1
    libpq 16.2
    librttopo 1.1.0
    libspatialindex 1.9.3
    libspatialite 5.1.0
    libwebp 1.3.2
    mod_fcgid 2.3.10
    netcdf 4.9.2
    odbc-cpp-wrapper 1.1
    pcraster 4.4.1
    protozero-devel 1.7.1
    qgis 3.36.1
    qgis-ltr 3.34.5
    qtwebkit 5.212.0-alpha4
    qwc-services 1.3.4
    setup 1.1.2
    shell 99.0.0
    szip 2.1.1
    tiledb 2.8.2
    wingetopt-devel 1.00

  Repackaged/rebuilt for Python 3.12
    python3-async-generator 1.10
    python3-backcall 0.2.0
    python3-click-plugins 1.1.1
    python3-descartes 1.1.0
    python3-et-xmlfile 1.1.0
    python3-ipython-genutils 0.2.0
    python3-jupyter 1.0.0
    python3-mapproxy 2.0.2
    python3-mypy-extensions 1.0.0
    python3-pdal 3.2.3
    python3-pickleshare 0.7.5
    python3-pip 24.0
    python3-ply 3.11
    python3-pypdf2 3.0.1
    python3-pypiwin32 223
    python3-pyproj 3.6.1
    python3-pypubsub 3.3.0
    python3-pyserial 3.5
    python3-pytoml 0.1.21
    python3-pywin32 306
    python3-rasterio 1.3.9
    python3-remotior-sensus 0.3.5
    python3-snuggs 1.4.7
    python3-spint 1.0.7
    python3-spvcm 0.3.0
    python3-tomli 2.0.1
    python3-webencodings 0.5.1
    python3-wxpython 4.2.1
    python3-xlwt 1.3.0

  Added:
    grass7 99 (transitional; depends on grass(8); grass 7 doesn't support python 3.12)
    podofo 0.10.3
    qca-qt6 2.3.8
    qgis-qt6-dev (master based on Qt6)
    qscintilla-qt6 2.14.1
    qt6 6.6.3
    qtkeychain-qt6 0.14.2
    qwt-qt6 6.2.0
    uriparser-devel 0.9.7
    saga7 7.9.1 (old saga, just in case)
    qfield-dev 3.2.2 (experimental; depends on very heady qgis-qt6-dev; TODO split the latter to minimize qfield dependencies)
    poly2tri-devel 20240411 (qfield dependency)
    zxing-cpp-devel 2.2.1 (qfield dependency)

  Added python extensions:
    python3-anyio 4.3.0
    python3-argon2-cffi-bindings 21.2.0
    python3-asttokens 2.4.1
    python3-async-lru 2.0.4
    python3-charset-normalizer 3.3.2
    python3-comm 0.2.2
    python3-contourpy 1.2.1
    python3-debugpy 1.8.1
    python3-deprecation 2.1.0
    python3-duckdb 0.10.1
    python3-executing 2.0.1
    python3-fastjsonschema 2.19.1
    python3-fsspec 2024.3.1
    python3-h11 0.14.0
    python3-httpcore 1.0.5
    python3-httpx 0.27.0
    python3-json5 0.9.24
    python3-jsonschema-specifications 2023.12.1
    python3-jupyter-events 0.10.0
    python3-jupyter-lsp 2.2.5
    python3-jupyter-server 2.13.0
    python3-jupyter-server-terminals 0.5.3
    python3-jupyterlab 4.1.5
    python3-jupyterlab-server 2.26.0
    python3-jupyterlab-widgets 3.0.10
    python3-matplotlib-inline 0.1.6
    python3-maturin 1.5.1
    python3-momepy 0.7.0
    python3-notebook-shim 0.2.4
    python3-overrides 7.7.0
    python3-pathspec 0.12.1
    python3-psutil 5.9.8
    python3-psycopg2 2.9.9
    python3-pulp 2.8.0
    python3-pure-eval 0.2.2
    python3-pyarrow 15.0.2
    python3-pycodestyle 2.11.1
    python3-pyqt6 6.6.1
    python3-pyqt6-qscintilla 2.14.1
    python3-pyqt6-sip 13.6.0
    python3-python-json-logger 2.0.7
    python3-referencing 0.34.0
    python3-rfc3339-validator 0.1.4
    python3-rfc3986-validator 0.1.1
    python3-rpds-py 0.18.0
    python3-sniffio 1.3.1
    python3-sphinxcontrib-applehelp 1.0.8
    python3-sphinxcontrib-devhelp 1.0.6
    python3-sphinxcontrib-htmlhelp 2.0.5
    python3-sphinxcontrib-jsmath 1.0.1
    python3-sphinxcontrib-qthelp 1.0.7
    python3-sphinxcontrib-serializinghtml 1.1.10
    python3-spopt 0.6.0
    python3-stack-data 0.6.3
    python3-tenacity 8.2.3
    python3-tinycss2 1.2.1
    python3-websocket-client 1.7.0

Other changes:
* acceptable licenses updated
* switch to VS2022
* add bootstrap.cmd to
 * invoke installation of cygwin base,
 * clone the repo
 * build everything
* build process installs necessary tools if necessary
 * vs2022
 * debug tools (for dbghelp.dll)
 * cmake
 * ninja
 * ccache (supports msvc now)
 * enables long paths on build (for Qt6 / webengine / chromium)
* cleanups
* PACKAGES added to package.sh to list produced packages
* devenv replaced with msbuild
* Update of ECWJP2SDKSetup_5.5.0.2268-Update4-Windows.zip not automatically
  downloadable anymore (place in src/gdal/osgeo4w/gdaldeps and
  src/gdal-dev/osgeo4w/gdaldeps)
@lbartoletti
Copy link
Member Author

Copy link

github-actions bot commented May 8, 2024

The QGIS project highly values your contribution and would love to see this work merged! Unfortunately this PR has not had any activity in the last 14 days and is being automatically marked as "stale". If you think this pull request should be merged, please check

  • that all unit tests are passing

  • that all comments by reviewers have been addressed

  • that there is enough information for reviewers, in particular

    • link to any issues which this pull request fixes

    • add a description of workflows which this pull request fixes

    • add screenshots if applicable

  • that you have written unit tests where possible
    In case you should have any uncertainty, please leave a comment and we will be happy to help you proceed with this pull request.
    If there is no further activity on this pull request, it will be closed in a week.

@github-actions github-actions bot added the stale Uh oh! Seems this work is abandoned, and the PR is about to close. label May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build/Install Related to compiling or installing QGIS NOT FOR BACKPORT! Too risky and unsuitable for backporting stale Uh oh! Seems this work is abandoned, and the PR is about to close.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Upgrade default QGIS python from 3.9 to latest stable version