From a1a83fd0dca6c05aafe10798528d92615c5ec417 Mon Sep 17 00:00:00 2001 From: Ian Mayo Date: Thu, 31 Oct 2019 11:28:05 +0000 Subject: [PATCH 01/51] Correct typo in one of first words on page --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index b38837f..cda1d89 100644 --- a/index.html +++ b/index.html @@ -22,7 +22,7 @@

The easiest way to run Python, Spyder with SciPy and friends out of the box on any Windows PC, without installing anything!

-

Projet Home is on Github, downloads pages are on Sourceforge and Github, md5-sha , Discussion Group

+

Project Home is on Github, downloads pages are on Sourceforge and Github, md5-sha , Discussion Group

Recent Releases

From ba4d798e45ec3fa291929e94b6ddf8dfa8f51eed Mon Sep 17 00:00:00 2001 From: stonebig Date: Mon, 23 Dec 2019 13:57:17 +0100 Subject: [PATCH 02/51] WinPython 2019-04 RC --- md5_sha1.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/md5_sha1.txt b/md5_sha1.txt index 3eba615..33b7c15 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,4 +1,17 @@ +### WinPython 2019-04 release (RC, December 23rd, 2019) + + MD5 | SHA-1 | SHA-256 | Binary | Size +---------------------------------|------------------------------------------|------------------------------------------------------------------|---------------------------------|------------------- +e19742c5787384d11b387fcc862427bb | 5ef1466afd82a7c696e468a593b555e23a8fa3b7 | 632273a65fcf5dd565f8a1187bf596bd54adb0d973cbf224bfbfb658e5e8e155 | Winpython64-3.7.6.0dotrc.exe | 23 080 378 Bytes +2c28927c14948b09d4f5b46ff17360c2 | 85afbe3991ed81b66cb853d5fa93b18158d40979 | f51b34dbcfa02040901fafad734b232d3f0686bcfd6d0937a35b3b65aa13b5d3 | Winpython32-3.7.6.0dotrc.exe | 22 119 015 Bytes +c6b45ca478090c9f5338cad389cf3b27 | 6ca5db67ec097164f1493f96fb46f77810992f1d | 28163863368c7f63ff5a1cd0a3e7c2544757e7607c54057df5110eefba6d2561 | Winpython64-3.8.1.0dotrc.exe | 23 775 397 Bytes +ea69741f3871b4ad9e5934b481c6caaf | 3258c8bac69e10e0b4665d0ffc53d56265f1214e | 489ff4437d5bfece1adaa6917637c6c5eca69e58185493f0ff9dcd2edd5b5bb0 | Winpython32-3.8.1.0dotrc.exe | 22 706 735 Bytes +788a41c4afb1a17576291de3f30dfe2d | 917a1e8bdb1ef080ca916d3baca83682649f3009 | e523d55a4bbe85d55f45958b7ea5078d56a9aee6772687bee68ba223ad3f7fdd | Winpython64-3.7.6.0rc.exe | 679 764 546 Bytes +48485fece0e487462e1f839573b7ca9f | 9d606d9fcf492fa0cf6c98ff521298158f68c0c7 | 8fa6751fabbaef9a820516e0a6cfac7a10b1ad1a5db2d8d639f9cbba80afe8d1 | Winpython64-3.8.1.0rc.exe | 555 895 371 Bytes +5c1376fb69c95b25bc922d44e7e99525 | 2e12e332b359c725e694af9b47a87f3d6abd1c1e | eab496d6f7f2489068e80e0dd4956ca37e8160979d30f4bf555578a21421b811 | Winpython64-3.7.6.0codrc.exe | 670 015 108 Bytes +65d3cf6b30aa41f41c46dba95f9c1e63 | b854ec4021addd6134b390320593ce189f60dd85 | 58eb64fcf18086bacffaa281a8251624476a4ad64bd12bb9583fe898e103feab | Winpython64-3.8.1.0codrc.exe | 639 199 517 Bytes + ### WinPython 2019-03 release (September 28th, 2019) From 97e6fb6a32b2b9e5316fe72afce13a73006602de Mon Sep 17 00:00:00 2001 From: stonebig Date: Tue, 24 Dec 2019 17:27:07 +0100 Subject: [PATCH 03/51] WinPython 2019-04 RC, adding 'ps2' Pyside2 flavor --- md5_sha1.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/md5_sha1.txt b/md5_sha1.txt index 33b7c15..29e7a10 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -11,6 +11,8 @@ ea69741f3871b4ad9e5934b481c6caaf | 3258c8bac69e10e0b4665d0ffc53d56265f1214e | 48 48485fece0e487462e1f839573b7ca9f | 9d606d9fcf492fa0cf6c98ff521298158f68c0c7 | 8fa6751fabbaef9a820516e0a6cfac7a10b1ad1a5db2d8d639f9cbba80afe8d1 | Winpython64-3.8.1.0rc.exe | 555 895 371 Bytes 5c1376fb69c95b25bc922d44e7e99525 | 2e12e332b359c725e694af9b47a87f3d6abd1c1e | eab496d6f7f2489068e80e0dd4956ca37e8160979d30f4bf555578a21421b811 | Winpython64-3.7.6.0codrc.exe | 670 015 108 Bytes 65d3cf6b30aa41f41c46dba95f9c1e63 | b854ec4021addd6134b390320593ce189f60dd85 | 58eb64fcf18086bacffaa281a8251624476a4ad64bd12bb9583fe898e103feab | Winpython64-3.8.1.0codrc.exe | 639 199 517 Bytes +2ba700bc5a91b159d1c6a4ff6af5ca6e | b8c614a14a6fccc6abb3b50b443dc5ca9387f60e | 45301054ee2259af24c95bab99e46dbf79d802968ba89a03bac283b559e13b35 | Winpython64-3.7.6.0Ps2rc.exe | 686 746 033 Bytes +41bb00ff023375152086935601c010a1 | 63381cb9fd89a6b975f33a96b2dbf8bde7387a8b | 9820619d590df78054fc75e86e25e0f4faa74a55c92281a580b327d588cc04fa | Winpython64-3.8.1.0Ps2rc.exe | 572 780 385 Bytes ### WinPython 2019-03 release (September 28th, 2019) From b60717d2aff757da67d04732889cb842cf7552b0 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 28 Dec 2019 09:05:26 +0100 Subject: [PATCH 04/51] re-tag WinPython 2019-04 RC as final --- md5_sha1.txt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/md5_sha1.txt b/md5_sha1.txt index 29e7a10..a53476d 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,18 +1,18 @@ -### WinPython 2019-04 release (RC, December 23rd, 2019) +### WinPython 2019-04 release (December 23rd, 2019) MD5 | SHA-1 | SHA-256 | Binary | Size ---------------------------------|------------------------------------------|------------------------------------------------------------------|---------------------------------|------------------- -e19742c5787384d11b387fcc862427bb | 5ef1466afd82a7c696e468a593b555e23a8fa3b7 | 632273a65fcf5dd565f8a1187bf596bd54adb0d973cbf224bfbfb658e5e8e155 | Winpython64-3.7.6.0dotrc.exe | 23 080 378 Bytes -2c28927c14948b09d4f5b46ff17360c2 | 85afbe3991ed81b66cb853d5fa93b18158d40979 | f51b34dbcfa02040901fafad734b232d3f0686bcfd6d0937a35b3b65aa13b5d3 | Winpython32-3.7.6.0dotrc.exe | 22 119 015 Bytes -c6b45ca478090c9f5338cad389cf3b27 | 6ca5db67ec097164f1493f96fb46f77810992f1d | 28163863368c7f63ff5a1cd0a3e7c2544757e7607c54057df5110eefba6d2561 | Winpython64-3.8.1.0dotrc.exe | 23 775 397 Bytes -ea69741f3871b4ad9e5934b481c6caaf | 3258c8bac69e10e0b4665d0ffc53d56265f1214e | 489ff4437d5bfece1adaa6917637c6c5eca69e58185493f0ff9dcd2edd5b5bb0 | Winpython32-3.8.1.0dotrc.exe | 22 706 735 Bytes -788a41c4afb1a17576291de3f30dfe2d | 917a1e8bdb1ef080ca916d3baca83682649f3009 | e523d55a4bbe85d55f45958b7ea5078d56a9aee6772687bee68ba223ad3f7fdd | Winpython64-3.7.6.0rc.exe | 679 764 546 Bytes -48485fece0e487462e1f839573b7ca9f | 9d606d9fcf492fa0cf6c98ff521298158f68c0c7 | 8fa6751fabbaef9a820516e0a6cfac7a10b1ad1a5db2d8d639f9cbba80afe8d1 | Winpython64-3.8.1.0rc.exe | 555 895 371 Bytes -5c1376fb69c95b25bc922d44e7e99525 | 2e12e332b359c725e694af9b47a87f3d6abd1c1e | eab496d6f7f2489068e80e0dd4956ca37e8160979d30f4bf555578a21421b811 | Winpython64-3.7.6.0codrc.exe | 670 015 108 Bytes -65d3cf6b30aa41f41c46dba95f9c1e63 | b854ec4021addd6134b390320593ce189f60dd85 | 58eb64fcf18086bacffaa281a8251624476a4ad64bd12bb9583fe898e103feab | Winpython64-3.8.1.0codrc.exe | 639 199 517 Bytes -2ba700bc5a91b159d1c6a4ff6af5ca6e | b8c614a14a6fccc6abb3b50b443dc5ca9387f60e | 45301054ee2259af24c95bab99e46dbf79d802968ba89a03bac283b559e13b35 | Winpython64-3.7.6.0Ps2rc.exe | 686 746 033 Bytes -41bb00ff023375152086935601c010a1 | 63381cb9fd89a6b975f33a96b2dbf8bde7387a8b | 9820619d590df78054fc75e86e25e0f4faa74a55c92281a580b327d588cc04fa | Winpython64-3.8.1.0Ps2rc.exe | 572 780 385 Bytes +e19742c5787384d11b387fcc862427bb | 5ef1466afd82a7c696e468a593b555e23a8fa3b7 | 632273a65fcf5dd565f8a1187bf596bd54adb0d973cbf224bfbfb658e5e8e155 | Winpython64-3.7.6.0dot.exe | 23 080 378 Bytes +2c28927c14948b09d4f5b46ff17360c2 | 85afbe3991ed81b66cb853d5fa93b18158d40979 | f51b34dbcfa02040901fafad734b232d3f0686bcfd6d0937a35b3b65aa13b5d3 | Winpython32-3.7.6.0dot.exe | 22 119 015 Bytes +c6b45ca478090c9f5338cad389cf3b27 | 6ca5db67ec097164f1493f96fb46f77810992f1d | 28163863368c7f63ff5a1cd0a3e7c2544757e7607c54057df5110eefba6d2561 | Winpython64-3.8.1.0dot.exe | 23 775 397 Bytes +ea69741f3871b4ad9e5934b481c6caaf | 3258c8bac69e10e0b4665d0ffc53d56265f1214e | 489ff4437d5bfece1adaa6917637c6c5eca69e58185493f0ff9dcd2edd5b5bb0 | Winpython32-3.8.1.0dot.exe | 22 706 735 Bytes +788a41c4afb1a17576291de3f30dfe2d | 917a1e8bdb1ef080ca916d3baca83682649f3009 | e523d55a4bbe85d55f45958b7ea5078d56a9aee6772687bee68ba223ad3f7fdd | Winpython64-3.7.6.0.exe | 679 764 546 Bytes +48485fece0e487462e1f839573b7ca9f | 9d606d9fcf492fa0cf6c98ff521298158f68c0c7 | 8fa6751fabbaef9a820516e0a6cfac7a10b1ad1a5db2d8d639f9cbba80afe8d1 | Winpython64-3.8.1.0.exe | 555 895 371 Bytes +5c1376fb69c95b25bc922d44e7e99525 | 2e12e332b359c725e694af9b47a87f3d6abd1c1e | eab496d6f7f2489068e80e0dd4956ca37e8160979d30f4bf555578a21421b811 | Winpython64-3.7.6.0cod.exe | 670 015 108 Bytes +65d3cf6b30aa41f41c46dba95f9c1e63 | b854ec4021addd6134b390320593ce189f60dd85 | 58eb64fcf18086bacffaa281a8251624476a4ad64bd12bb9583fe898e103feab | Winpython64-3.8.1.0cod.exe | 639 199 517 Bytes +2ba700bc5a91b159d1c6a4ff6af5ca6e | b8c614a14a6fccc6abb3b50b443dc5ca9387f60e | 45301054ee2259af24c95bab99e46dbf79d802968ba89a03bac283b559e13b35 | Winpython64-3.7.6.0Ps2.exe | 686 746 033 Bytes +41bb00ff023375152086935601c010a1 | 63381cb9fd89a6b975f33a96b2dbf8bde7387a8b | 9820619d590df78054fc75e86e25e0f4faa74a55c92281a580b327d588cc04fa | Winpython64-3.8.1.0Ps2.exe | 572 780 385 Bytes ### WinPython 2019-03 release (September 28th, 2019) From 47dc5113d43f28792c86ffe5fb38582e98e46e58 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 28 Dec 2019 10:01:20 +0100 Subject: [PATCH 05/51] publish WinPython 2019-04 --- index.html | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/index.html b/index.html index cda1d89..d711aba 100644 --- a/index.html +++ b/index.html @@ -26,6 +26,27 @@

Recent Releases

+

Release 2019-04 of December 23rd, 2019

+ +

Highlights (*): Pandas-0.25.3, Scipy-1.4.1, scikit-learn-0.22.0, Numpy-1.17.4, Torch-1.3.0, Tensorflow_cpu-2.1.0rc1, VSCode-Python-2019.11.50794, Qt-5.14.0

+ +

Release 2019-03 of September 28th, 2019

Highlights (*): Pandas-0.25.1, Jupyterlab-1.1.4, Qt5-5.13.1, Scipy-1.3.1, scikit-learn-0.21.3, Altair-3.2.0, Torch-1.2.0, winrt-1.0.19128.1, a VSCode portable version

From 6b87911a2f7bc3fab0cf070d2b88c9bde8caac29 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 28 Mar 2020 09:52:07 +0100 Subject: [PATCH 06/51] WinPython 2020-01 --- index.html | 37 ++++++++++++++++++++++--------------- md5_sha1.txt | 14 ++++++++++++++ 2 files changed, 36 insertions(+), 15 deletions(-) diff --git a/index.html b/index.html index d711aba..4f071a2 100644 --- a/index.html +++ b/index.html @@ -26,6 +26,27 @@

Recent Releases

+ +

Release 2020-01 of March 26th, 2020

+ +

Highlights (*): Spyder-4.1.1, Jupyterlab-2.0.1, VSCode-1.43.1, Numpy-1.18.2, Pandas-1.0.3, Matplotlib-3.2.1, Bokeh-2.0.0

+ + +

Release 2019-04 of December 23rd, 2019

Highlights (*): Pandas-0.25.3, Scipy-1.4.1, scikit-learn-0.22.0, Numpy-1.17.4, Torch-1.3.0, Tensorflow_cpu-2.1.0rc1, VSCode-Python-2019.11.50794, Qt-5.14.0

@@ -79,21 +100,7 @@

Recent Releases

  • WinPython 3.7.4.0Ps2-64bit Changelog, Packages and Downloads
  • WinPython 3.7.4.0Ps2-32bit Changelog, Packages and Downloads
  • - -

    Release 2019-01 of March 9th, 2019

    - -

    Highlights : Pandas-0.24.1, Scipy-1.2.1, Cartopy-0.17.0, Numpy-1.16.2, Pytorch-1.0.1, Tensorflow-1.13.1, PyQt5-5.12.1 or PySide2-5.12.1 (Zero Version)

    - - +
    WinPython Small Logos
    diff --git a/md5_sha1.txt b/md5_sha1.txt index a53476d..46e68b0 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,4 +1,18 @@ +### WinPython 2020-01 release (March 26th, 2020) + + MD5 | SHA-1 | SHA-256 | Binary | Size +---------------------------------|------------------------------------------|------------------------------------------------------------------|---------------------------------|------------------- +c965268a26fe5a93e929154c596dc831 | 0aab5fef1c15eb460164e40f8dc1eb6491c5b00c | 8004297d2d583d844e3b1bd67bd5367de79086bcc76a1544a4cf010d81b6be8b | Winpython64-3.7.7.0dot.exe | 23 141 445 Bytes +10c4919ffc342d0fcf5d76f37986cc42 | 0ccea60fb426661b63554289249d1507dc8a04c0 | 64303eb2a2c9c3e207a26ad8d5a0c88d51b6f24e241e84e38c2061b92a1a715a | Winpython32-3.7.7.0dot.exe | 22 136 373 Bytes +646577652d24f274b375c79b3c3a2150 | 9f9745112234cdd65a0428e2e9e3bc4eeeb1723c | f625d4f658902b0f1d5845f3fe6ed911b6f751e5f5c5948bfcfe74d57470e4d4 | Winpython64-3.8.2.0dot.exe | 23 854 995 Bytes +5f53ae5152f6c522cb1b25164167febd | 5d99b263227219bd527eec6d5544af8057c62330 | b45d8154579114c8934640e114f508921ef1b48f3e7ce10b4d65f9edec1c0a40 | Winpython32-3.8.2.0dot.exe | 22 783 110 Bytes +20348d6dce7d10808d052abfdf8af1de | 98afa57668a0b38dd202b628ce6347633a607be8 | 97ddd3467450e1f328e546b1d1059874e8a41163c9c3fa59fe50d0c61ef74b99 | Winpython64-3.7.7.0.exe | 691 801 924 Bytes +cffdc3ec5a8a4672c3f7434c0afa4083 | a92cc482c2ee17c4397cb02c8614823d2e4d1a1f | a4591069de67993b232174f28e5cdfc9217f25dc3d87ee01e54dbb3503cf573e | Winpython64-3.8.2.0cod.exe | 656 189 440 Bytes +a87368bb97cd76e254ecbbdc178a396f | 9d5ac2449a37ec1ab4500c3b77a2c04cc2ca9d03 | 5f44a8f40c0037e467280caf28377c5d8ff59800a4e07ec8b07feb8304f3e659 | Winpython64-3.8.2.0.exe | 620 414 873 Bytes +f81ca9424c9aa4749e2fa4dbeb04ded6 | 1ced6da8e401b659411201232a4b136a474cbd1a | f62ec5de7d343300b074d78575f97a92126f36ef08902b325534554c3c259569 | Winpython64-3.7.7.0cod.exe | 674 653 688 Bytes + + ### WinPython 2019-04 release (December 23rd, 2019) MD5 | SHA-1 | SHA-256 | Binary | Size From 437ca93ae95437b32b17de00cf4f6bb65acc546c Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 28 Mar 2020 10:03:01 +0100 Subject: [PATCH 07/51] clean-up WinPython 2019-02 and add vscode icon --- images/winpython_launchers.png | Bin 28891 -> 31554 bytes index.html | 18 ++++-------------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/images/winpython_launchers.png b/images/winpython_launchers.png index aa3de3ee9a7aae303bc7cad0c6ee8a16a557b5c4..2b293b14fbea7840122f052a29153117ed4d0138 100644 GIT binary patch literal 31554 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

    %;;p<&~bbR$7!~H~ry?<%9n4!V|s+Hw-rO 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 WWa%eK0U8oMlb2SJs*?B^_`d*gF_cgM diff --git a/index.html b/index.html index 4f071a2..6e6e23f 100644 --- a/index.html +++ b/index.html @@ -91,28 +91,18 @@

    Recent Releases

  • WinPython64-3.8.0.0cod = Python 3.8 64bit + PyQt5 + Spyder + VSCode : Changelog, Packages
  • -

    Release 2019-02 of July 19th, 2019

    - -

    Highlights (*): Jupyterlab-1.0.2, Qt5-5.13, statsmodels-0.10.0, Scipy-1.3.0, scikit-learn-0.21.2, Matplotlib-3.1.1, Altair-3.1.0, PyTorch-1.1.0, Tensorflow-1.14.0 (Zero Version)

    - -
    WinPython Small Logos

    Overview

    -

    WinPython is a free open-source portable distribution of the Python programming language for Windows 7/8/10 and scientific and educational usage.

    +

    WinPython is a free open-source portable distribution of the Python programming language for Windows 8/10 and scientific and educational usage.

    WinPython Launcher Icons

    It is a full-featured (see our Wiki) Python-based scientific environment:

    • Designed for scientists, data-scientists, and education (thanks to NumPy, SciPy, Sympy, Matplotlib, Pandas, pyqtgraph, etc.):
      • interactive data processing and visualization using Python with Spyder and Jupyter/IPython, Pyzo, IDLEX or IDLE
      • -
      • out-of-the-box working Compiler (Mingw64) for Python 3.4, fully integrated Cython and Numba! See included example
      • +
      • fully integrated Cython and Numba! See included example
      • connectors (cffi, odbc, rpy2, scilab2py, requests, ...) for advanced users
    • Portable: @@ -123,7 +113,7 @@

      Overview

    • Flexible:
      • You can install as many WinPython distributions as you want on the same machine: each one is isolated and self-consistent
      • -
      • These installations can be of different versions of Python (3.6/3.7/3.8...) and different architectures (32bit/64bit)
      • +
      • These installations can be of different versions of Python (3.7/3.8/3.9...)
    • Customizable:
        @@ -162,7 +152,7 @@

        Portable or not, the choice is yours!

        WinPython Small Logos
    - +
    WinPython Small Logos
    From 09747f3e08b4eb0f5123afbf8279729252b4b738 Mon Sep 17 00:00:00 2001 From: stonebig Date: Wed, 8 Apr 2020 22:18:19 +0200 Subject: [PATCH 08/51] per caution, suggesting windows 10 users may have to do it too https://github.com/winpython/winpython/issues/828 --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 6e6e23f..85e4248 100644 --- a/index.html +++ b/index.html @@ -142,7 +142,7 @@

    Portable or not, the choice is yours!

    That is exactly what the official Python installer would do to your machine: in other words, you can have it both ways! -

    (*) For recent WinPython, Windows 8 users may have to install Microsoft Visual C++ Redistributable for Visual Studio 2017 (vc_redist_x86.exe for WinPython 32bit, vc_redist_x64.exe for Winpython 64bit) +

    (*) For recent WinPython, Windows 8..10 users may have to install missing system DLL Microsoft Visual C++ Redistributable for Visual Studio 2017..2019 (vc_redist_x86.exe for WinPython 32bit, vc_redist_x64.exe for Winpython 64bit)

    (*) For best Winpython 2018-01 and later experience, it is recommended to have Winpython base directory path smaller than 37 characters. example: C:\Users\xxxxxxxx\Downloads\WinPython From b8145ae4607f97e02ba740f7fcc865374574f311 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sun, 26 Apr 2020 19:49:04 +0200 Subject: [PATCH 09/51] make the missing DLL problem of WinPython 2020-01 more obvious --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 85e4248..bc35b52 100644 --- a/index.html +++ b/index.html @@ -27,7 +27,7 @@

    Recent Releases

    -

    Release 2020-01 of March 26th, 2020

    +

    Release 2020-01 of March 26th, 2020 (this release may require from Windows 10 users a missing system DLL, see (*) )

    Highlights (*): Spyder-4.1.1, Jupyterlab-2.0.1, VSCode-1.43.1, Numpy-1.18.2, Pandas-1.0.3, Matplotlib-3.2.1, Bokeh-2.0.0

      From 5d384bc24379926637c6dad7823767f6172754ba Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 30 May 2020 22:34:00 +0200 Subject: [PATCH 10/51] update frontpage to WinPython 2020-02 --- index.html | 49 +++++++++++++++++++++++-------------------------- md5_sha1.txt | 14 ++++++++++++++ 2 files changed, 37 insertions(+), 26 deletions(-) diff --git a/index.html b/index.html index bc35b52..efb6707 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,25 @@

      Recent Releases

      +

      Release 2020-02 of May 30th, 2020

      + +

      Highlights (*): Spyder-4.1.3, Jupyterlab-2.1.1, VSCode-1.45.1, scikit_learn-0.23.1, Cartopy-0.18.0, Trio-0.15.1

      + +

      Release 2020-01 of March 26th, 2020 (this release may require from Windows 10 users a missing system DLL, see (*) )

      Highlights (*): Spyder-4.1.1, Jupyterlab-2.0.1, VSCode-1.43.1, Numpy-1.18.2, Pandas-1.0.3, Matplotlib-3.2.1, Bokeh-2.0.0

      @@ -40,10 +59,10 @@

      Recent Releases

      WinPython 3.8 Downloads (**) via SourceForge and Github (not available for Python 3.8 : Tensorflow, Cartopy)

      -
    • WinPython64-3.8.1.0dot = Python 3.8 64bit only : Changelog, Packages
    • -
    • WinPython32-3.8.1.0dot = Python 3.8 32bit only : Changelog, Packages
    • -
    • WinPython64-3.8.1.0 = Python 3.8 64bit + PyQt5 + Spyder : Changelog, Packages
    • -
    • WinPython64-3.8.1.0cod = Python 3.8 64bit + PyQt5 + Spyder + VSCode : Changelog, Packages
    • +
    • WinPython64-3.8.2.0dot = Python 3.8 64bit only : Changelog, Packages
    • +
    • WinPython32-3.8.2.0dot = Python 3.8 32bit only : Changelog, Packages
    • +
    • WinPython64-3.8.2.0 = Python 3.8 64bit + PyQt5 + Spyder : Changelog, Packages
    • +
    • WinPython64-3.8.2.0cod = Python 3.8 64bit + PyQt5 + Spyder + VSCode : Changelog, Packages
    @@ -68,28 +87,6 @@

    Recent Releases

  • WinPython64-3.8.1.0cod = Python 3.8 64bit + PyQt5 + Spyder + VSCode : Changelog, Packages
  • -

    Release 2019-03 of September 28th, 2019

    - -

    Highlights (*): Pandas-0.25.1, Jupyterlab-1.1.4, Qt5-5.13.1, Scipy-1.3.1, scikit-learn-0.21.3, Altair-3.2.0, Torch-1.2.0, winrt-1.0.19128.1, a VSCode portable version

    -
      -

      WinPython 3.7 Downloads (**) via SourceForge and Github

      - -
    • WinPython64-3.7.4.1Zero = Python 3.7 64bit only : Changelog, Packages
    • -
    • WinPython32-3.7.4.1Zero = Python 3.7 32bit only : Changelog, Packages
    • -
    • WinPython64-3.7.4.1 = Python 3.7 64bit + PyQt5 + Spyder : Changelog, Packages
    • -
    • WinPython32-3.7.4.1 = Python 3.7 32bit + PyQt5 + Spyder : Changelog, Packages
    • -
    • WinPython64-3.7.4.1Ps2 = Python 3.7 64bit + Pyside2 : Changelog, Packages
    • -
    • WinPython32-3.7.4.1Ps2 = Python 3.7 32bit + Pyside2 : Changelog, Packages
    • -
    • WinPython64-3.7.4.1cod = Python 3.7 64bit + PyQt5 + Spyder + VSCode : Changelog, Packages
    • - -

      WinPython 3.8 Downloads (**) via SourceForge and Github (added October 23rd, 2019)

      (please note that some Packages are not yet available for Python 3.8 : Torch, Tensorflow, Cartopy)

      - -
    • WinPython64-3.8.0.0dot = Python 3.8 64bit only : Changelog, Packages
    • -
    • WinPython32-3.8.0.0dot = Python 3.8 32bit only : Changelog, Packages
    • -
    • WinPython64-3.8.0.0 = Python 3.8 64bit + PyQt5 + Spyder : Changelog, Packages
    • -
    • WinPython32-3.8.0.0 = Python 3.8 32bit + PyQt5 + Spyder : Changelog, Packages
    • -
    • WinPython64-3.8.0.0cod = Python 3.8 64bit + PyQt5 + Spyder + VSCode : Changelog, Packages
    • -
    WinPython Small Logos
    diff --git a/md5_sha1.txt b/md5_sha1.txt index 46e68b0..ed93669 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,4 +1,18 @@ +### WinPython 2020-02 release (May 30th, 2020) + + MD5 | SHA-1 | SHA-256 | Binary | Size +---------------------------------|------------------------------------------|------------------------------------------------------------------|---------------------------------|------------------- +fb9550ee520688bbe8c559d3a17641ac | 0f24ebd349abe4a927601aed5085bc1ef29bc5d7 | 3a19dc2afcfb5e9ed1f6b6c863ce01f62fab26214e79cdd11d01077a4d058949 | Winpython64-3.7.7.1dotrc.exe | 23 261 081 Bytes +066085dede3b0797c4b6f9412c596905 | 1b5a0f0720faf979f2568265e4cdb11558321374 | 6aa39bf8792a2853b245418085618e035ac4c290e20823bc3d678c4bd87defc9 | Winpython32-3.7.7.1dotrc.exe | 22 254 422 Bytes +fe02b8ce4f614e4523afe2242c567feb | 4b443ecef9c4ef457d11900f90074da6f6056dbf | 6f10ce63a2043c86d08264cdfdcb5fa8dad498d546765df1c392839ecc89bbdf | Winpython64-3.8.3.0dotrc.exe | 24 135 998 Bytes +43cb7be6ca370880df2363e354df3e52 | c45540722d62236b292e96c21588386c74100d20 | 9fcaba999cef828afa82f2b25fac5f198170134480a656796c86752ab57a6b3f | Winpython32-3.8.3.0dotrc.exe | 23 108 507 Bytes +474a18ef346f6cda4bd6f2c177b2e92c | d14b5f498123c7661dcd517e2806ddd6a3022786 | 9fdc53fdb468c9c5837eb7513cbee3efcb7d791b9744ffee10370556087af05c | Winpython64-3.7.7.1.exe | 736 749 968 Bytes +077ac421e193f643f4154bee96e78711 | 435dbb4f8ef95bc2e10548c129123ace2ea4691d | cdf73828d7fbf6fa8717fd5b9e7126fb10fb7c4a6e1783814f63390bdca96a0c | Winpython64-3.8.3.0.exe | 728 591 527 Bytes +4e7b04514d6f20ddfe8474aa0715c2f8 | c990b3852e824a966fd99ccd831b83026c7aabdd | 8a7a16d4337cdc2533eea2e1f9b922d4f1263a907889f7e615e33bcf252aae30 | Winpython64-3.7.7.1cod.exe | 666 455 987 Bytes +3094ac83518fcf037f29f6199b801e6e | 91cc5c5888ba2ecf7fc1cb014a63224dc5a47360 | f3870e8570b5f3e31821756089af1237859a6db8a971c1fea14a560d4c85a314 | Winpython64-3.8.3.0cod.exe | 658 361 818 Bytes + + ### WinPython 2020-01 release (March 26th, 2020) MD5 | SHA-1 | SHA-256 | Binary | Size From 0d9c1536cb608a86600c097b82812113f7d79fd2 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 22 Aug 2020 12:37:14 +0200 Subject: [PATCH 11/51] WinPython 2020-03 --- index.html | 43 ++++++++++++++++++++----------------------- md5_sha1.txt | 12 ++++++++++++ 2 files changed, 32 insertions(+), 23 deletions(-) diff --git a/index.html b/index.html index efb6707..0855133 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,26 @@

    Recent Releases

    +

    Release 2020-03 of August 22nd, 2020

    + +

    Highlights (*): Spyder-4.1.4, Jupyterlab-2.2.4, VSCode-1.48.0, Numpy-1.19.1+mkl, SciPy-1.5.2

    + +

    WinPython 3.9 Downloads (**) via SourceForge and Github

    + +
  • WinPython64-3.9.0.1dotrc = Python 3.9 64bit only : Changelog, Packages
  • +
  • WinPython32-3.9.0.1dotrc = Python 3.9 32bit only : Changelog, Packages
  • +
  • WinPython64-3.9.0.1codrc = Python 3.9 64bit + VSCode : Changelog, Packages
  • + + +

    Release 2020-02 of May 30th, 2020

    Highlights (*): Spyder-4.1.3, Jupyterlab-2.1.1, VSCode-1.45.1, scikit_learn-0.23.1, Cartopy-0.18.0, Trio-0.15.1

    @@ -65,29 +85,6 @@

    Recent Releases

  • WinPython64-3.8.2.0cod = Python 3.8 64bit + PyQt5 + Spyder + VSCode : Changelog, Packages
  • - -

    Release 2019-04 of December 23rd, 2019

    - -

    Highlights (*): Pandas-0.25.3, Scipy-1.4.1, scikit-learn-0.22.0, Numpy-1.17.4, Torch-1.3.0, Tensorflow_cpu-2.1.0rc1, VSCode-Python-2019.11.50794, Qt-5.14.0

    - - -
    WinPython Small Logos
    diff --git a/md5_sha1.txt b/md5_sha1.txt index ed93669..ab24d1a 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,15 @@ +### WinPython 2020-03 release (August 22nd, 2020) + + MD5 | SHA-1 | SHA-256 | Binary | Size +---------------------------------|------------------------------------------|------------------------------------------------------------------|---------------------------------|------------------- +5f0c7164cd1dcd2128b626cea1871c71 | 0756ccbd5fd1659b7c03f423d7054a2495439087 | 418d78bb2227c6cc5d1da4898bf5092aad581b9ea00786531fdcae5912f3c935 | Winpython64-3.8.5.0dot.exe | 24 781 402 Bytes +63acb8be789d36f20eee047481c991f2 | 1f0584fe9879f9570277ab12c74bf9cf79ddd5e4 | 06bbbd837a71eca6b6d8f2d40657be2d3ba49f71700a779c9eacbd62d1b2794b | Winpython32-3.8.5.0dot.exe | 23 624 688 Bytes +f4a5c3e064555f5dbfa3762cfec1812b | 8eb2eeaf2dd7420cb057df6fa669b1a69308a0f1 | 89443c56b44a0ee3827bf38cf3d4d67202098d7d3b42c2c45e80d498c656b919 | Winpython64-3.8.5.0.exe | 718 696 511 Bytes +576199aca38c18e68590d3706320f357 | a95d571d20a5b03aaad68338cd8bffeeca8ceb2f | d9056790e68ed8a548ada97c259f532f7be8f29e1c4142c4b31e2105710bdf75 | Winpython64-3.8.5.0cod.exe | 743 880 821 Bytes +6302b292f6e8c8e28c926d7ae7d0f3ce | e8e20f9b5a9e4d73cb1da6d488275e48d086c680 | 8755f55b85027eeda873ec987896a94dba6f627f0568f5b9515999c93bbb638c | Winpython64-3.9.0.1dotrc.exe | 25 376 125 Bytes +a165e0254b16cac3264979300814c47e | 71f72f27a53da7cb60942b2f271970a00dc3300b | a6403721b015baf5c3a2fd2e2650e3b50d2ff938333e67790cc10375efe57951 | Winpython32-3.9.0.1dotrc.exe | 24 217 658 Bytes +4e37f0e452f4b5baf30ec1789747ba59 | 3de50334d1a17c59f26d050d21f6742489bbe12c | ab40846960e8e57db8b43fa330d69fada99eda778408edf16e8a2e84b8e4a8c3 | Winpython64-3.9.0.1codrc.exe | 635 162 253 Bytes + ### WinPython 2020-02 release (May 30th, 2020) From 2eca8b4c81a6ad46262dffbea0dc7021c6a41a2b Mon Sep 17 00:00:00 2001 From: stonebig Date: Sun, 1 Nov 2020 13:03:18 +0100 Subject: [PATCH 12/51] WinPython 2020-04 --- index.html | 26 +++++++++++++++++++++++--- md5_sha1.txt | 14 ++++++++++++++ 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 0855133..1dfb698 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,26 @@

    Recent Releases

    +

    Release 2020-04 of October 31st, 2020

    + +

    Highlights (*): Spyder-4.1.5, Jupyterlab-2.2.9, VSCode-1.50.0, Numpy-1.19.2+mkl, SciPy-1.5.3, PyQt5-Tools

    + +

    Release 2020-03 of August 22nd, 2020

    Highlights (*): Spyder-4.1.4, Jupyterlab-2.2.4, VSCode-1.48.0, Numpy-1.19.1+mkl, SciPy-1.5.2

    @@ -38,7 +58,7 @@

    Recent Releases

  • WinPython32-3.8.5.0dot = Python 3.8 32bit only : Changelog, Packages
  • WinPython64-3.8.5.0 = Python 3.8 64bit + PyQt5 + Spyder : Changelog, Packages
  • WinPython64-3.8.5.0cod = Python 3.8 64bit + PyQt5 + Spyder + VSCode : Changelog, Packages
  • - +

    WinPython 3.9 Downloads (**) via SourceForge and Github

  • WinPython64-3.9.0.1dotrc = Python 3.9 64bit only : Changelog, Packages
  • @@ -138,7 +158,7 @@

    Portable or not, the choice is yours!

    (*) For recent WinPython, Windows 8..10 users may have to install missing system DLL Microsoft Visual C++ Redistributable for Visual Studio 2017..2019 (vc_redist_x86.exe for WinPython 32bit, vc_redist_x64.exe for Winpython 64bit) -

    (*) For best Winpython 2018-01 and later experience, it is recommended to have Winpython base directory path smaller than 37 characters. example: C:\Users\xxxxxxxx\Downloads\WinPython +

    (*) For best Winpython 2018-01 and later experience, it is recommended to have WinPython base directory path smaller than 37 characters. example: C:\Users\xxxxxxxx\Downloads\WinPython

    (**) Since WinPython 2019-02, all installers are just 7zip auto-extracts. @@ -146,7 +166,7 @@

    Portable or not, the choice is yours!

    WinPython Small Logos
    - +
    WinPython Small Logos
    diff --git a/md5_sha1.txt b/md5_sha1.txt index ab24d1a..d85c1f1 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,17 @@ +### WinPython 2020-04 release (October 31st, 2020) + + MD5 | SHA-1 | SHA-256 | Binary | Size +---------------------------------|------------------------------------------|------------------------------------------------------------------|---------------------------------|------------------- +b1963e34837b4ffd5496dcac8b6b9beb | 2d47f86c2cfc9f5770876adae65b93b99e680287 | 93cc3db75dffb4d56b9f64af43294f130f2c222a66de7a1325d0ce8f1ed62e26 | Winpython64-3.9.0.2dot.exe | 25 480 579 Bytes +0c9c8211e49527fffab9a03d4535aa9f | 05933a1c33122d0bfa74fa2f0786f4dc88c3f570 | c53d31cd58a36bac36aa44fc7e7583b14fb3d9a381611e984184e0ad8d5303a9 | Winpython32-3.9.0.2dot.exe | 24 334 442 Bytes +9e10b031c98510d4d1ba7e89d80138ab | d1ff73b4138dca68619755680568a5eef977a307 | 9202fcb89683c9ca1d5018d91f1be712c9a0df75f7f7e8ce8e0fc7a117ebc0a6 | Winpython64-3.8.6.0dot.exe | 25 007 720 Bytes +5cb03444326d884c2ac2254012e1b2aa | 52267451702a4e016bd521536fd7aa04b54d8d33 | 16b5bb3f7b9e0a688106e7fa131ca752ac0d0a34c8e564fe45ffa5c340d9f51f | Winpython32-3.8.6.0dot.exe | 23 857 445 Bytes +fbc1f2af5f4df131bc18f2471cfe8035 | ec548abcde5da8ad3246c6018f47a5d17ea31e28 | d1457a5732825d0717f54e45e9d1f8ea890974e317d0b797a99b5d70b59d6839 | Winpython64-3.8.6.0cod.exe | 816 551 869 Bytes +3f06233c878562dfb65235e7fa285719 | 138af3c212cd16698380a0ba957d5cea758594e5 | 3852a7ff115107d0bdfb6d2450c3bc4c84247dc990b939e641282a085625d32d | Winpython64-3.8.6.0.exe | 756 873 470 Bytes +660054fd98f07bc111bebd77153b38a4 | 06b85fc842fde323cf8b3497ed59c9b9078dd49b | 067b51ab3ea704d56223acaf4064cc10c728058b84228d35aa8ef4aaa8edb962 | Winpython64-3.9.0.2.exe | 658 459 194 Bytes +dbb6120ad9407485f2a1dc2b8357bfc7 | 1bcab1336d04e7dab6a54fcc8919be155ead0752 | 73325ed4426db50179b32d63ae8f65d300bb50c87d7417aaaa3e33bdf9836250 | Winpython64-3.9.0.2cod.exe | 805 236 702 Bytes + + ### WinPython 2020-03 release (August 22nd, 2020) MD5 | SHA-1 | SHA-256 | Binary | Size From 0b767b96facbe6d7e548687587e54f7f3325cf9a Mon Sep 17 00:00:00 2001 From: bnjmnp Date: Sun, 8 Nov 2020 15:49:36 +0100 Subject: [PATCH 13/51] fix WinPython 3.9 GitHub download link for the 31st october release --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 1dfb698..3635614 100644 --- a/index.html +++ b/index.html @@ -39,7 +39,7 @@

    Recent Releases

  • WinPython64-3.8.6.0 = Python 3.8 64bit + PyQt5 + Spyder + Pytorch: Changelog, Packages
  • WinPython64-3.8.6.0cod = Python 3.8 64bit + PyQt5 + Spyder + VSCode : Changelog, Packages
  • -

    WinPython 3.9 Downloads (**) via SourceForge and Github

    +

    WinPython 3.9 Downloads (**) via SourceForge and Github

  • WinPython64-3.9.0.2dot = Python 3.9 64bit only : Changelog, Packages
  • WinPython32-3.9.0.2dot = Python 3.9 32bit only : Changelog, Packages
  • From ab992119b79513b0a0aebbf351110122aa16931e Mon Sep 17 00:00:00 2001 From: stonebig Date: Mon, 28 Dec 2020 20:22:57 +0100 Subject: [PATCH 14/51] WinPython 2020-05 --- index.html | 21 +++++++++++++++++++++ md5_sha1.txt | 14 ++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/index.html b/index.html index 3635614..7b818ea 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,27 @@

    Recent Releases

    +

    Release 2020-05 of December 28st, 2020

    + +

    Highlights (*): Spyder-4.2.1, VSCode-1.52.1, Pandas-1.1.5, scikit_learn-0.24.0, SciPy-1.5.4, Numpy-1.19.4+mkl

    + + +

    Release 2020-04 of October 31st, 2020

    Highlights (*): Spyder-4.1.5, Jupyterlab-2.2.9, VSCode-1.50.0, Numpy-1.19.2+mkl, SciPy-1.5.3, PyQt5-Tools

    diff --git a/md5_sha1.txt b/md5_sha1.txt index d85c1f1..a786af8 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,17 @@ +### WinPython 2020-05 release (December 28st, 2020) + + MD5 | SHA-1 | SHA-256 | Binary | Size +---------------------------------|------------------------------------------|------------------------------------------------------------------|---------------------------------|------------------- +0b1c9b43c03767fda4656ed240aa42df | 2ecd8996fce3d25d6d8fccf43f8576438ba1eeee | 87d5e586a52113b7d28f613e0c70a4973f659649e3ca5aae2cfe139dc1162f22 | Winpython64-3.8.7.0dot.exe | 25 345 933 Bytes +53334a80740c60d9f6a6a1094e984b3b | 184728336d7a2df25f81e63f5130953b7e4fcc20 | 8f5e054486ec5ce0cbd834221881bb5018e391d61dbe60dba156433088e7a1e7 | Winpython32-3.8.7.0dot.exe | 24 270 449 Bytes +8f81b3417f2082a4ae80b5dcaabfd10c | 4d64a3f1b98904e5c9bab6f3f80a7894d597fbbe | 687585ca7a546e9e393802d11fa505468adcf5aff844019dc0f396dfc3dab562 | Winpython64-3.8.7.0.exe | 762 745 203 Bytes +1bba03d0d796b02e273e9e6d56483349 | 8e9a1066cbd06292056e1ddc8bd58f2e798f4aef | d17e9f0b837d1f9d63909ff39b7c44545b79268affd0ac848fd8f05af57745ea | Winpython64-3.8.7.0cod.exe | 815 119 173 Bytes +6fe21b99f8536182e33f958a407248b1 | c42334b4ae1cd3871e7cbfbbca19b828a2c2cedc | 5a9044f51ba20fa443163013765889c5c1f13e747cf018ac9c2b2c629112762d | Winpython64-3.9.1.0dot.exe | 25 779 527 Bytes +1fcec7ae0f6e0ed075d1f288905d8e93 | 5754ed0de9c19af18fac1944a6f56eb7be12c18a | cef2b71ea5ed1272d11d3b837b8fa9e6f80bc653ee958aa126d1fcb272ba16b7 | Winpython32-3.9.1.0dot.exe | 24 710 010 Bytes +715c4a0ebfad9f227958f0c179fb4642 | 0b9c1ba15e94c0f77ff1b41762b9783543ccfcac | 7ecdb34ba326925096e6179277a3b0d031f19898731ec16f44fe9aecebca3dba | Winpython64-3.9.1.0cod.exe | 805 932 757 Bytes +792f2e4540b08ac3ef202e8086c8781e | 3312dae22ced6d80a1272735a810fb2cd8339ff8 | 2ed6a095513587b18c61ec0e20610a96cdc6f419507c38f73a2538f2e11b5412 | Winpython64-3.9.1.0.exe | 754 649 487 Bytes + + ### WinPython 2020-04 release (October 31st, 2020) MD5 | SHA-1 | SHA-256 | Binary | Size From 402f26450320476a4e7bfc732c64461283ed4ce9 Mon Sep 17 00:00:00 2001 From: stonebig Date: Wed, 10 Mar 2021 20:33:22 +0100 Subject: [PATCH 15/51] pushing sha-256 --- md5_sha1.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/md5_sha1.txt b/md5_sha1.txt index a786af8..d66631a 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,17 @@ + +### WinPython 2021-01 release (March 10th, 2021) + +MD5 | SHA-1 | SHA-256 | Binary | Size +---------------------------------|------------------------------------------|------------------------------------------------------------------|---------------------------------|------------------- +79445bb4d2accdef4edd5f3e2ae95244 | fc364e5e9e5f01c779dc9b04dfa6d016b1e9d761 | c1b5145178ad589e1da0314de415162d275bbaa4cc70a210f2c0c40393c46fda | Winpython64-3.8.8.0dot.exe | 25 171 579 Bytes +c1214db758d35c04ac3f458638fcd457 | bb223d77295d418bb5b758eb66e247f9dc8ec36e | d727c8354a2903a725db12d326f2dfd27628b64e5b9b58f6d2193265e5f6c408 | Winpython32-3.8.8.0dot.exe | 24 026 354 Bytes +ced8e9d1f21ebadd1e53cca9c0970e3a | 4f2a5e342e9e541eb8fd6177b53b759ddf5f8490 | b680565c1ec5cc2667e84ed930c02a2d255fbc3c666e968d8d0cd16a017b66b0 | Winpython64-3.8.8.0.exe | 759 606 316 Bytes +68103129d080d43d24541371a7d62098 | 50a0e61988fd1def21c0c6e9bcae9363c606d1b8 | ee68be4d0c2db402c52ee0d3f2eafc14f57d12d4be2616334aa2b78e63f45378 | Winpython64-3.9.2.0dot.exe | 25 617 319 Bytes +85cdf9dd4cd79dd7e93aa037f46c338e | 7fdb0e1a9a258a589548b12c63519b4916317c33 | 2ff6b8977163d6df6e8d73365a937dea017b2aaebc8455c00ba661642aa053fa | Winpython32-3.9.2.0dot.exe | 24 476 905 Bytes +3dcd0d81ab36f893864422895a10d5f7 | 728062114e325ffb27359ec935f4ddaeb45668d8 | 01445bb331fdfeb19f0223a3b9c1435e6b539ef85560990ca9ab352910f8d87e | Winpython64-3.9.2.0.exe | 757 863 140 Bytes +680a27020d82e1ae1f9960757f14abf9 | 10983a22c64f2fadb49c1c207b9585083bc67f95 | 967d32778aa2951fcbec8d621bf50955273687ae547c8d3e6b2e9dec40044d6a | Winpython64-3.9.2.0cod.exe | 816 061 586 Bytes + + ### WinPython 2020-05 release (December 28st, 2020) MD5 | SHA-1 | SHA-256 | Binary | Size From df2fb400dd9c2cb9e0e591d4e7e691ab717bd3c7 Mon Sep 17 00:00:00 2001 From: stonebig Date: Thu, 11 Mar 2021 22:17:36 +0100 Subject: [PATCH 16/51] WinPython 2021-01 --- index.html | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/index.html b/index.html index 7b818ea..5814f04 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,26 @@

    Recent Releases

    +

    Release 2021-01 of March 10th, 2021

    + +

    Highlights (*): Spyder-4.2.3, Jupyterlab-3.0.9, VSCode-1.54.1.0, Pandas-1.2.3, SciPy-1.6.1, Numpy-1.20.1+mkl

    + + +

    Release 2020-05 of December 28st, 2020

    Highlights (*): Spyder-4.2.1, VSCode-1.52.1, Pandas-1.1.5, scikit_learn-0.24.0, SciPy-1.5.4, Numpy-1.19.4+mkl

    @@ -107,25 +127,6 @@

    Recent Releases

  • WinPython64-3.8.3.0cod = Python 3.8 64bit + PyQt5 + Spyder + VSCode : Changelog, Packages
  • -

    Release 2020-01 of March 26th, 2020 (this release may require from Windows 10 users a missing system DLL, see (*) )

    - -

    Highlights (*): Spyder-4.1.1, Jupyterlab-2.0.1, VSCode-1.43.1, Numpy-1.18.2, Pandas-1.0.3, Matplotlib-3.2.1, Bokeh-2.0.0

    - -
    WinPython Small Logos
    From 7e598ff7ed670b352f7026fe1235f853f651480d Mon Sep 17 00:00:00 2001 From: stonebig Date: Wed, 21 Apr 2021 13:46:51 +0200 Subject: [PATCH 17/51] WinPython 2021-02 --- index.html | 21 ++++++++++++++++++++- md5_sha1.txt | 12 ++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 5814f04..f8c0dae 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,25 @@

    Recent Releases

    +

    Release 2021-02 of April 21th, 2021

    + +

    Highlights (*): Spyder-5.0.1, VSCode-1.55.2.0, Jupyterlab_git-0.30.0, Matplotlib-3.4.1, Panel-0.11.3, Voila-0.2.9

    + +

    Release 2021-01 of March 10th, 2021

    Highlights (*): Spyder-4.2.3, Jupyterlab-3.0.9, VSCode-1.54.1.0, Pandas-1.2.3, SciPy-1.6.1, Numpy-1.20.1+mkl

    @@ -188,7 +207,7 @@

    Portable or not, the choice is yours!

    WinPython Small Logos
    - +
    WinPython Small Logos
    diff --git a/md5_sha1.txt b/md5_sha1.txt index d66631a..c232e79 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,15 @@ +### WinPython 2021-02 release (April 21th, 2021) + + MD5 | SHA-1 | SHA-256 | Binary | Size +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|------------------- +48d1597080832664e542d0850ed9ee2b | 5c9e5a41751eb36d5514361d9cc922efc9b593dc | d097af2074a0c3fcf3ebf87ae106b55fe73be8e576fbcf4e90fc3592b4dd104d | Winpython64-3.8.9.0dot.exe | 25 315 497 Bytes +d89baf440aa361e07a5c639a80c4c067 | c584af284a0551792283ad998a48243886e56ebd | 9ae5f7600a6b01cd67c5ffda6087f12c9b5eeded2e9365eebe79571e6f1db022 | Winpython32-3.8.9.0dot.exe | 24 166 205 Bytes +f8bfa05033a173f1cf69e6da02f1f2c6 | 605683f96f34f3c73226a9f72f2d6d375c4ebef2 | 15920bda9c73deb1ec237d991dcf3d9ceca3997d9d0ee0f08214d093c1c5997a | Winpython64-3.9.4.0dot.exe | 25 769 399 Bytes +e58347849b4e8f271796a7ca5260a242 | bec9c5cb2d99ff960d2a4c389ed685ebdc975115 | c3cc442c171214293c7f062f9fe2e35f5b890961989927564a78b71534f5e584 | Winpython32-3.9.4.0dot.exe | 24 616 116 Bytes +dbb76613b25a167420c3ac8415643c95 | 28408e1eb3db432591f758607270fc3b84e0f579 | 440c5c299b678a10ee84331f83928b1ac63853cb044773210033287c7350652a | Winpython64-3.8.9.0.exe | 765 143 976 Bytes +e2426523baecbe7c8ed95a1cf5f773d7 | 43d860ebfeba0f8c6e0bbc11bbc6e0b35dd4168d | 1074dead96e3ffb39dd2376266ff96ed0fab77af0ec75458ef5f9661e0f349d1 | Winpython64-3.9.4.0.exe | 765 080 556 Bytes +c74c93f38e1f151d1a940c54367ff0bc | d2a064c13e96b5b42d6d9185fe4cf6fad743fccb | e9c353d84c21559313fac550d0fd9f8a73dbc82c5f2257999fc7d4ba140b79b6 | Winpython64-3.9.4.0cod.exe | 824 500 864 Bytes + ### WinPython 2021-01 release (March 10th, 2021) From 1685c88d69057e421bc7e8c31445409878203424 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sun, 4 Jul 2021 14:41:25 +0200 Subject: [PATCH 18/51] WinPython 2021-03 --- index.html | 23 +++++++++++++++++++++++ md5_sha1.txt | 15 +++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/index.html b/index.html index f8c0dae..43f8b3c 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,29 @@

    Recent Releases

    +

    Release 2021-03 of July 4th, 2021

    + +

    Highlights (*): numpy-1.21.0+mkl, scipy-1.7.0, scikit_learn-0.24.2, Pandas-1.2.5, Matplotlib-3.4.2, fastai-2.4

    + + +

    Release 2021-02 of April 21th, 2021

    Highlights (*): Spyder-5.0.1, VSCode-1.55.2.0, Jupyterlab_git-0.30.0, Matplotlib-3.4.1, Panel-0.11.3, Voila-0.2.9

    diff --git a/md5_sha1.txt b/md5_sha1.txt index c232e79..7f01baf 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,18 @@ +### WinPython 2021-03 release (July 4th, 2021) + + MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|------------------------------------------------------------------ +fa2715d98015019192ebf728f253ae9c | ba4f263ef533df404f7c8cc0b47a6eb78f429bfa | 489ab15c35336cdac32b88a5282d7b5631af74afba34ac6cee3ac475ffd7c7dd | Winpython64-3.7.10.0dotPyPy.exe | 25 763 221 Bytes | 8758c48b8c74ba3621989b9abf2ddcfcd38049de21512ffcc9ae2688156508c9 +819d5da22c5b2f025eba789ea3edf725 | 4e67187e3bf949ee7ab85d7fbc873f2ac7691c5a | 959d3f7a29134ec758a048217c3bee1010dd1322c98f2452b853796360b748fd | Winpython64-3.7.10.0PyPy.exe | 486 605 762 Bytes | a686ffa27b8cfe96aa227cec7ca1ace5da744ea969dfbdbc76c96f2c9c63d514 +2f730858920f12c65991b7f7490bbdd2 | f26b443eaad4727c3e765af85e08081772e48bed | 7e95875b3217429b54939d45d69f87b6f2013a6cbd2e08b52429b466785bdba2 | Winpython64-3.8.10.0dot.exe | 25 375 720 Bytes | 96ef274f4691a66386d173d873e187259729773cb8e3ef6dc224b82493ca6759 +6033a8688e3e10c7f2000b1529683abe | 289f45be877469c8237f373b62eaa280f739ed10 | f63295ee104790e80ca1a7e67274d57f1a22aa33dce5850bd9f3464b709739d6 | Winpython32-3.8.10.0dot.exe | 24 217 953 Bytes | a1946929a4d5c3d58e4413aa43131eefd14db6bb0291c9cd29a161940adabe21 +dc35b0436535d39166fbc97d0915d22a | a62f1ce23f4569a995368b31599f67a9ab308a69 | 01f2a00265110a51f1fc91a058f1698aef1ef9a1b70f4e6d09f2c9fdccf6edf8 | Winpython64-3.9.5.0dot.exe | 25 839 482 Bytes | 020906ab69e829447cfaa8058863636e4af22e35288ad94081c2416db676d71a +5fd4f594ce5219db3c1269cc79d5f0b6 | bcba1b841afeb476a171af4342703ec962ef247e | 5dc6715618e58944668c28525b2dc7aeacc1a38d9a7df75070ee639e10429b05 | Winpython32-3.9.5.0dot.exe | 24 682 542 Bytes | 87638c83b59a952a71fcaa90aa834634b39c08cea4130342be04635e5cb368ba +dc35b0436535d39166fbc97d0915d22a | a62f1ce23f4569a995368b31599f67a9ab308a69 | 01f2a00265110a51f1fc91a058f1698aef1ef9a1b70f4e6d09f2c9fdccf6edf8 | Winpython64-3.9.5.0dot.exe | 25 839 482 Bytes | 020906ab69e829447cfaa8058863636e4af22e35288ad94081c2416db676d71a +5fd4f594ce5219db3c1269cc79d5f0b6 | bcba1b841afeb476a171af4342703ec962ef247e | 5dc6715618e58944668c28525b2dc7aeacc1a38d9a7df75070ee639e10429b05 | Winpython32-3.9.5.0dot.exe | 24 682 542 Bytes | 87638c83b59a952a71fcaa90aa834634b39c08cea4130342be04635e5cb368ba +1783b1eb3e7d124e481898db5c94aeff | ed1476a8122ab2b65cc5b31e5de6691c39da6f15 | 9a2f25ee58a35656a06bafeddba87c47de28cf11931cdbafe0ebd5b5a4eac2d5 | Winpython64-3.9.5.0.exe | 790 159 865 Bytes | dd5d79c6e306597d51b57f87aabb725028eecf5f3018d2ef6644327bca8604cf + + ### WinPython 2021-02 release (April 21th, 2021) MD5 | SHA-1 | SHA-256 | Binary | Size From 8b6bd1d9d1df8bf90a4e7d2cffbf7e7b02ea15ca Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 25 Sep 2021 20:45:19 +0200 Subject: [PATCH 19/51] new Spyder icons --- images/winpython_launchers.png | Bin 31554 -> 32242 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/winpython_launchers.png b/images/winpython_launchers.png index 2b293b14fbea7840122f052a29153117ed4d0138..2da02a98b4673c7ebddab6d8ce957071901742ad 100644 GIT binary patch literal 32242 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 literal 31554 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 Date: Thu, 11 Nov 2021 11:15:13 +0100 Subject: [PATCH 20/51] WinPython 2021-04 --- index.html | 38 +++++++++++++++++++++++++++++++++----- md5_sha1.txt | 15 +++++++++++++++ 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 43f8b3c..7dc8ca4 100644 --- a/index.html +++ b/index.html @@ -27,22 +27,50 @@

    Recent Releases

    +

    Release 2021-04 of November 11th, 2021

    + +

    Highlights (*): Jupyterlab-3.2.2, Spyder-5.1.5, numpy-1.20.3+mkl, scipy-1.7.2, scikit_learn-1.0.1, Pandas-1.3.4, Matplotlib-3.5.0pre, Pyside6-6.2.1, dash-2.0.0, streamlit-1.1.0

    + + +

    Release 2021-03 of July 4th, 2021

    Highlights (*): numpy-1.21.0+mkl, scipy-1.7.0, scikit_learn-0.24.2, Pandas-1.2.5, Matplotlib-3.4.2, fastai-2.4

      -

      WinPython 3.7 Downloads (**) via SourceForge and Github

      +

      WinPython 3.7 Downloads (**) via SourceForge and Github

      -
    • WinPython64-3.7.10.0dot = pypy3.7-v7.3.5 64bit only : Changelog, Packages
    • -
    • WinPython64-3.7.10.0 = pypy3.7-v7.3.5 64bit + Jupyterlab : Changelog, Packages
    • +
    • WinPython64-3.7.10.0dotPyPy = PyPy3.7-v7.3.5 64bit only : Changelog, Packages
    • +
    • WinPython64-3.7.10.0PyPy = PyPy3.7-v7.3.5 64bit + Jupyterlab : Changelog, Packages
    • -

      WinPython 3.8 Downloads (**) via SourceForge and Github

      +

      WinPython 3.8 Downloads (**) via SourceForge and Github

    • WinPython64-3.8.10.0dot = Python 3.8 64bit only : Changelog, Packages
    • WinPython32-3.8.10.0dot = Python 3.8 32bit only : Changelog, Packages
    • -

      WinPython 3.9 Downloads (**) via SourceForge and Github

      +

      WinPython 3.9 Downloads (**) via SourceForge and Github

    • WinPython64-3.9.5.0dot = Python 3.9 64bit only : Changelog, Packages
    • WinPython32-3.9.5.0dot = Python 3.9 32bit only : Changelog, Packages
    • diff --git a/md5_sha1.txt b/md5_sha1.txt index 7f01baf..3bc672e 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,18 @@ +### WinPython 2021-04 release (November 11th, 2021) + + MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|------------------------------------------------------------------ +b2730089191fee7efbc5fb01307b63ba | 7c2d4d980192e9f956db1e29850900b281d6f214 | dc2b8d5d054030588df3d7ecff4505c329bddbf32e713963e1267a0bbc5473f2 | Winpython64-3.7.12.0dotPyPy.exe | 25 440 506 Bytes | 2ad472aa11411fbccd0221f1742ecd13506e68b707acf3b18bbdd73421926ff2 +263d70e3d3b2042c69eba55ed0ca357c | a0cc975834c6e68c1a153d2decb2c60c80232219 | dc99e68f40b811ca18ec2dd62ac4719f46c53ab27d13a3f9169f1089883d9a75 | Winpython64-3.7.12.0PyPy.exe | 535 097 313 Bytes | 434892d86f1a483bd8eff1235e66adc0f9532e9aa12a5aabcbedb487c804ba06 +bbc219fe630c0927ddd87edc33544e2a | b71ce97dc21f9adef7c8d9e9191a860a734353ca | 5536619fef39a114e188f89cbd5dca61a47d84927bf2b13208c09f1bc5bd9984 | Winpython64-3.8.12.0dotPyPy.exe | 26 974 875 Bytes | 4596fa15564f7dd12e5b52e9b0538ebf4957d0d63bde04ebe9859bf2e6b30bb3 +ecf9ab4dd5d6e72013fd0203d179f6c4 | f2bb62184b77d372868712cf6103969f04098778 | e0d9e4a3499f11ee9e858c76b9c29d26c083dc6e8bf062642a142ec2760c5788 | Winpython64-3.9.8.0dot.exe | 26 488 781 Bytes | e1d9bdc6b07b5c01241d6dd4b36d402837a84d0210222477fc9cf3e02e39875c +4b4106fa925b5f88bd4ecc148474473e | a96bec8eeb0242ea2dbfd8d6c400f8d810d878d2 | 1999e317b227a42e4cb78bb81f8a9e085ff9b4442143bedd0ad3436374e1766a | Winpython32-3.9.8.0dot.exe | 25 351 074 Bytes | 5649f6c702136cee993d97ff504c1b6811d4c2a0fbe0ffb920af9a62767a462d +f4c61e49cf67e742a654350feca548bd | e12a018686e01dcf21264265090f7d74b026f0dc | 71293ed6d029b74de1883046270f0d354e7272a65cab5acb7ca729b51e6abe06 | Winpython64-3.9.8.0.exe | 826 270 488 Bytes | 3f46fe687ac82706b857be1c1ee12eb735ae4e55661ab2cb84e7a0c4de463411 +4a1c75708ab3a0bc269f61495cf2086a | dd6dcc90e5af0dd151f0dc8c3253b39d86afb149 | 8f1db900eff72d2bcd75e08780775ee519d28d4a2fbc4afeab191215c9802fd3 | Winpython64-3.10.0.1dot.exe | 26 364 268 Bytes | cf6618c2bd7f2fd18279fd055c24d7fe71fa054a6243ed40eb6805fe4bf445b2 +386050017b6df8ad50b9460bbb50bdcd | 13d92080bcafe3020a12856cdca7c2fbc226fec2 | a6a30c4bd70b30e2aff5e0d77daf6906881fce4889e73d4725cac2a1ae5b1f2b | Winpython32-3.10.0.1dot.exe | 25 160 853 Bytes | c8d1ddd64012faa271ef074a7e69cd2b7ff87d3b9f4bf8e360468c6795da280b +698582e3ee1a23c6052add65f105e7f6 | 2267409221d8f252bfbbea8855b5fdbb0a92c1dd | 42ace86f9b6b4ef54d9dc69cf166cad07a1c0ac163f7340cc4e890562a47bd79 | Winpython64-3.10.0.1.exe | 633 012 843 Bytes | 36864b305d4ef9beb5b84731d8bd31dccfd526e72984525d90868728bc2e982e + + ### WinPython 2021-03 release (July 4th, 2021) MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 From 6c9f0a33e4a022c18fd0da6aa8421c7df7e4d8a3 Mon Sep 17 00:00:00 2001 From: stonebig Date: Fri, 12 Nov 2021 20:16:44 +0100 Subject: [PATCH 21/51] WinPython 2021-04 post1 corrected Winpython64-3.9.8.0post1.exe correct bad istory and package link for WinPythondotPyPy-64bit-3.8.12.0 --- index.html | 4 ++-- md5_sha1.txt | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 7dc8ca4..c692a86 100644 --- a/index.html +++ b/index.html @@ -39,13 +39,13 @@

      Recent Releases

      WinPython 3.8 Downloads (**) via SourceForge and Github

      -
    • WinPython64-3.8.12.0dotPyPy = PyPy3.8-v7.3.7 64bit only : Changelog, Packages
    • +
    • WinPython64-3.8.12.0dotPyPy = PyPy3.8-v7.3.7 64bit only : Changelog, Packages
    • WinPython 3.9 Downloads (**) via SourceForge and Github

    • WinPython64-3.9.8.0dot = Python 3.9.8 64bit only : Changelog, Packages
    • WinPython32-3.9.8.0dot = Python 3.9.8 32bit only : Changelog, Packages
    • -
    • WinPython64-3.9.8.0 = Python 3.9.8 64bit + PyQt5 + Spyder + Pytorch : Changelog, Packages
    • +
    • WinPython64-3.9.8.0post1 = Python 3.9.8 64bit + PyQt5 + Spyder + Pytorch : Changelog, Packages
    • WinPython 3.10 Downloads (**) via SourceForge and Github

      diff --git a/md5_sha1.txt b/md5_sha1.txt index 3bc672e..78c86d5 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -12,6 +12,10 @@ f4c61e49cf67e742a654350feca548bd | e12a018686e01dcf21264265090f7d74b026f0dc | 71 386050017b6df8ad50b9460bbb50bdcd | 13d92080bcafe3020a12856cdca7c2fbc226fec2 | a6a30c4bd70b30e2aff5e0d77daf6906881fce4889e73d4725cac2a1ae5b1f2b | Winpython32-3.10.0.1dot.exe | 25 160 853 Bytes | c8d1ddd64012faa271ef074a7e69cd2b7ff87d3b9f4bf8e360468c6795da280b 698582e3ee1a23c6052add65f105e7f6 | 2267409221d8f252bfbbea8855b5fdbb0a92c1dd | 42ace86f9b6b4ef54d9dc69cf166cad07a1c0ac163f7340cc4e890562a47bd79 | Winpython64-3.10.0.1.exe | 633 012 843 Bytes | 36864b305d4ef9beb5b84731d8bd31dccfd526e72984525d90868728bc2e982e + MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|------------------------------------------------------------------ +c92d2e3d003bc28ad8c5a98c8d2ab3d1 | de8c6cbab635d5d6adae740f203de4fb0f701f58 | 2f25e5f539668044ae30155318c3dbf9d23e2cf38f29b9598f3b08daa390e267 | Winpython64-3.9.8.0post1.exe | 843 570 185 Bytes | 15b50f9e7ec2cef4e3f6730c3715ff1b627f954ed050f1348deae121ea9efdfc + ### WinPython 2021-03 release (July 4th, 2021) From afed7524ef177a131f4567877584540d6906b0b0 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 29 Jan 2022 13:17:29 +0100 Subject: [PATCH 22/51] WinPython 2021-05 --- index.html | 27 ++++++++++++++++++++++++--- md5_sha1.txt | 13 +++++++++++++ 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index c692a86..90f539c 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,27 @@

      Recent Releases

      +

      Release 2021-05 of January 25th, 2022

      + +

      Highlights (*): Jupyterlab-3.2.8, Spyder-5.2.2, numpy-1.21.5+mkl, Pandas-1.4.0, Matplotlib-3.5.0, Pyside2-5.15.2.1, Numba-0.55.0, Wasmer-1.1.0

      + + +

      Release 2021-04 of November 11th, 2021

      Highlights (*): Jupyterlab-3.2.2, Spyder-5.1.5, numpy-1.20.3+mkl, scipy-1.7.2, scikit_learn-1.0.1, Pandas-1.3.4, Matplotlib-3.5.0pre, Pyside6-6.2.1, dash-2.0.0, streamlit-1.1.0

      @@ -49,9 +70,9 @@

      Recent Releases

      WinPython 3.10 Downloads (**) via SourceForge and Github

      -
    • WinPython64-3.10.10.0dot = Python 3.9.10 64bit only : Changelog, Packages
    • -
    • WinPython32-3.10.10.0dot = Python 3.9.10 32bit only : Changelog, Packages
    • -
    • WinPython64-3.10.10.0 = Python 3.9.10 64bit + Pyside6 + Jupyterlab : Changelog, Packages
    • +
    • WinPython64-3.10.0.0dot = Python 3.10.0 64bit only : Changelog, Packages
    • +
    • WinPython32-3.10.0.0dot = Python 3.10.0 32bit only : Changelog, Packages
    • +
    • WinPython64-3.10.0.0 = Python 3.10.0 64bit + Pyside6 + Jupyterlab : Changelog, Packages
    diff --git a/md5_sha1.txt b/md5_sha1.txt index 78c86d5..29de3ef 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,16 @@ +### WinPython 2021-05 release (January 25th, 2022) + + MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|------------------------------------------------------------------ +f89ffddb6baafd0cda00639cb27be51f | 7e7b86b05a8ba04b5eee1d8c7be580350fd6af18 | 3e7668eb8206b5e63ce52aef2f81c3513e51614acc9b8b7447e7c7af183f56cb | Winpython64-3.11.0.0dota4.exe | 27 320 030 Bytes | 09d2caa336aa0b19230b1ce60eb16570d67b299a51de08a401f334b90752958d +b129f1cce35343fd96f824fc19a25f23 | 4c0c25c08f738341879143e37ce15bb162be23d3 | aeb1a08b0e0d80f1c3088fae1069f3a913da00dffe3be7b25800257c137ac51b | Winpython64-3.10.2.0dot.exe | 26 265 889 Bytes | 394b0687284e41239356407d572eca23d76e97014c2f78371d17396fa8f4f7f7 +875470e76953b37ddfe1f0c8f2489ad9 | 2a8c0431c86998c3f7339ef50d8d270abe7824a8 | d762e9c74016947d50451fd14033927c861bbc1801ad02a86f727f1503ebe59a | Winpython32-3.10.2.0dot.exe | 25 034 027 Bytes | 3b45eeb727bb1dfed5ed732c8f7646e7246ff6e75c06ded62ace85b2e7af115a +27c7f5ba309c75d4156472f94df5f999 | e96cabce38ddc6178575127281f4f2ab5cdee0ad | c7d41083435940906998f07f4d2abfad27108b7854653d4e41c0e329e32c55b0 | Winpython64-3.9.10.0dot.exe | 26 475 751 Bytes | 78d302debbc4488d992f5594bd469b2a86ff9bf8bbbf09f25658e1f32f2bc1cf +03150fc86fd56d8d067721100fd2a097 | 1c72ea2134ca71edf346cff60f64db81fbc4d94b | 497f9b4d1d3bebc3606c94911673b843dda3f0b226876b7240982e3e874bb52f | Winpython32-3.9.10.0dot.exe | 25 358 253 Bytes | 91ba91f6999331d2bd902cdf29141bffd18d31dc159d943cbcf6b46dc57ca3bd +54c3befe8eca7c62ae453fa497228ce2 | f2c867670e877bd7d22077d1761cfcb4a00f8d22 | 09d197889b86062e9090fdc716bd16f5f604290cec3c68a0444eb7cd18f24f93 | Winpython64-3.9.10.0.exe | 857 520 123 Bytes | 82c08f19ef5fc7232c5bae5deef042d2b09f61835cd713a61bc97e8b109e2b6e +ea78ad02b6ac45e9025c9340836fc3d6 | 7db8d4d2e2c04fb4b41731d6287a3b2a02edec6b | 26f057ccbad8b9dd5b42a18ba2dc8d3a8c2a8a9cbd6d199239e956d361540790 | Winpython64-3.10.2.0.exe | 710 798 132 Bytes | 2e9270f58bbc55044301b94a47a900181b3830ba6bc074a2d2a45c6bd822a34d + + ### WinPython 2021-04 release (November 11th, 2021) MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 From 1980927bdd5b91eb49c6ead208fe95e634eab825 Mon Sep 17 00:00:00 2001 From: firai Date: Mon, 14 Feb 2022 20:06:28 +0800 Subject: [PATCH 23/51] Fix 2021-05 Python & Pyside component versions --- index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 90f539c..0f5a941 100644 --- a/index.html +++ b/index.html @@ -41,9 +41,9 @@

    Recent Releases

    WinPython 3.10 Downloads (**) via SourceForge and Github

    -
  • WinPython64-3.10.2.0dot = Python 3.9.10 64bit only : Changelog, Packages
  • -
  • WinPython32-3.10.2.0dot = Python 3.9.10 32bit only : Changelog, Packages
  • -
  • WinPython64-3.10.2.0 = Python 3.9.10 64bit + Pyside6 + Jupyterlab : Changelog, Packages
  • +
  • WinPython64-3.10.2.0dot = Python 3.10.2 64bit only : Changelog, Packages
  • +
  • WinPython32-3.10.2.0dot = Python 3.10.2 32bit only : Changelog, Packages
  • +
  • WinPython64-3.10.2.0 = Python 3.10.2 64bit + Pyside2 + Jupyterlab : Changelog, Packages
  • From 9a663576b1aa2dfca0112196d2501a1a3cdbc107 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 7 May 2022 17:09:23 +0200 Subject: [PATCH 24/51] WinPython 2022-01 --- index.html | 22 +++++++++++++++++++++- md5_sha1.txt | 12 ++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 0f5a941..8c1e4b1 100644 --- a/index.html +++ b/index.html @@ -26,6 +26,26 @@

    Recent Releases

    + +

    Release 2022-01 of May 3rd, 2022

    + +

    Highlights (*): Jupyterlab-3.3.4, Spyder-5.3.0, Pandas-1.4.2, Pyside6 for PyPy

    +

    Release 2021-05 of January 25th, 2022

    @@ -47,7 +67,7 @@

    Recent Releases

    - +

    Release 2021-04 of November 11th, 2021

    Highlights (*): Jupyterlab-3.2.2, Spyder-5.1.5, numpy-1.20.3+mkl, scipy-1.7.2, scikit_learn-1.0.1, Pandas-1.3.4, Matplotlib-3.5.0pre, Pyside6-6.2.1, dash-2.0.0, streamlit-1.1.0

    diff --git a/md5_sha1.txt b/md5_sha1.txt index 29de3ef..659d6f2 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,15 @@ +### WinPython 2022-01 release (May 3rd, 2022) + + MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|------------------------------------------------------------------ +95e819597c5818a4fcff147b9ce6a99e | 0fa05795b825fcf1da40cd663232c7d5f08cbf3c | 1392f19ebe51faeeaf361f0712356b94a0c18333fc37998425c76791efc99fd8 | Winpython64-3.10.4.0dot.exe | 27 238 910 Bytes | 7fe53ff86b66b3507672ff95186feeea858e352bdbc46b1618532ef2ec355b97 +154ed6d36a666e4183730bbc7bdba523 | c7a999cca14ff66748c9dcc4d14e0927bc13a795 | 644c435bdc234d9b7e5fa4f34cc30d16bc0ee7cae46377da8f3d264d38c37263 | Winpython32-3.10.4.0dot.exe | 26 014 914 Bytes | b86f14bee5517f351959b0a65f44e0c2bb05312e4a7b0f18ee213e0fcfcc8ae2 +9bd5be2f6871b5160296f750f9e09d94 | 9ebd35edf2fbadec4c1aaf8bfa17fa80265b6eeb | 478372b1cffad26ddba5fcb00635be441a1936fdeeb2956d5790d0867c5e46fd | Winpython64-3.8.12.2dotPyPy.exe | 27 085 897 Bytes | 61c8cdbb6c40b9cd3a3e1f8ecb3ad157d3066de68ec3d497f9f62e1ddb0ef7c9 +15e69aeac0aee7c8371874da08e36350 | e8d8a241d1a887e80ebd4fd4dd67bd29ea23979a | 0a379c8a8d09ff083fd9a7b5cdb30d60d4446efaefdccae71f67f0602222f636 | Winpython64-3.10.4.0blas.exe | 588 926 769 Bytes | 28b4bccc46179eebf971a59f0b8aca97f894ad9cc14a359c6170c14bfafea31a +5759ac25156174ee1ad02afa2991357c | ba495c787ec432eb572124d96b4773102d4ce274 | c4f2ac9b326df4b9c2dcf31edd8bb1f5329cd2c7e5ba4c6fbab8fcdc019e2132 | Winpython64-3.10.4.0.exe | 805 194 942 Bytes | 9d2f7256bca12bbc540a514f7948dcebb5ddf5d366f581caa4abd8e37f2da02a +6d9714a923f6e96350e9a5a29bc2be22 | 5becd78d61872bfa6dc4452d6ec3cfd5fcd4ae70 | 975fd43430f7373246731dc5eae1549944c1755f4de077aacd9d2d8af6d2d241 | Winpython64-3.8.12.2PyPy.exe | 672 300 425 Bytes | fc9552d0cb3dafef09aa95ce7cf8326163631e0ead0623a018b8430efb555305 + + ### WinPython 2021-05 release (January 25th, 2022) MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 From 4ae491fc0c4233d06360a26c7249db069a3d07ed Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 16 Jul 2022 12:18:26 +0200 Subject: [PATCH 25/51] WinPython 2022-02 --- index.html | 20 +++++++++++++++++++- md5_sha1.txt | 11 +++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 8c1e4b1..8d8c5f4 100644 --- a/index.html +++ b/index.html @@ -27,7 +27,25 @@

    Recent Releases

    -

    Release 2022-01 of May 3rd, 2022

    +

    Release 2022-02 of July 16th, 2022

    + +

    Highlights (*): Jupyterlab-3.4.3, Spyder-5.4.0.dev0, Pandas-1.4.3, Numpy-1.22.4+mkl, Torch-1.12.0

    + +

    Release 2022-01 of May 3rd, 2022

    Highlights (*): Jupyterlab-3.3.4, Spyder-5.3.0, Pandas-1.4.2, Pyside6 for PyPy

      diff --git a/md5_sha1.txt b/md5_sha1.txt index 659d6f2..72420c1 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,14 @@ +### WinPython 2022-02 release (July 16th, 2022) + + MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|------------------------------------------------------------------ +0a6824610fea353dd638eb2a95fc32fc | dfde708115660a5c8cb02e75ea4599b5cb02c4df | ad3f373507c3d2f3d4464b8357e8de158759a9c15a91c18a60dece81982e5f69 | Winpython64-3.10.5.0dot.exe | 27 366 561 Bytes | 7488af117f2bca3479dca8ca7b00f0d51a5ed16b034b355407865e7dbc3a5e9d +072485b4db8bf86e0809243686f88640 | 467f4a6e771c214cf96b5319c6a11ce1af28657c | 56c80896ee47518e50aaa3e406b74c061ca9c2df7af1dc08ac2aa7ffae9ba7d9 | Winpython32-3.10.5.0dot.exe | 26 137 156 Bytes | 79b0e1178a48489eb27a9ead064a56084e1ac4b693a27a24ee5052ee79f25969 +6c63a617ecd37584cb879a0616c52a9c | 04739dd7269fdd308b77396640f93ae0fb633d23 | d764a44195a82a3ced78ec6ac1a813ac359e42d7cfc4b3cde56332c5e9dadbe7 | Winpython64-3.10.5.0.exe | 813 643 148 Bytes | 042dbe458c7a35b7d5eb339fbbe1223ba3c63bc5f1775c8ca9229772c162fb26 +1d709a4594cef7bae442a7d3fe4c8b72 | 65ea889e2b1ccf2d41c6050c1c04c1c17523c6aa | 9d6bf90b7a26e0841f27e4132723cb15d706a8adcdfc93cf7dcdbc57eddc1339 | Winpython64-3.8.12.3dotPyPy.exe | 27 105 401 Bytes | cd0692219f5383ecf8d19a721362003cf90b1ed5faee4b9fb6da305e16fce601 +ec3492f2154b9de3a5c4f0e8f3e08f2a | 731b7417a60c24d01084b94efbc79994eee6b14f | 1823a9947e86d1482bc61c0ff8b17b761b53dc6814d9c263ad37a22b6ac3c819 | Winpython64-3.8.12.3PyPy.exe | 674 355 022 Bytes | a0ec9711c3fc550bf2b6d3c03b6712af76988cfe65ce35ead23fadd447be57e7 + + ### WinPython 2022-01 release (May 3rd, 2022) MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 From e5abff5ac4046739a15fc4efb237e50a71521988 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 16 Jul 2022 12:26:50 +0200 Subject: [PATCH 26/51] fixing uncorrect links --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 8d8c5f4..dc957e8 100644 --- a/index.html +++ b/index.html @@ -33,7 +33,7 @@

      Recent Releases

        -

        WinPython 3.8 Downloads (**) via SourceForge and Github

        +

        WinPython 3.8 Downloads (**) via SourceForge and Github

      • WinPython64-3.8.12.3dot = PyPy3.8-v7.3.9 64bit only : Changelog, Packages
      • WinPython64-3.8.12.3 = PyPy3.8-v7.3.9 64bit + PySide6 : Changelog, Packages
      • From 1fa60f8461d91e3f7c8d82deeb7d973fe5b9fd14 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 30 Jul 2022 16:15:10 +0200 Subject: [PATCH 27/51] fix incorrect typed links and year .... reported in https://github.com/winpython/winpython/issues/1090 --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index dc957e8..5b8fe12 100644 --- a/index.html +++ b/index.html @@ -38,7 +38,7 @@

        Recent Releases

      • WinPython64-3.8.12.3dot = PyPy3.8-v7.3.9 64bit only : Changelog, Packages
      • WinPython64-3.8.12.3 = PyPy3.8-v7.3.9 64bit + PySide6 : Changelog, Packages
      • -

        WinPython 3.10 Downloads (**) via SourceForge and Github

        +

        WinPython 3.10 Downloads (**) via SourceForge and Github

      • WinPython64-3.10.5.0dot = Python 3.10.5 64bit only : Changelog, Packages
      • WinPython32-3.10.5.0dot = Python 3.10.5 32bit only : Changelog, Packages
      • From 4232f25720af2da58432ce0560212127f47fe90c Mon Sep 17 00:00:00 2001 From: stonebig Date: Thu, 4 Aug 2022 21:49:51 +0200 Subject: [PATCH 28/51] wrong link to WinPython 3.10.5 Download --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 5b8fe12..c143a10 100644 --- a/index.html +++ b/index.html @@ -38,7 +38,7 @@

        Recent Releases

      • WinPython64-3.8.12.3dot = PyPy3.8-v7.3.9 64bit only : Changelog, Packages
      • WinPython64-3.8.12.3 = PyPy3.8-v7.3.9 64bit + PySide6 : Changelog, Packages
      • -

        WinPython 3.10 Downloads (**) via SourceForge and Github

        +

        WinPython 3.10 Downloads (**) via SourceForge and Github

      • WinPython64-3.10.5.0dot = Python 3.10.5 64bit only : Changelog, Packages
      • WinPython32-3.10.5.0dot = Python 3.10.5 32bit only : Changelog, Packages
      • From 172e54361412487e3840ebfcc2a0f57b3dc6533c Mon Sep 17 00:00:00 2001 From: stonebig Date: Sun, 6 Nov 2022 12:00:30 +0100 Subject: [PATCH 29/51] WinPython 2022-03 --- index.html | 21 ++++++++++++++++++++- md5_sha1.txt | 11 +++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index c143a10..6cb9d19 100644 --- a/index.html +++ b/index.html @@ -27,7 +27,26 @@

        Recent Releases

        -

        Release 2022-02 of July 16th, 2022

        +

        Release 2022-03 of October 30th, 2022

        + +

        Highlights (*): Jupyterlab-3.5.0, Pandas-1.5.1, Numpy-1.23.4, Seaborn-0.12.1, Panel-0.14.1, Duckdb-0.5.1

        + +

        Release 2022-01 of May 3rd, 2022

        +

        Highlights (*): Jupyterlab-3.4.3, Spyder-5.4.0.dev0, Pandas-1.4.3, Numpy-1.22.4+mkl, Torch-1.12.0

          diff --git a/md5_sha1.txt b/md5_sha1.txt index 72420c1..efcecb2 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,14 @@ +### WinPython 2022-03 release (October 30th, 2022) + + MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|------------------------------------------------------------------ +ddcfebb483561e19c7ea36678d456ae4 | dd216a3d392e91c4fddb5a0754350b67a96334c5 | bd454f8df90d6ea6405780e6da71decb96ddfbbb0a5d5a33461203a7a5995651 | Winpython64-3.10.8.0dot.exe | 27 466 400 Bytes | 7fe08bb7d40660226e18fd32a68264aca7985d7983d4eff9bcebd05ae3ff8517 +151b9df707bccb9a480b0d05d4248e18 | 41571505425d9a44faadc0e4c5d4a6964ec472c0 | 8d383bca244ab1b19d258aae73c334975337e3f05dd44f75accbaa22bd899734 | Winpython32-3.10.8.0dot.exe | 26 248 844 Bytes | 1de63e569cc827eaa8f481eedaeab65457c63c2108462cb90e8554d1adacb7cb +ac435f86d6a6fa48c423fcb8260a2e30 | 33519c39ba5660c14662c35a09a2fa707b2f3ccd | bba6f7c6c59a3c58400e8a131dca645cc2240be4a41c3042433c8f01e5a4154d | Winpython64-3.10.8.0.exe | 677 301 325 Bytes | 020e8096eccb8a4e91adb46adbe0e9db97725c3c9a26427579fb239c0c0ded7c +e3e9ab1d123445a12e9e0095f87a8fa7 | 5c2d24aabbb11dba9bc87bb39d63d0d7770c43b3 | 7f288344ece6fa07d23915cab90c35a50d16a4a5aa3c624c3e925f5b9f903ebc | Winpython64-3.11.0.1dot.exe | 24 378 166 Bytes | 91e7727fa7c669d566f2e1147531396e3d57b2a35b45619add416b0cdbb2369f +16126719208df4f0c3210d0a339a5720 | ec155373f96c331b71ec7e63c8f9b37457b92ec2 | 98c4046930b16e79fcd33a742c15cc868cf14388793105864d69e50718320029 | Winpython64-3.11.0.1.exe | 527 837 583 Bytes | 6f732e253db5a44b8400ebbcc7e570d8123c38e3773ee92550e154f2da415ce5 + + ### WinPython 2022-02 release (July 16th, 2022) MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 From 436c132228531b7731acd5b8748a59c744d938f2 Mon Sep 17 00:00:00 2001 From: stonebig Date: Tue, 24 Jan 2023 22:29:01 +0100 Subject: [PATCH 30/51] Winpython 2022-04 + old link fix --- index.html | 22 ++++++++++++++++++++-- md5_sha1.txt | 11 +++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 6cb9d19..6971f03 100644 --- a/index.html +++ b/index.html @@ -27,7 +27,25 @@

          Recent Releases

          -

          Release 2022-03 of October 30th, 2022

          +

          Release 2022-04 of January 22nd, 2023

          + +

          Highlights (*): Spyder-5.4.2, Ipython-8.7.0, Torch-1.13.1, Polars-0.15.6, Duckdb-0.6.0

          + +

          Release 2022-03 of October 30th, 2022

          Highlights (*): Jupyterlab-3.5.0, Pandas-1.5.1, Numpy-1.23.4, Seaborn-0.12.1, Panel-0.14.1, Duckdb-0.5.1

            @@ -45,7 +63,7 @@

            Recent Releases

          • WinPython64-3.11.0.1 = Python 3.11.0 64bit with PyQt5 + Spyder + Torch : Changelog, Packages
          -

          Release 2022-01 of May 3rd, 2022

          +

          Release 2022-02 of July 16th, 2022

          Highlights (*): Jupyterlab-3.4.3, Spyder-5.4.0.dev0, Pandas-1.4.3, Numpy-1.22.4+mkl, Torch-1.12.0

          diff --git a/md5_sha1.txt b/md5_sha1.txt index efcecb2..5feb373 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,14 @@ +### WinPython 2022-04 release (January 22nd, 2023) + + MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|------------------------------------------------------------------ +5d6c22345a952affe1266a92abf14ceb | 7ba4581efb578247ba3ee2d998162135e3ef83b3 | 7c61728acb13954ba862348116676c30617aec8fc45536fa882c9b0dd9278eda | Winpython64-3.10.9.0dot.exe | 27 467 759 Bytes | b1a6760c984ccdbd13df31c742bf6dbb2b5246f617781f313e2db843dc6d89ff +ba3268df9d7e5206dee6b7a42dbab8a7 | 214ebb0110df945f37be8ff884447103b69d7d70 | 49738ff219cd23cd1e96afaf2a6b8eabdcdb04575167dd46e1f132e946821326 | Winpython32-3.10.9.0dot.exe | 26 249 584 Bytes | 3e39907400b728719093edb0a67213da956f243caeaaf13842faeab1b0ee9235 +46a26e25ca6524ebaabfa04b390d3b91 | da52d4ab1bdf923aaf36f69f5d8eeb057e8eab84 | 1577b72582c04fb43f2353c17d09c41f927f8a4994f33a2a6689e2558ade0204 | Winpython64-3.11.1.0dot.exe | 24 404 166 Bytes | e5fa479d2d5948f0e399c08bcfe30ed088dc10d726ba2406ec22c5d65a6769f3 +8e3fb06b4ae8e3741207bd650b62df15 | 3a2600c37217d9be245ec67f1a1154af282424d6 | 6d265a1b795d3a444a8890db114f8cd7153b41378a02bd21cb2bcd5ba431c4e3 | Winpython64-3.10.9.0.exe | 683 571 740 Bytes | 3cef6ad93ef127063b24b112c7a4e9437878033e0dee486c5d80991c964ee860 +8ba6cb889fba7bd208a36cdd123dbcb6 | aa63897b18bb8bb35b236a1068501552290c24f8 | 7664b45097ab206828a9c1de7b03c14d622dc2bb94733075c62a6174c2252698 | Winpython64-3.11.1.0.exe | 562 936 337 Bytes | 024c570acf8bd6a0f5ce6fad784ff6791323f984c911a81523da485bcc9432ae + + ### WinPython 2022-03 release (October 30th, 2022) MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 From c362acb0a370111281b269750bb69a53c257e246 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 4 Feb 2023 11:44:51 +0100 Subject: [PATCH 31/51] latest ... Windows 7 news --- index.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 6971f03..42c1424 100644 --- a/index.html +++ b/index.html @@ -311,6 +311,8 @@

          Overview

          • Runs out of the box(*) on any Windows 8+ with 2GB Ram (Jupyter Notebook will require a recent browser)
          • The WinPython folder can be moved to any location (**) (local, network, USB drive) with most of the application settings
          • +
          • Last WinPython version that is said to still work on Windows 7 should be WinPython64-3.8.9.0
          • +
        • Flexible:
            @@ -344,7 +346,7 @@

            Portable or not, the choice is yours!

          That is exactly what the official Python installer would do to your machine: in other words, you can have it both ways! -

          (*) For recent WinPython, Windows 8..10 users may have to install missing system DLL Microsoft Visual C++ Redistributable for Visual Studio 2017..2019 (vc_redist_x86.exe for WinPython 32bit, vc_redist_x64.exe for Winpython 64bit) +

          (*) For recent WinPython, Windows 8..11 users may have to install missing system DLL Microsoft Visual C++ Redistributable for Visual Studio 2017..2019 (vc_redist_x86.exe for WinPython 32bit, vc_redist_x64.exe for Winpython 64bit)

          (*) For best Winpython 2018-01 and later experience, it is recommended to have WinPython base directory path smaller than 37 characters. example: C:\Users\xxxxxxxx\Downloads\WinPython From 45d7e7308fb991d85d91add4258a337c6860a0e6 Mon Sep 17 00:00:00 2001 From: stonebig Date: Thu, 25 May 2023 20:57:15 +0200 Subject: [PATCH 32/51] WinPython 2023-01 final --- index.html | 18 ++++++++++++++++++ md5_sha1.txt | 11 +++++++++++ 2 files changed, 29 insertions(+) diff --git a/index.html b/index.html index 42c1424..179ff42 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,24 @@

          Recent Releases

          +

          Release 2023-01 of May 25th, 2023

          + +

          Highlights (*): a full WinPython-3.11, Spyder-5.4.3, Panel-1.0.2, Torch-2.0.2, Polars-0.17.11, Duckdb-0.8.0

          +

          Release 2022-04 of January 22nd, 2023

          Highlights (*): Spyder-5.4.2, Ipython-8.7.0, Torch-1.13.1, Polars-0.15.6, Duckdb-0.6.0

          diff --git a/md5_sha1.txt b/md5_sha1.txt index 5feb373..59f3d27 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,14 @@ +### WinPython 2023-01 release (May 25th, 2023) + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +783fdac252e27e5e6d73091d384793ab | 336f18cf77a98089ca8cdfad6978b62e9bcc13dd | d227bbbff3fad5be3eb80a82364fb135d5bb644a0467ea4c2083e8e1bdda12d5 | Winpython64-3.10.11.0dot.exe | 27 575 827 Bytes | 4fdb57837b04bda64c526471391a21c994c6667b89af0697f71c414122b3b6b8 +3909fb74d2d47085ebc2d7a0a35c5cc1 | ce6fba0cfde554b1c9efb8526c86746ef4e77873 | b0b3fd72fc6043aee6698ea22e55aa8dfe74828ce9cc1a198d925de83ba3188d | Winpython32-3.10.11.0dot.exe | 26 327 225 Bytes | bceb8e1d38d63e6679b3bc8e48ce07a7e41d50de2cc19e9976b1e3c63ed3e04f +49853641436d13124bdc2f410900f4e5 | 82826e62931df18ddd548f929d3bc55d5a3d9446 | 400323ac0593b38557d274011469722d5abde9c2a0f7d7f8bea3948214163134 | Winpython64-3.11.3.0dot.exe | 24 565 218 Bytes | 038a32947edc0c9689f3f22e294b585cc98fbc40386a543b746164ae0c5fa860 +87f4cc2f3d09dd7410b271ea4b956213 | ce251010a2eb94a781f33ac9363fb5e32fceba7c | 9cb8b6e898e4c6e0d40f26103bf69f6a68fe5b6614289877c9532c317f9f3884 | Winpython64-3.10.11.0.exe | 712 648 485 Bytes | fe61017c2d1f82871a9416a0d739bd835c231f6c662fcc5ae270acc29d45b2c1 +e1f5fd5851c4739478bae21918a03444 | c4ed610a064a18960e59f983509eac72ace2ad50 | 4579950067238e0510449da6bd40452a9a9c75a5ee5d48cd405528b6b3b8904e | Winpython64-3.11.3.0.exe | 756 217 260 Bytes | 0fa376f25ceeafee58ce4a33ff23cf66b974eb8596cebb73f7674009604b63e9 + + ### WinPython 2022-04 release (January 22nd, 2023) MD5 | SHA-1 | SHA-256 | Binary | Size | SHA3-256 From c6ae75574691758bec1a9646c054af68885203da Mon Sep 17 00:00:00 2001 From: stonebig Date: Mon, 29 May 2023 17:34:10 +0200 Subject: [PATCH 33/51] WinPython 2023-01 post1 two tiny fixes --- index.html | 18 ++++++++++++++++++ md5_sha1.txt | 11 +++++++++++ 2 files changed, 29 insertions(+) diff --git a/index.html b/index.html index 179ff42..de08aa8 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,24 @@

          Recent Releases

          +

          Release 2023-01 post1 of May 27th, 2023

          + +

          Highlights (*): two fixes versus 2023-01 : WinPython Control Panel and upgrade to toolz-0.12.0

          +

          Release 2023-01 of May 25th, 2023

          Highlights (*): a full WinPython-3.11, Spyder-5.4.3, Panel-1.0.2, Torch-2.0.2, Polars-0.17.11, Duckdb-0.8.0

          diff --git a/md5_sha1.txt b/md5_sha1.txt index 59f3d27..c2b641b 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,14 @@ +### WinPython 2023-01 post1 release (May 27th, 2023) + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +a7fe7f5ded089dcf9a201ee78dfeeb6f | 88f5b5a3fa2467173b2fe7c992a6a51ae6bc388b | ec9345932a86101f15b6171fc261b5a7dca1d71095f6e87fe88ec8bdd099b030 | Winpython64-3.10.11.1dot.exe | 27 575 243 Bytes | 63b780813da7f44b1780c844aea23a45492b04e398a191ea96d66bd21903aa4c +5e9b5296702ee5a940934d50b34a1c4f | 162d9493d0a51b4eb0538359fb9bcc4d80784f62 | 7f1bded910ba7815c3e8fc3a5142a9722513967a323cf013d24380a0909090da | Winpython32-3.10.11.1dot.exe | 26 334 232 Bytes | 869728880d39a73f95ae93d3a95a07e57aba03f7671fbe37c029d752027cf3ee +0e88475fabee48a8a6131be13d49b1c0 | c4241cfa5d0a5ffca6fb7a34856379598f8e6439 | 057c85cd548018d2642ff7ee84eca976ccf3e87ce23748ceec8058e5ed7fff15 | Winpython64-3.11.3.1dot.exe | 24 571 543 Bytes | d262eaebdd0e3f2dce678b9766f21acbc35826d820d8cd283035434fefb4d899 +00abd0eb20b2a864559fa33e1e102795 | 3eadd097ccf89d7bb1583a0ffbe9d3504379eb19 | e692bff303a55cefdb71bf6086f2989b276074a59b3da569c5adc948e36ae248 | Winpython64-3.10.11.1.exe | 712 268 931 Bytes | b8a5c6bacaca9f3a36e0e70a12d4d4e4ebeef9fea4b5cc2c699e50422bb2e220 +f553004fdd1bbe93640f0c6bdd59b2ac | 1ed286c1738b98a679dcd078910415895beca8f2 | 4bc2c603ed1e0c2c075293c0a65e5262556e713958559c7f61b97d5a66a1334d | Winpython64-3.11.3.1.exe | 756 264 155 Bytes | 7c76c4f26f6fe10b5087833ee8a29ae353ab7788a0ad825485dbe58334cf4452 + + ### WinPython 2023-01 release (May 25th, 2023) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From e92f1f506215290dd65b0d66e98bcad943d261f9 Mon Sep 17 00:00:00 2001 From: stonebig Date: Wed, 31 May 2023 22:17:42 +0200 Subject: [PATCH 34/51] redo WinPython64-3.10.11.1.exe broken archive --- md5_sha1.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/md5_sha1.txt b/md5_sha1.txt index c2b641b..f8ce296 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -5,8 +5,8 @@ a7fe7f5ded089dcf9a201ee78dfeeb6f | 88f5b5a3fa2467173b2fe7c992a6a51ae6bc388b | ec9345932a86101f15b6171fc261b5a7dca1d71095f6e87fe88ec8bdd099b030 | Winpython64-3.10.11.1dot.exe | 27 575 243 Bytes | 63b780813da7f44b1780c844aea23a45492b04e398a191ea96d66bd21903aa4c 5e9b5296702ee5a940934d50b34a1c4f | 162d9493d0a51b4eb0538359fb9bcc4d80784f62 | 7f1bded910ba7815c3e8fc3a5142a9722513967a323cf013d24380a0909090da | Winpython32-3.10.11.1dot.exe | 26 334 232 Bytes | 869728880d39a73f95ae93d3a95a07e57aba03f7671fbe37c029d752027cf3ee 0e88475fabee48a8a6131be13d49b1c0 | c4241cfa5d0a5ffca6fb7a34856379598f8e6439 | 057c85cd548018d2642ff7ee84eca976ccf3e87ce23748ceec8058e5ed7fff15 | Winpython64-3.11.3.1dot.exe | 24 571 543 Bytes | d262eaebdd0e3f2dce678b9766f21acbc35826d820d8cd283035434fefb4d899 -00abd0eb20b2a864559fa33e1e102795 | 3eadd097ccf89d7bb1583a0ffbe9d3504379eb19 | e692bff303a55cefdb71bf6086f2989b276074a59b3da569c5adc948e36ae248 | Winpython64-3.10.11.1.exe | 712 268 931 Bytes | b8a5c6bacaca9f3a36e0e70a12d4d4e4ebeef9fea4b5cc2c699e50422bb2e220 f553004fdd1bbe93640f0c6bdd59b2ac | 1ed286c1738b98a679dcd078910415895beca8f2 | 4bc2c603ed1e0c2c075293c0a65e5262556e713958559c7f61b97d5a66a1334d | Winpython64-3.11.3.1.exe | 756 264 155 Bytes | 7c76c4f26f6fe10b5087833ee8a29ae353ab7788a0ad825485dbe58334cf4452 +d68cc41f43bf17e95ed32c5a2ebef8ed | 21b772df6eaa191c667d4ac1d01d630050b39bcd | 94bc3e43fbc8b9789c51739a5155e1f3ee73b9a0e91287be9740b04d728c43d2 | Winpython64-3.10.11.1.exe | 712 604 591 Bytes | c1b18d8fd9e58e3d847c22c91b1f055805b0e8861bc2d17ce951e970cf40ba73 ### WinPython 2023-01 release (May 25th, 2023) From b9772b59c9224cd92948e41f62bc781078e0525b Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 15 Jul 2023 20:47:41 +0200 Subject: [PATCH 35/51] WinPython 2023-02 --- index.html | 11 +++++++++++ md5_sha1.txt | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/index.html b/index.html index de08aa8..dae3ce6 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,17 @@

          Recent Releases

          +

          Release 2023-02 of July 15th, 2023

          + +

          Highlights (*): Python-3.11.4, pandas-2.0.2, SQLalchemy-2.0.15, Jupyterlab-3.6.5, opencv_python, qrcode, python_barcode

          +

          Release 2023-01 post1 of May 27th, 2023

          Highlights (*): two fixes versus 2023-01 : WinPython Control Panel and upgrade to toolz-0.12.0

          diff --git a/md5_sha1.txt b/md5_sha1.txt index f8ce296..5178ec8 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,11 @@ +### WinPython 2023-02 release (July 15th, 2023) + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +83b5c99aa9303f93c06241928a1ef51c | 8c28ab41e68f53faa081530324c26dbe7b028935 | 09dacbf391adb11ace34eb90cd02ae3fc3749df612b8a1fd288e7e5c47bc1973 | Winpython64-3.11.4.0dot.exe | 31 541 585 Bytes | ea780b4c7781dda507a09fa7ef856fe58b2f49959f849f3f1a01106d5fda35fe +6d9f7fed5327257aa86be3b7caa6916d | 11dbfa8c2ec1d225bdb0c6f19f75d62c12e640c4 | 193233967bd2b6a6cd705ac3b17dac9c4864ae8e56744a2b89caed91f2fb6f05 | Winpython64-3.11.4.0.exe | 785 746 334 Bytes | feba52aca59c85f8efce1ee58fd28c052f7505966728268481f9405956e70f41 + + ### WinPython 2023-01 post1 release (May 27th, 2023) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From 4cdeeb5114ce0bb0a230dbe67cfab684a60b4aad Mon Sep 17 00:00:00 2001 From: stonebig Date: Thu, 28 Sep 2023 20:06:20 +0200 Subject: [PATCH 36/51] WinPython 2032-03 --- index.html | 16 +++++++++++++++- md5_sha1.txt | 11 ++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index dae3ce6..21b23de 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,19 @@

          Recent Releases

          +

          Release 2023-03 of September 28th, 2023

          + +

          Highlights (*): Python-3.11.5, Jupyterlab-4.0.6, Numba-1.25, pandas-2.1.1, scipy-1.11.1, scikit_learn-1.3.1, Poetry

          + +

          Release 2023-02 of July 15th, 2023

          Highlights (*): Python-3.11.4, pandas-2.0.2, SQLalchemy-2.0.15, Jupyterlab-3.6.5, opencv_python, qrcode, python_barcode

          @@ -37,7 +50,8 @@

          Recent Releases

        • WinPython64-3.11.4.0dot = Python 3.11.4 64bit only : Changelog, Packages
        • WinPython64-3.11.4.0 = Python 3.11.4 64bit with PyQt5 + Spyder + Torch : Changelog, Packages
        • -
        +
      +

      Release 2023-01 post1 of May 27th, 2023

      Highlights (*): two fixes versus 2023-01 : WinPython Control Panel and upgrade to toolz-0.12.0

      diff --git a/md5_sha1.txt b/md5_sha1.txt index 5178ec8..c6450e6 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,12 @@ +### WinPython 2023-03 release (September 28th, 2023) + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +e7c9bbe0480296192a087475214d82d0 | c1d70b0602357614f993975ebff149cb8db4d56b | 9399d24addcfa14450b408c1988b0350f4e9d58ab2ae9a2445b9dab6484f4fae | Winpython64-3.11.5.0dot.exe | 25 139 984 Bytes | 368c68f07f5717ec69523f0d0ca3d3de97394c489baa74301a2ad498a767c43e +c6a63eca7bb0ed59612781cb508ce4a7 | 0a1f13fac46a9457ca26144cedc2b6d981ba5d9b | 5b053362706b2cb9561ebd064570813dafc99598b7c7d9473e7361313b820178 | Winpython64-3.11.5.0.exe | 790 793 444 Bytes | 21a9014a64ed7f4ab8668599d744ee54a14893e62f6ad9b5a394ce7b96040d6b +9fe0fd44b0f33c4d23739245c5b491af | 24d47348cf722c79ba354b854733c4e2d808cc83 | 0b2037660064589dd73a58ac17f44d9e657cfc5fcea92cec9223185243a0a3bc | Winpython64-3.11.5.0mkl.exe | 789 143 611 Bytes | c09c0831480e2da584509fa8e2a2ea9a98d87e84eebf5eb8f9061e8ec9b82e31 + + ### WinPython 2023-02 release (July 15th, 2023) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 @@ -542,7 +551,7 @@ ebf731a31cd779b9a9e9df2b0a37ed9f | 296ba7018a3b3168d8296390ac4a01d3dd23dab2 | wi 6d203d40558aebcc80cbef0ef5503aa1 | 7f6477ae92fbecf57497e57628a873bcce14f7cf | winpython-32bit-3.4.3.5.exe | 226 997 189 Bytes 2b9b518146b7f7f010ef1d4ef9691849 | 2b382f36cf8f2144d610748e36fa052839433e98 | winpython-64bit-2.7.10.2.exe | 278 219 513 Bytes f383793798e1899531bf11c33e47cf5b | acaa8e0b62e6741d7d699ea9961ee0cc640c8323 | winpython-32bit-2.7.10.2.exe | 223 506 901 Bytes -2b6b44ac91847974eaf78df69b35b590 | e9cb4b45e850aefa71721d1f866a4f08fd1399b1 | winpython-64bit-3.4.3.5qt5.exe | 286 088 943 Bytes +2b6b44ac91847974eaf78df69b35b590 | e9cb4b45e850aefa71721d1f866a4f08fd1399b1 | winpython-64bit-3.4.3.5qt5.exe | 286 088 943 Bytes From b03dad257615d58859dcc509c64be2e239f9cb06 Mon Sep 17 00:00:00 2001 From: stonebig Date: Thu, 7 Dec 2023 20:00:17 +0100 Subject: [PATCH 37/51] WinPython 2023-04 --- index.html | 22 +++++++++++++++++++++- md5_sha1.txt | 10 ++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 21b23de..38d8cae 100644 --- a/index.html +++ b/index.html @@ -25,11 +25,31 @@

      Github, downloads pages are on Sourceforge and Github, md5-sha , Discussion Group

      +

      Recent Releases

      + +

      Release 2023-04 of December 7th, 2023

      + +

      Highlights (*): Python-3.11.6, Numpy-1.26, Spyder-5.5.0, Torch-2.1.1, hatch-1.7.0, keras-3.0.0

      + + +

      Recent Releases

      Release 2023-03 of September 28th, 2023

      -

      Highlights (*): Python-3.11.5, Jupyterlab-4.0.6, Numba-1.25, pandas-2.1.1, scipy-1.11.1, scikit_learn-1.3.1, Poetry

      +

      Highlights (*): Python-3.11.5, Jupyterlab-4.0.6, Numpy-1.25, pandas-2.1.1, scipy-1.11.1, scikit_learn-1.3.1, Poetry

        WinPython 3.11 Downloads (**) via SourceForge and Github

        diff --git a/md5_sha1.txt b/md5_sha1.txt index c6450e6..bcf79d8 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,13 @@ +### WinPython 2023-04 release (December 7th, 2023) + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +caee336c14ba1f26fcd4c927cead6324 | bf8dd90cb0ce5eed6c673becf2b1175a0775f08f | f9a0d61aa67bc227cc52980de59a412fefa1a046fb77eceb8a968c395461ddeb | Winpython64-3.11.6.0dot.exe | 25 119 557 Bytes | d755b391350b37da3d03b19f824f1943cea94d9942f58f2188c3b40d6f473a1a +a3806b2346de8795572c36c0dd5d57c7 | c03a02245b93ac2925ff64ee83ea85e6910ee923 | eb7faa7ccdbfa4ef0f4e3eb575272ce13d997bdbc57758672ebbe80a7f1845dc | Winpython64-3.11.6.0.exe | 826 835 174 Bytes | 72a8c156b77f94477155c8c6c83149ddd6c553e3def82f0ab50e91e614012e09 +a41642f31097e07f07181eee31737f0b | bc533b5d8d74a91de86ae19a83f70f4c7817fb66 | 2afffd563b0fc5c7a49b3a3d3500a9a624e4e03fe8b616cae808027916babcb3 | Winpython64-3.12.0.1dotb5.exe | 24 095 700 Bytes | 42e9d9801bc26454f60ef530278ac02f08d90911c990991e13f91da08462fec5 +73c01e518a3da0d338fb14be0c67c52c | 7dfbee2cb84686fb88e75a8d453fc41b60d222cb | 2d55dc7bed91858629bafeba5d5e703b51f45c46dc12044dea7f9f709269fdce | Winpython64-3.12.0.1b5.exe | 571 171 632 Bytes | f8aaa787d763e4e350b618cbd19401c49c5197d18b6b1348669df5b41ca10aff + + ### WinPython 2023-03 release (September 28th, 2023) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From 2a92d2cbfb141eb20eff11ab52157c8e6e1191b9 Mon Sep 17 00:00:00 2001 From: stonebig Date: Fri, 16 Feb 2024 19:14:29 +0100 Subject: [PATCH 38/51] WinPython 2024-01 --- index.html | 30 ++++++++++++++++++++++++------ md5_sha1.txt | 10 ++++++++++ 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index 38d8cae..027f654 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,24 @@

        Recent Releases

        +

        Release 2024-01 of February 16th, 2024

        + +

        Highlights (*): Python-3.11.8, Python-3.12.2, ortools-9.8.3296, Pandas-2.2.0, Scipy-1.12.0, Torch-2.2.0

        + + +

        Release 2023-04 of December 7th, 2023

        Highlights (*): Python-3.11.6, Numpy-1.26, Spyder-5.5.0, Torch-2.1.1, hatch-1.7.0, keras-3.0.0

        @@ -34,10 +52,10 @@

        Recent Releases

        WinPython 3.11 Downloads (**) via SourceForge and Github

        -
      • WinPython64-3.11.6.0dot = Python 3.11.4 64bit only : Changelog, Packages
      • -
      • WinPython64-3.11.6.0 = Python 3.11.4 64bit with PyQt5 + Spyder + Torch : Changelog, Packages
      • +
      • WinPython64-3.11.6.0dot = Python 3.11.6 64bit only : Changelog, Packages
      • +
      • WinPython64-3.11.6.0 = Python 3.11.6 64bit with PyQt5 + Spyder + Torch : Changelog, Packages
      • -

        WinPython 3.12 Beta Downloads (**) via SourceForge and Github

        +

        WinPython 3.12 Beta Downloads (**) via SourceForge and Github

      • WinPython64-3.12.0.1b5dot = Python 3.12.0 64bit only : Changelog, Packages
      • WinPython64-3.12.0.1b5 = Python 3.12.0 64bit with PyQt5 + Spyder : Changelog, Packages
      • @@ -54,9 +72,9 @@

        Recent Releases

        WinPython 3.11 Downloads (**) via SourceForge and Github

        -
      • WinPython64-3.11.5.0dot = Python 3.11.4 64bit only : Changelog, Packages
      • -
      • WinPython64-3.11.5.0 = Python 3.11.4 64bit with PyQt5 + Spyder + Torch : Changelog, Packages
      • -
      • WinPython64-3.11.5.0mkl = Python 3.11.4 64bit with PyQt5 + Spyder + Mkl : Changelog, Packages
      • +
      • WinPython64-3.11.5.0dot = Python 3.11.5 64bit only : Changelog, Packages
      • +
      • WinPython64-3.11.5.0 = Python 3.11.5 64bit with PyQt5 + Spyder + Torch : Changelog, Packages
      • +
      • WinPython64-3.11.5.0mkl = Python 3.11.5 64bit with PyQt5 + Spyder + Mkl : Changelog, Packages
      diff --git a/md5_sha1.txt b/md5_sha1.txt index bcf79d8..58aa3f4 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,13 @@ +### WinPython 2024-01 release (February 16th, 2024) + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +877ec60c399af16b81885ea09f4ab319 | 175e026ef524f159cb94036f335755930a3b6d4e | 54c501574df21c3c1883fda4f5e8ff73883ede72844ae6700252143ecc024d47 | Winpython64-3.11.8.0dot.exe | 25 322 382 Bytes | c868b5976becb0db6783a6a8891e039970a33363aab698dd2ede6422925344b3 +93bdc7f442726cbb2980f9ee0cdc049b | f3170aef504fc5e51412b9a40eecfcf73d0d28e5 | 0fa1bad92e7287632ce6c32c263c694b109b714b5d12e56063b2cd4281a71f7c | Winpython64-3.11.8.0.exe | 905 449 468 Bytes | 5820c15f3952a41bcac5981c1c76d15b570c36ced59481e80a45ee2e9af48878 +ffcd3178f8ef2f354f78e08b608926ea | a135f7d26a513924ab55004b3ff6e37ac38d0040 | 50438ca67201125b4be2c278741864b2d40aaeb403849b7abd1805c819e89473 | Winpython64-3.12.2.0dot.exe | 24 295 793 Bytes | 1350fc5fd40e35ceef94b0c8038c2676761b0cc86309f9219e89d23d94b293be +3c72f207183a74869193e473a32fdb8d | 86eaecd38e3be6fa8f4d8b62adf255a1c508dcc2 | 98a93eab929bb13cf6db5b6200ba1fedeff591960da5d4462a48b6b0add9cd55 | Winpython64-3.12.2.0.exe | 884 893 890 Bytes | 097289bcce2594c1c6b69c749a9554c0b4fc43d8af8508ba5a01bc68aea9822f + + ### WinPython 2023-04 release (December 7th, 2023) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From 7e7aa215c1a25ed93fc3067673ec3b5c69e00b12 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 13 Apr 2024 19:15:04 +0200 Subject: [PATCH 39/51] Pre-WinPython 2024-02 refresh --- images/controlpanel01-new.png | Bin 0 -> 36332 bytes images/winpython_launchers-new.png | Bin 0 -> 27237 bytes images/wppm_register_new.png | Bin 0 -> 28320 bytes index.html | 19 +- index_old.html | 462 +++++++++++++++++++++++++++++ 5 files changed, 471 insertions(+), 10 deletions(-) create mode 100644 images/controlpanel01-new.png create mode 100644 images/winpython_launchers-new.png create mode 100644 images/wppm_register_new.png create mode 100644 index_old.html diff --git a/images/controlpanel01-new.png b/images/controlpanel01-new.png new file mode 100644 index 0000000000000000000000000000000000000000..6c15223c56f0596e30ba3e66688aedb9ebf534ce GIT binary patch literal 36332 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 literal 0 HcmV?d00001 diff --git a/images/winpython_launchers-new.png b/images/winpython_launchers-new.png new file mode 100644 index 0000000000000000000000000000000000000000..62d63d4f2911a7aed7646108610da9784b19eab1 GIT binary patch literal 27237 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 PsDI?8RivsUOoRU)(X@vj literal 0 HcmV?d00001 diff --git a/images/wppm_register_new.png b/images/wppm_register_new.png new file mode 100644 index 0000000000000000000000000000000000000000..167665c53e90a203ccfc4699812af4b1540c317b GIT binary patch literal 28320 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 B+uQ&E literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 027f654..cebe92e 100644 --- a/index.html +++ b/index.html @@ -61,9 +61,6 @@

      Recent Releases

    • WinPython64-3.12.0.1b5 = Python 3.12.0 64bit with PyQt5 + Spyder : Changelog, Packages
    - - -

    Recent Releases

    Release 2023-03 of September 28th, 2023

    @@ -396,13 +393,13 @@

    Recent Releases

    WinPython Small Logos

    Overview

    -

    WinPython is a free open-source portable distribution of the Python programming language for Windows 8/10 and scientific and educational usage.

    -

    WinPython Launcher Icons

    +

    WinPython is a free open-source portable distribution of the Python programming language for Windows 10/11(***) and scientific and educational usage.

    +

    WinPython Launcher Icons

    It is a full-featured (see our Wiki) Python-based scientific environment:

    • Designed for scientists, data-scientists, and education (thanks to NumPy, SciPy, Sympy, Matplotlib, Pandas, pyqtgraph, etc.):
        -
      • interactive data processing and visualization using Python with Spyder and Jupyter/IPython, Pyzo, IDLEX or IDLE
      • +
      • interactive data processing and visualization using Python with Spyder and JupyterLab/IPython, or IDLE
      • fully integrated Cython and Numba! See included example
      • connectors (cffi, odbc, rpy2, scilab2py, requests, ...) for advanced users
    • @@ -416,7 +413,7 @@

      Overview

    • Flexible:
      • You can install as many WinPython distributions as you want on the same machine: each one is isolated and self-consistent
      • -
      • These installations can be of different versions of Python (3.7/3.8/3.9...)
      • +
      • These installations can be of different versions of Python (3.7/.../3.12)
    • Customizable:
        @@ -434,8 +431,8 @@

        Overview

        WinPython Small Logos

        Portable or not, the choice is yours!

        -

        WinPython is a portable application, so the user should not expect any integration into Windows explorer during installation. However, the WinPython Control Panel allows to "register" your distribution to Windows (see screenshot below).

        -

        WinPython Register

        +

        WinPython is a portable application, so the user should not expect any integration into Windows explorer during installation. However, the WinPython Control Panel or WinPython Package Manager allows to "register" your distribution to Windows (see screenshot below).

        +

        WinPython RegisterWinPython Register

        Registering your WinPython installation will:

        • associate file extensions .py, .pyc and .pyo to Python interpreter
        • @@ -451,11 +448,13 @@

          Portable or not, the choice is yours!

          (**) Since WinPython 2019-02, all installers are just 7zip auto-extracts. +

          (***) WinPython up to 2020-02 may still work for Windows 7 (report of 2021-02 working for some case do also exist) +

          WinPython Small Logos
          - +
          WinPython Small Logos
          diff --git a/index_old.html b/index_old.html new file mode 100644 index 0000000..027f654 --- /dev/null +++ b/index_old.html @@ -0,0 +1,462 @@ + + + + + + WinPython + + + + + +
          +

          Project Home is on Github, downloads pages are on Sourceforge and Github, md5-sha , Discussion Group

          +

          + +

          Recent Releases

          + +

          Release 2024-01 of February 16th, 2024

          + +

          Highlights (*): Python-3.11.8, Python-3.12.2, ortools-9.8.3296, Pandas-2.2.0, Scipy-1.12.0, Torch-2.2.0

          + + + +

          Release 2023-04 of December 7th, 2023

          + +

          Highlights (*): Python-3.11.6, Numpy-1.26, Spyder-5.5.0, Torch-2.1.1, hatch-1.7.0, keras-3.0.0

          + + + +

          Recent Releases

          + +

          Release 2023-03 of September 28th, 2023

          + +

          Highlights (*): Python-3.11.5, Jupyterlab-4.0.6, Numpy-1.25, pandas-2.1.1, scipy-1.11.1, scikit_learn-1.3.1, Poetry

          + + +

          Release 2023-02 of July 15th, 2023

          + +

          Highlights (*): Python-3.11.4, pandas-2.0.2, SQLalchemy-2.0.15, Jupyterlab-3.6.5, opencv_python, qrcode, python_barcode

          + + +

          Release 2023-01 post1 of May 27th, 2023

          + +

          Highlights (*): two fixes versus 2023-01 : WinPython Control Panel and upgrade to toolz-0.12.0

          + +

          Release 2023-01 of May 25th, 2023

          + +

          Highlights (*): a full WinPython-3.11, Spyder-5.4.3, Panel-1.0.2, Torch-2.0.2, Polars-0.17.11, Duckdb-0.8.0

          + +

          Release 2022-04 of January 22nd, 2023

          + +

          Highlights (*): Spyder-5.4.2, Ipython-8.7.0, Torch-1.13.1, Polars-0.15.6, Duckdb-0.6.0

          + +

          Release 2022-03 of October 30th, 2022

          + +

          Highlights (*): Jupyterlab-3.5.0, Pandas-1.5.1, Numpy-1.23.4, Seaborn-0.12.1, Panel-0.14.1, Duckdb-0.5.1

          + +

          Release 2022-02 of July 16th, 2022

          + + +

          Highlights (*): Jupyterlab-3.4.3, Spyder-5.4.0.dev0, Pandas-1.4.3, Numpy-1.22.4+mkl, Torch-1.12.0

          + +

          Release 2022-01 of May 3rd, 2022

          + +

          Highlights (*): Jupyterlab-3.3.4, Spyder-5.3.0, Pandas-1.4.2, Pyside6 for PyPy

          + + +

          Release 2021-05 of January 25th, 2022

          + +

          Highlights (*): Jupyterlab-3.2.8, Spyder-5.2.2, numpy-1.21.5+mkl, Pandas-1.4.0, Matplotlib-3.5.0, Pyside2-5.15.2.1, Numba-0.55.0, Wasmer-1.1.0

          + + + +

          Release 2021-04 of November 11th, 2021

          + +

          Highlights (*): Jupyterlab-3.2.2, Spyder-5.1.5, numpy-1.20.3+mkl, scipy-1.7.2, scikit_learn-1.0.1, Pandas-1.3.4, Matplotlib-3.5.0pre, Pyside6-6.2.1, dash-2.0.0, streamlit-1.1.0

          + + + +

          Release 2021-03 of July 4th, 2021

          + +

          Highlights (*): numpy-1.21.0+mkl, scipy-1.7.0, scikit_learn-0.24.2, Pandas-1.2.5, Matplotlib-3.4.2, fastai-2.4

          + + + +

          Release 2021-02 of April 21th, 2021

          + +

          Highlights (*): Spyder-5.0.1, VSCode-1.55.2.0, Jupyterlab_git-0.30.0, Matplotlib-3.4.1, Panel-0.11.3, Voila-0.2.9

          + + +

          Release 2021-01 of March 10th, 2021

          + +

          Highlights (*): Spyder-4.2.3, Jupyterlab-3.0.9, VSCode-1.54.1.0, Pandas-1.2.3, SciPy-1.6.1, Numpy-1.20.1+mkl

          + + + +

          Release 2020-05 of December 28st, 2020

          + +

          Highlights (*): Spyder-4.2.1, VSCode-1.52.1, Pandas-1.1.5, scikit_learn-0.24.0, SciPy-1.5.4, Numpy-1.19.4+mkl

          + + + +

          Release 2020-04 of October 31st, 2020

          + +

          Highlights (*): Spyder-4.1.5, Jupyterlab-2.2.9, VSCode-1.50.0, Numpy-1.19.2+mkl, SciPy-1.5.3, PyQt5-Tools

          + + +

          Release 2020-03 of August 22nd, 2020

          + +

          Highlights (*): Spyder-4.1.4, Jupyterlab-2.2.4, VSCode-1.48.0, Numpy-1.19.1+mkl, SciPy-1.5.2

          + + + +

          Release 2020-02 of May 30th, 2020

          + +

          Highlights (*): Spyder-4.1.3, Jupyterlab-2.1.1, VSCode-1.45.1, scikit_learn-0.23.1, Cartopy-0.18.0, Trio-0.15.1

          + + + +
          WinPython Small Logos
          + +

          Overview

          +

          WinPython is a free open-source portable distribution of the Python programming language for Windows 8/10 and scientific and educational usage.

          +

          WinPython Launcher Icons

          +

          It is a full-featured (see our Wiki) Python-based scientific environment:

          +
            +
          • Designed for scientists, data-scientists, and education (thanks to NumPy, SciPy, Sympy, Matplotlib, Pandas, pyqtgraph, etc.): +
              +
            • interactive data processing and visualization using Python with Spyder and Jupyter/IPython, Pyzo, IDLEX or IDLE
            • +
            • fully integrated Cython and Numba! See included example
            • +
            • connectors (cffi, odbc, rpy2, scilab2py, requests, ...) for advanced users
            • +
          • +
          • Portable: +
              +
            • Runs out of the box(*) on any Windows 8+ with 2GB Ram (Jupyter Notebook will require a recent browser)
            • +
            • The WinPython folder can be moved to any location (**) (local, network, USB drive) with most of the application settings
            • +
            • Last WinPython version that is said to still work on Windows 7 should be WinPython64-3.8.9.0
            • + +
            +
          • Flexible: +
              +
            • You can install as many WinPython distributions as you want on the same machine: each one is isolated and self-consistent
            • +
            • These installations can be of different versions of Python (3.7/3.8/3.9...)
            • +
            +
          • Customizable: +
              +
            • The integrated WinPython Package Manager (WPPM) helps installing, uninstalling or upgrading Python packages
            • +
            • It's also possible to install or upgrade packages using pip from the WinPython command prompt
            • +
            • A configuration file allows you to set environment variables at runtime
            • +
          • +
          +

          WinPython is something different from other Python Distributions (see historic motivation and concept):

          +
            +
          • non-invasive: WinPython lives entirely in its own directory, without any OS installation
          • +
          • customizable: add your missing packages, zip the WinPython directory and give it to your students
          • +
          • do your own version: a winpython-creator kit is made available for you
          • +
          +
          WinPython Small Logos
          + +

          Portable or not, the choice is yours!

          +

          WinPython is a portable application, so the user should not expect any integration into Windows explorer during installation. However, the WinPython Control Panel allows to "register" your distribution to Windows (see screenshot below).

          +

          WinPython Register

          +

          Registering your WinPython installation will:

          +
            +
          • associate file extensions .py, .pyc and .pyo to Python interpreter
          • +
          • register Python icons in Windows explorer
          • +
          • add context menu entries Edit with IDLE and Edit with Spyder for .py files
          • +
          • register WinPython as a standard Python distribution (standard Python Windows installers will see WinPython in Windows registry)
          • +
          + That is exactly what the official Python installer would do to your machine: in other words, you can have it both ways! + +

          (*) For recent WinPython, Windows 8..11 users may have to install missing system DLL Microsoft Visual C++ Redistributable for Visual Studio 2017..2019 (vc_redist_x86.exe for WinPython 32bit, vc_redist_x64.exe for Winpython 64bit) + +

          (*) For best Winpython 2018-01 and later experience, it is recommended to have WinPython base directory path smaller than 37 characters. example: C:\Users\xxxxxxxx\Downloads\WinPython + +

          (**) Since WinPython 2019-02, all installers are just 7zip auto-extracts. + + +

          +
          WinPython Small Logos
          +
          + +
          WinPython Small Logos
          + + + From ee9ad48e73bc096b1ce9a48dc0f63324fcb16e3d Mon Sep 17 00:00:00 2001 From: stonebig Date: Fri, 19 Apr 2024 12:53:32 +0200 Subject: [PATCH 40/51] WinPython 2024-02 final --- index.html | 12 ++++++++++++ md5_sha1.txt | 9 +++++++++ 2 files changed, 21 insertions(+) diff --git a/index.html b/index.html index cebe92e..6baa811 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,18 @@

          Recent Releases

          +

          Release 2024-02 of April 19th, 2024

          + +

          Highlights (*): Python-3.12.3, Jupyterlab-4.1.5, Spyder-5.5.4, Numpy-1.26.4, Duckdb-0.10.1, Keras-3.1.1

          + +

          Release 2024-01 of February 16th, 2024

          Highlights (*): Python-3.11.8, Python-3.12.2, ortools-9.8.3296, Pandas-2.2.0, Scipy-1.12.0, Torch-2.2.0

          diff --git a/md5_sha1.txt b/md5_sha1.txt index 58aa3f4..fe309be 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,12 @@ +### WinPython 2024-02 release (April 19th, 2024) + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +54849ef5c9184836c9a2a302a94d3533 | 2bbd296947c11e024850b54cfe81d33f6bcba8c7 | beef54eba558559255a73e59ae1986e8d06a6b12b55e78645ab42b4d6974e124 | Winpython64-3.12.3.0dot.exe | 24 145 153 Bytes | 25b1156596aa8d6bb4dd7be5a8ac83cd6f5dabab09cfd0497575cc808edcd29f +b370dd44d87f8c60d6b5ffab78359d98 | b2ebae84570a8882006bf9f976e14fedfdbe5dd8 | 45d5ab340920f291a3497be30f05bb059d05ca15f5882f58fa943abf956de1ea | Winpython64-3.12.3.0.exe | 894 147 283 Bytes | 258b2e67e81f7e79b345d5a4131345db19a7cbe04af462cbf67e1f6f13f9374a +544001aa7c8fbdfb9c3378f39a7d7749 | 7a5fa99bde2d46b7a2e00e8b63041dcbd6db7974 | 6ed92865e5b9a900c9a50c17a0d31aa013c71ca362788a21376b41d49dd21894 | Winpython64-3.13.0.0dota6.exe | 24 506 401 Bytes | 61e48b2fead528afe71f057186dbadac036061b1a775f656922553b6c9961b7d + + ### WinPython 2024-01 release (February 16th, 2024) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From 4ffb0cf8d2efc726bb3514b4a7cc32ea7510e733 Mon Sep 17 00:00:00 2001 From: stonebig Date: Fri, 19 Apr 2024 20:17:05 +0200 Subject: [PATCH 41/51] add a 32bit wheel I'm weak, but it's ok. --- index.html | 1 + md5_sha1.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/index.html b/index.html index 6baa811..b791e99 100644 --- a/index.html +++ b/index.html @@ -36,6 +36,7 @@

          Recent Releases

        • WinPython64-3.12.3.0dot = Python 3.12.3 64bit only : Changelog, Packages
        • WinPython64-3.12.3.0 = Python 3.12.3 64bit with PyQt5 + Spyder : Changelog, Packages
        • +
        • WinPython64-3.12.3.0dot = Python 3.12.3 32bit only : Changelog, Packages
        diff --git a/md5_sha1.txt b/md5_sha1.txt index fe309be..d9d3af9 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -5,6 +5,7 @@ 54849ef5c9184836c9a2a302a94d3533 | 2bbd296947c11e024850b54cfe81d33f6bcba8c7 | beef54eba558559255a73e59ae1986e8d06a6b12b55e78645ab42b4d6974e124 | Winpython64-3.12.3.0dot.exe | 24 145 153 Bytes | 25b1156596aa8d6bb4dd7be5a8ac83cd6f5dabab09cfd0497575cc808edcd29f b370dd44d87f8c60d6b5ffab78359d98 | b2ebae84570a8882006bf9f976e14fedfdbe5dd8 | 45d5ab340920f291a3497be30f05bb059d05ca15f5882f58fa943abf956de1ea | Winpython64-3.12.3.0.exe | 894 147 283 Bytes | 258b2e67e81f7e79b345d5a4131345db19a7cbe04af462cbf67e1f6f13f9374a 544001aa7c8fbdfb9c3378f39a7d7749 | 7a5fa99bde2d46b7a2e00e8b63041dcbd6db7974 | 6ed92865e5b9a900c9a50c17a0d31aa013c71ca362788a21376b41d49dd21894 | Winpython64-3.13.0.0dota6.exe | 24 506 401 Bytes | 61e48b2fead528afe71f057186dbadac036061b1a775f656922553b6c9961b7d +8f965ddbd46ee44db5ca0b72f5ccd39b | 3504989b7c72cce964ffc0876e1a9798c2b17cf7 | 400a36ceb32275dd7b5d095daf3a10e2545f755e55ab3b157b490024322b07ef | Winpython32-3.12.3.0dot.exe | 22 887 489 Bytes | d6875c01b3564721220cc16646a263ffc713cb462eaf37c92dec828c83818ba8 ### WinPython 2024-01 release (February 16th, 2024) From 0b93b7a758610b950b4e342dce6d21de3384ce4a Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 22 Jun 2024 12:29:30 +0200 Subject: [PATCH 42/51] WinPython 2024-03 final --- index.html | 17 +++++++++++++++++ md5_sha1.txt | 11 +++++++++++ 2 files changed, 28 insertions(+) diff --git a/index.html b/index.html index b791e99..ab21f7c 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,23 @@

        Recent Releases

        +

        Release 2024-03 of June 22nd, 2024

        + +

        Highlights (*): Python-3.12.4, Python-3.13.0b2 free-threading, Jupyterlab-4.2.2, Scipy-1.13.1, scikit_learn-1.5.0, Duckdb-1.0.0

        + +

        Release 2024-02 of April 19th, 2024

        Highlights (*): Python-3.12.3, Jupyterlab-4.1.5, Spyder-5.5.4, Numpy-1.26.4, Duckdb-0.10.1, Keras-3.1.1

        diff --git a/md5_sha1.txt b/md5_sha1.txt index d9d3af9..04a7c92 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,14 @@ +### WinPython 2024-03 release (June 22th, 2024) + + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +ea2f0d6a1e44c2b08b1706541e0588e1 | 5f04216632e3f5f0ecd58d634efbdde11dc7e3c0 | 0b2bd40fec6c15eb61f113262d9d2dc0a957282dfcb89a017140e06ad932e1d2 | Winpython64-3.12.4.1dot.exe | 24 167 661 Bytes | f66f57d3994f32fc5e2274b79c740fc98560977cd0a698c596ceebf347b76c4f +bf2fb1452b011b1a729c5682f9883e7f | 9549c5d16fbfee8669e7b923d8dbfec32cf6b204 | 08903f02514f59c891e3d56d3ff0d092a7d8571daf66237a5a2c2698068981ec | Winpython64-3.12.4.1.exe | 906 901 445 Bytes | adcc4a1c104e3b9c529c5c4fa86d8edf49caf18aa3fce641210bb752d1a18bfb +b944d4a32b2973f378cee4cab958d621 | a7ed44fb8fd1cda710dadf1f0d181cc78df91c34 | b4cb7a28284eb36ab0abffc9c751e2302e40430af0af930c365816e33c84a528 | Winpython64-3.13.0.0dotb2b.exe | 24 443 923 Bytes | d131db5b89594380c4b653d30fdda1a7d2344c86715d47d52c6bfe1761c39913 +38e87ff395374b09f90bdd4868a996b0 | a0421a5f41ac6e6a69629f4f0d2258f3f219ce23 | 08f9a6f75816045d26e38babbde4a04c7da36b7f07863332548fb586a59bcd4b | Winpython64-3.13.0.0freeb2b.exe | 30 644 666 Bytes | aa877cc35e9e47450991d569277fe203708857be231baaa0149f78ddf7110545 + + ### WinPython 2024-02 release (April 19th, 2024) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From c49dd4c8de84321465ff79b33911f8d94db83e81 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 14 Sep 2024 09:14:24 +0200 Subject: [PATCH 43/51] WinPython 2024-04 final --- index.html | 21 ++++++++++++++++++++- md5_sha1.txt | 14 +++++++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index ab21f7c..dec21f2 100644 --- a/index.html +++ b/index.html @@ -27,7 +27,26 @@

        Recent Releases

        -

        Release 2024-03 of June 22nd, 2024

        +

        Release 2024-04 of September 14th, 2024

        + +

        Highlights (*): Python-3.11.9, Python-3.12.6, Python-3.13.0.1rc2, Numpy-2.0.1, Scipy-1.14.1, Torch-2.4.1, a slim version

        +

        Release 2024-03 of June 22nd, 2024

        Highlights (*): Python-3.12.4, Python-3.13.0b2 free-threading, Jupyterlab-4.2.2, Scipy-1.13.1, scikit_learn-1.5.0, Duckdb-1.0.0

          diff --git a/md5_sha1.txt b/md5_sha1.txt index 04a7c92..6bb1975 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,5 +1,17 @@ -### WinPython 2024-03 release (June 22th, 2024) +### WinPython 2024-03 release (September 14th, 2024) + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +d3a0d99078b70e13b50b8c693ac23cc5 | 7b1e3f6ea970bddca752bd9ca9088ea30d869f96 | 47d8fb81b0402a61d31cd41f6e4f1a4fe0ee34fc4de781bbc0f23b2835b348f7 | Winpython64-3.11.9.0dot.exe | 25 830 003 Bytes | 353952b8317754ef4370a2502a99db84f4b4ee2df681e09f40e06dd90e72ac36 +1e903de80669230c7f9f571a3e8a6253 | 281f573e62a727bbf916f36cd8c627db20372635 | 5e1c9e8eedac716c4808075aace1863f74f67d4f8c78a77b4cc2e4d13c51a8c6 | Winpython64-3.12.6.0dot.exe | 24 376 540 Bytes | 7f903ca6b2c616596f5e9fa27dac0a9634b5fe23291b7e1ca8a05a99985846ca +2dbb301939001f07a115a2fd9252f721 | ce347726b7150cdd045928ef6b33194f70041d56 | 1f5532eceb35df957cd974d4650b35f8560f4499bcfbfd2d76c520658210ae21 | Winpython64-3.12.6.0slim.exe | 629 924 055 Bytes | d0c66369d569c8dafdfdb190501073b097049f916753feccf0baa4154564de06 +1665f6854db2c662173b0af67a6c5c08 | 655f9435c4e145a056fb265d9ccdb786240b7d0d | dbd0fcf0997295d44068878521bad4063748765fc4921a9ca40df15f6ac050a3 | Winpython64-3.12.6.0.7z | 887 408 957 Bytes | 351910364b96ef945ee26f87ebccdaa463712f5c5bb287c11d506ff526d7bc43 +b1ad8631fa563fc44593022d31404a6d | 7a7e7536299b3c561b856a3215e3e542056ef927 | e5b7fe7970903f0207836299ebac57c2dc6d7a95e6dbd9b7e9a25fd24fd157dd | Winpython64-3.13.0.1dotrc2.exe | 24 642 967 Bytes | e19c8a9273a458ed38d88e749a0d7d265098d50f2c79105128391593e6dcc905 +a4b43f8e4a7ce78ffd3ee865e37e1ec3 | 793650e4f33c2d247bf91dc29b2d3b8fddc95831 | 8e58df9400d4e713f2f51794f3f13d683e366d1f5438499bdd352139268a640c | Winpython64-3.13.0.1freerc2.exe | 33 311 716 Bytes | 07778110c64e4531281597e121084cba1a6f2d25ce2f28537567d6cdfcda6d36 + + +### WinPython 2024-03 release (June 22th, 2024) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 ---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- From 1d68b567a5c06b10cf12475bc7c2e1f73c05a242 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 14 Sep 2024 18:15:22 +0200 Subject: [PATCH 44/51] two typos --- index.html | 2 +- md5_sha1.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index dec21f2..8099e46 100644 --- a/index.html +++ b/index.html @@ -29,7 +29,7 @@

          Recent Releases

          Release 2024-04 of September 14th, 2024

          -

          Highlights (*): Python-3.11.9, Python-3.12.6, Python-3.13.0.1rc2, Numpy-2.0.1, Scipy-1.14.1, Torch-2.4.1, a slim version

          +

          Highlights (*): Python-3.11.9, Python-3.12.6, Python-3.13.0rc2, Numpy-2.0.1, Scipy-1.14.1, Torch-2.4.1, a slim version

            WinPython 3.11 Downloads (**) via SourceForge and Github

            diff --git a/md5_sha1.txt b/md5_sha1.txt index 6bb1975..975ae48 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,4 +1,4 @@ -### WinPython 2024-03 release (September 14th, 2024) +### WinPython 2024-04 release (September 14th, 2024) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From 17b7d99514987ed264661bdaa9774c8def2c3273 Mon Sep 17 00:00:00 2001 From: stonebig Date: Fri, 3 Jan 2025 14:19:28 +0100 Subject: [PATCH 45/51] WinPython 2024-05 final same as rc --- index.html | 24 +++++++++++++++--- index_old.html | 68 ++++++++++++++++++++++++++++++++++++++++++-------- md5_sha1.txt | 15 +++++++++++ 3 files changed, 94 insertions(+), 13 deletions(-) diff --git a/index.html b/index.html index 8099e46..3050e4a 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,22 @@

            Recent Releases

            +

            Release 2024-05 of January 3rd, 2025

            + +

            Highlights (*): Python-3.12.8, Python-3.13.1, Numpy-2.1.3, scipy-1.14.1, numba-0.61.0rc3, jupyterlab-4.3.4, scikit-learn-1.6.0

            +

            Release 2024-04 of September 14th, 2024

            Highlights (*): Python-3.11.9, Python-3.12.6, Python-3.13.0rc2, Numpy-2.0.1, Scipy-1.14.1, Torch-2.4.1, a slim version

            @@ -43,10 +59,12 @@

            Recent Releases

            WinPython 3.13 Downloads (**) via SourceForge and Github

            -
          • WinPython64-3.13.0.1rc2 = Python 3.13.1rc2 64bit only : Changelog, Packages
          • -
          • WinPython64-3.13.0.1rc2 = Python 3.13.1rc2 64bit only : Changelog, Packages
          • +
          • WinPython64-3.13.0.1rc2 = Python 3.13.0rc2 64bit only : Changelog, Packages
          • +
          • WinPython64-3.13.0.1rc2 = Python 3.13.0rc2 64bit only : Changelog, Packages
          • -

          Release 2024-03 of June 22nd, 2024

          +
        + +

        Release 2024-03 of June 22nd, 2024

        Highlights (*): Python-3.12.4, Python-3.13.0b2 free-threading, Jupyterlab-4.2.2, Scipy-1.13.1, scikit_learn-1.5.0, Duckdb-1.0.0

          diff --git a/index_old.html b/index_old.html index 027f654..8099e46 100644 --- a/index_old.html +++ b/index_old.html @@ -27,6 +27,55 @@

          Recent Releases

          +

          Release 2024-04 of September 14th, 2024

          + +

          Highlights (*): Python-3.11.9, Python-3.12.6, Python-3.13.0rc2, Numpy-2.0.1, Scipy-1.14.1, Torch-2.4.1, a slim version

          +

          Release 2024-03 of June 22nd, 2024

          + +

          Highlights (*): Python-3.12.4, Python-3.13.0b2 free-threading, Jupyterlab-4.2.2, Scipy-1.13.1, scikit_learn-1.5.0, Duckdb-1.0.0

          + + +

          Release 2024-02 of April 19th, 2024

          + +

          Highlights (*): Python-3.12.3, Jupyterlab-4.1.5, Spyder-5.5.4, Numpy-1.26.4, Duckdb-0.10.1, Keras-3.1.1

          + +

          Release 2024-01 of February 16th, 2024

          Highlights (*): Python-3.11.8, Python-3.12.2, ortools-9.8.3296, Pandas-2.2.0, Scipy-1.12.0, Torch-2.2.0

          @@ -61,9 +110,6 @@

          Recent Releases

        • WinPython64-3.12.0.1b5 = Python 3.12.0 64bit with PyQt5 + Spyder : Changelog, Packages
        - - -

        Recent Releases

        Release 2023-03 of September 28th, 2023

        @@ -396,13 +442,13 @@

        Recent Releases

        WinPython Small Logos

        Overview

        -

        WinPython is a free open-source portable distribution of the Python programming language for Windows 8/10 and scientific and educational usage.

        -

        WinPython Launcher Icons

        +

        WinPython is a free open-source portable distribution of the Python programming language for Windows 10/11(***) and scientific and educational usage.

        +

        WinPython Launcher Icons

        It is a full-featured (see our Wiki) Python-based scientific environment:

        • Designed for scientists, data-scientists, and education (thanks to NumPy, SciPy, Sympy, Matplotlib, Pandas, pyqtgraph, etc.):
            -
          • interactive data processing and visualization using Python with Spyder and Jupyter/IPython, Pyzo, IDLEX or IDLE
          • +
          • interactive data processing and visualization using Python with Spyder and JupyterLab/IPython, or IDLE
          • fully integrated Cython and Numba! See included example
          • connectors (cffi, odbc, rpy2, scilab2py, requests, ...) for advanced users
        • @@ -416,7 +462,7 @@

          Overview

        • Flexible:
          • You can install as many WinPython distributions as you want on the same machine: each one is isolated and self-consistent
          • -
          • These installations can be of different versions of Python (3.7/3.8/3.9...)
          • +
          • These installations can be of different versions of Python (3.7/.../3.12)
        • Customizable:
            @@ -434,8 +480,8 @@

            Overview

            WinPython Small Logos

            Portable or not, the choice is yours!

            -

            WinPython is a portable application, so the user should not expect any integration into Windows explorer during installation. However, the WinPython Control Panel allows to "register" your distribution to Windows (see screenshot below).

            -

            WinPython Register

            +

            WinPython is a portable application, so the user should not expect any integration into Windows explorer during installation. However, the WinPython Control Panel or WinPython Package Manager allows to "register" your distribution to Windows (see screenshot below).

            +

            WinPython RegisterWinPython Register

            Registering your WinPython installation will:

            • associate file extensions .py, .pyc and .pyo to Python interpreter
            • @@ -451,11 +497,13 @@

              Portable or not, the choice is yours!

              (**) Since WinPython 2019-02, all installers are just 7zip auto-extracts. +

              (***) WinPython up to 2020-02 may still work for Windows 7 (report of 2021-02 working for some case do also exist) +

              WinPython Small Logos
              - +
              WinPython Small Logos
              diff --git a/md5_sha1.txt b/md5_sha1.txt index 975ae48..330882e 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,18 @@ +### WinPython 2024-05 release (January 3rd, 2025) + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +3378af265aefee3129171e3165448cfb | cfa99a4fed09996492fd72e2a0d8a441a46050b3 | 2727f61b2702232337a46e39c006f24bd1084395cdf27d076c55d39756c406cc | Winpython64-3.12.8.0dot.exe | 23 442 531 Bytes | efde9241b8922abab035f388e1125069a43bb9d3d48ec5d1667b7d81b4d47061 +139c4bbd020a3082ba164c3e7d32ef59 | a09a8a71047e2b0a5c4f39585249de862c279130 | fabb3f7af4e00fd1b45874d37a63ed2239f62c0935834aa91b83645ba04cd7ba | Winpython64-3.12.8.0dot.7z | 23 227 496 Bytes | 186585ae19af5abf541f88a2a7d6acccc894565280c4e5ca93afdff408160a97 +6e72ee9a3e348c2b3babb90762e85e29 | 65e1f774b02f20c8d386c058a3ed1f797a22d20e | c4c59403370e62169bbeba06f140f0da76b2ee5a5a51ebcfdb3d3ad663b2688a | Winpython64-3.12.8.0slim.exe | 672 113 338 Bytes | 219537f13844cdae7ecc4d00053830e7572a66b46b7f4cdc2c41b6131e6213c9 +07fcf9589f8470a53abfa0320d77ba2a | 3c24c434e4b95d131ef4b6b9703cbaf2a96d41c3 | c872dcb59302af13ce098e6904dff8fe778cd950b8219189d8634bade609bdbb | Winpython64-3.12.8.0slim.7z | 671 899 744 Bytes | 7111b4bf2ee2497296ab0d022606fbcad7d291f8ff10a0cf768dfc44a42423f4 +2d60b1a863fed5cf63d7430d0904a461 | e2a2838cecec6bdeb9d48b998e1b41b362649063 | 338a117a537b9b061314fc38f1a957c34b851d8399edc9705261810da6f2e167 | Winpython64-3.13.1.0dot.exe | 25 157 185 Bytes | 09ec69f4e2e2487b6636cb5f4b242091f9c1b0f9b1c3b2e78b2d4fa0fee0c56d +7699b8f3727548585c17fa806dfc4d14 | 6e5cc08f958f3c92674a18451a3e1d2a6e49894b | 582985c573c900d1120fc0eae54290c607e578eb055679673170f9ef943c13a2 | Winpython64-3.13.1.0dot.7z | 24 942 148 Bytes | da0233c851631a8d12c86e0d6781e092d562874d8a7c1b337ccd1fac7c235efb +db2769c756bc3eb4bd40a941dc667d72 | 5bfcc0492025b606681563c3c73d8b2e5b415313 | 47b9a4ce75efb29d78dda80716d6c35f9a13621efd3a89ef8242a114ef8001a3 | Winpython64-3.13.1.0dot.zip | 39 640 324 Bytes | 1c37c1a2f32e43770f6d105948d7866acd5331c1a19b1c70c5d276604db2a45c +efe121af4dca37595c871fec340a2bda | 44e6d681f5c6ffb7f1e1fef27ecd800cf04d0fff | ed86375c2d6a9de8bddf9889058e299f50ea26432e00e9a74d1d20771e388c55 | Winpython64-3.13.1.0slim.exe | 600 808 320 Bytes | 9f2ed14f54002545e6999321bb981ccb74e280b6786fa289aba7bc09877d71a9 +a24d30ebbf06848279f3a46ed60d42d7 | 982e4c1eb1fcb03432ac4f5eac0d252a9fd65776 | 87fb127b075f0de76f854da6e17bc02819e093cd6b87f7a94d4831c7c490a286 | Winpython64-3.13.1.0slim.7z | 600 593 165 Bytes | 882600d3c84c9734cdace8f1445c60777a91b6678541ee6755b816509ecfb234 + + ### WinPython 2024-04 release (September 14th, 2024) From 9753978f26e7fdeee63617eadc8b0a315d7536d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E4=B9=9D=E9=BC=8E?= <109224573@qq.com> Date: Tue, 7 Jan 2025 15:44:26 +0800 Subject: [PATCH 46/51] fix typo --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 3050e4a..b1372e0 100644 --- a/index.html +++ b/index.html @@ -90,7 +90,7 @@

              Recent Releases

            • WinPython64-3.12.3.0dot = Python 3.12.3 64bit only : Changelog, Packages
            • WinPython64-3.12.3.0 = Python 3.12.3 64bit with PyQt5 + Spyder : Changelog, Packages
            • -
            • WinPython64-3.12.3.0dot = Python 3.12.3 32bit only : Changelog, Packages
            • +
            • WinPython32-3.12.3.0dot = Python 3.12.3 32bit only : Changelog, Packages
            From 8f738f05001f947f01ef4242b66ad2cca89e710a Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 1 Mar 2025 18:32:35 +0100 Subject: [PATCH 47/51] 2025-01 final --- index.html | 18 +++++++++++++++++- md5_sha1.txt | 19 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 3050e4a..f8afa07 100644 --- a/index.html +++ b/index.html @@ -26,7 +26,23 @@

            Recent Releases

            - + +

            Release 2025-01 of March 1st, 2025

            + +

            Highlights (*): Python-3.12.9, Python-3.13.2, scipy-1.15.1, numba-0.61.0, jupyterlab-4.3.5, scikit-learn-1.6.1

            +

            Release 2024-05 of January 3rd, 2025

            Highlights (*): Python-3.12.8, Python-3.13.1, Numpy-2.1.3, scipy-1.14.1, numba-0.61.0rc3, jupyterlab-4.3.4, scikit-learn-1.6.0

            diff --git a/md5_sha1.txt b/md5_sha1.txt index 330882e..a5e7b0a 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,22 @@ +### WinPython 2025-01 release (March 1st, 2025) + + MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|--------------------|----------------------------------------------------------------- +8aef7e46e862e543d38bed851d0d6505 | fe32d81a13bfd830b5c2820eb9f545ea2dc3302d | 2bcb5bda5d6d27ffce3cccadd772599d534edcbcbca7cb59124e015b3919db68 | Winpython64-3.12.9.0dot.zip | 38 280 444 Bytes | 9f2a468504c56bfb28fec03e47c6526b546098801f21e5137a58dd302838cc6d +b6fdc51ec5aa7cc449e3e31ab4750899 | f623dc942a6e572a078a2cc71ddc0532d6fd7aef | bf240df0e6ba72499dbea42ba4638264bb777f4d59822df0033f421a342c5188 | Winpython64-3.12.9.0dot.7z | 23 093 610 Bytes | db09d389d7ac6a8e2cfb5369ad910ffcf60ee673894f0ad0a94386409f1d582c +39dcdd15299ac9a0aa068290432b6c89 | 80c48b7a91446019c1444b85be1124e8b27b9393 | bf1be605dffa97207ab108d9d8dcab2f51c597fc31bebb5e6067811c93402fd3 | Winpython64-3.12.9.0dot.exe | 23 308 650 Bytes | b4f20a6d870c99628fed5fa070ef4bf9312fabc91be926267ec9b9919d1f2353 +e5c92eca86d5063d7c927b87ca7a979a | eabb5add549cda18e7405c8dbe64f163ab92aa05 | 13a08f3bd516558ebca224bb44cc61d763e679b821a1bf240a700a093e7d47fc | Winpython64-3.12.9.0slim.7z | 616 678 094 Bytes | ddcb6f9118e3e2522e920049cb44d82fdcd8e48bfe5f7a30faf1706742971951 +688a2be695eda8f59d0cc690326d1299 | d9e9ddaea543964d9e9743aec86ee7b342f5480f | 02936d96bb488d111136dce11b08afa189b51f57f59d8d0e7068bea2a5fa67c0 | Winpython64-3.12.9.0slim.exe | 616 892 419 Bytes | bcb6fdccc898a2d70d0f8ba7f80d9a056062fcc5d4cc78845dc979ee46e9292e +6a8d945c058d9fb08b78235bbf8d7ae6 | bcbf848ed72de9b4595ee44faeec15a084408c06 | 0f984ca5dfc195a265a8b547be43891caed9a8770ba8a13b6f87b45990f12704 | Winpython64-3.13.2.0dot.zip | 39 737 933 Bytes | 10008fb4a9193332a1cf5a0d180e503d3860a708a3add9a021c1b23c72ac767a +51617e557c70a78f70153b92c784ea69 | 217e21a9292ede8ddc50f4628a0a031c2320be3b | 069f4a9a32b713f27d5a8f8ffccf2658580eeea7df7120b414b3fd74e7fc099e | Winpython64-3.13.2.0dot.7z | 24 777 973 Bytes | b2e6ae219ea69c5f212534cd8a52e0c2bf0506b272b643be5884a52251da4125 +7f509cb8aba38aa748b35014ef7d8c1c | a37826beb8474d678e6dac8d263c3062055e1050 | ecba739bd41459656b632306f316da73980bae84e62b540f14c03affb8ac2d93 | Winpython64-3.13.2.0dot.exe | 24 993 013 Bytes | 4f51cba5d6533bbe59367f925649da08c008cf40aaa564a1ee9134799311b83e +6486a208002d34492af762d33e51c058 | bd1af3dbd687ed1797ac61a85df74f25efb1578b | dcdcb0608d74333bfb987219150f418b0c9637328703a5c12786ad1e24d5485b | Winpython64-3.13.2.0slim.7z | 621 789 094 Bytes | 112a12e15435b200c22055407553879554e3487bed5118468ee2cd6a3c56fff2 +04b8e6e1dc61e2871b5cf522c76ab471 | 7d66dd128689ae80dbfdb589604572bdf204fc9b | 865c54d31aec95f3138b934a4c0a4ff440ac7a27d82b1a9667c61a80ec4d764f | Winpython64-3.13.2.0slim.exe | 622 004 549 Bytes | fd1ad38146a6323be31c7a35aa39c31dd26b6c3d9328da97b71c6a3dcea622f9 +99a59eda2bf37dfab76bcffcae9cd3a7 | 77df69ec8875a7733c60ce2f0d78ced356d7b4c9 | fc66c242a6fe975dd85c764bd1068ad944440684a2bdc8599c2e5a13b5ca29cd | Winpython64-3.14.0.0dota5b.zip | 40 495 265 Bytes | 8344a7e9a40d15d12fe6e3682b86a72ff512136d4cdc65ebca321cd3283c088e +a0a66a0d00aeefcc185327999fd044c8 | 501888e481f95f824ca7e3160ea117f4f302385e | 92a9a6da1faef872ade0905cf01471831da54ff628b722a4e1d5b4d2a9338f8c | Winpython64-3.14.0.0dota5b.7z | 25 110 864 Bytes | 38275cae601dbbd83fba9591930c893e71b7ea7a8333b2acc0a5a2bde85001bb +91d3e6ebb32677e6ed9674f5e91fc538 | 931baf8ea70e052e4d87d7dc89d8cdb9c3c277e2 | e4933634b52e0b4ae498ddd1302ecf2ccb8b3de95df8af5120f9f298c2b64d3d | Winpython64-3.14.0.0dota5b.exe | 25 325 904 Bytes | fe50cdcb5328813d783cf92b0b2bb16ef6330d7f45d6888fab1f0fcc208c1b16 + + ### WinPython 2024-05 release (January 3rd, 2025) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From 020d989fbbf01500924adf3caa53c38607ab85f5 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sun, 4 May 2025 12:08:37 +0200 Subject: [PATCH 48/51] WinPython 2025-02 final --- index.html | 25 +++++++++++++++++++++---- md5_sha1.txt | 18 ++++++++++++++++++ 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index f8afa07..9d34732 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,23 @@

            Recent Releases

            +

            Release 2025-02 of May 4th, 2025

            + +

            Highlights (*): Python-3.12.10, Python-3.13.3, numpy-2.2.4, duckdb-1.2.2, jupyterlab-4.4.1, spyder-6.0.5, a requirement with hash-256

            + +

            Release 2025-01 of March 1st, 2025

            Highlights (*): Python-3.12.9, Python-3.13.2, scipy-1.15.1, numba-0.61.0, jupyterlab-4.3.5, scikit-learn-1.6.1

            @@ -39,7 +56,7 @@

            Recent Releases

            WinPython 3.13 Downloads (**) via SourceForge and Github

            -
          • WinPython64-3.13.2.0 = Python 3.13.2 64bit only : Changelog, Packages
          • +
          • WinPython64-3.13.2.0dot = Python 3.13.2 64bit only : Changelog, Packages
          • WinPython64-3.13.2.0slim = Python 3.13.2 64bit only : Changelog, Packages
          @@ -496,7 +513,7 @@

          Overview

        • Flexible:
          • You can install as many WinPython distributions as you want on the same machine: each one is isolated and self-consistent
          • -
          • These installations can be of different versions of Python (3.7/.../3.12)
          • +
          • These installations can be of different versions of Python (3.7/.../3.13+)
        • Customizable:
            @@ -518,7 +535,7 @@

            Portable or not, the choice is yours!

            WinPython RegisterWinPython Register

            Registering your WinPython installation will:

              -
            • associate file extensions .py, .pyc and .pyo to Python interpreter
            • +
            • associate file extensions .py and .pyc to Python interpreter
            • register Python icons in Windows explorer
            • add context menu entries Edit with IDLE and Edit with Spyder for .py files
            • register WinPython as a standard Python distribution (standard Python Windows installers will see WinPython in Windows registry)
            • @@ -537,7 +554,7 @@

              Portable or not, the choice is yours!

              WinPython Small Logos
              - +
              WinPython Small Logos
              diff --git a/md5_sha1.txt b/md5_sha1.txt index a5e7b0a..2ab82bc 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,21 @@ +### WinPython 2025-02 release (May 4th, 2025) + +MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|----------------------|----------------------------------------------------------------- +b5a3814f26dade2f6ee9acf983427a8e | b3826baea1606868628128bab5527e3600342fbf | 517eff0673658da3f2da64a28afbd7733fb91807f7d074d3a9e9e6c0eb1dd523 | Winpython64-3.12.10.0dot.7z | 23 076 535 Bytes | e3e4b8b944e79cf20dea5e7691c24485a5b68bb70d34df6edfb181fd499b0335 +6f354778174e04fdb4c4c28c7a543f31 | 5d1bd5bd76dcb0e61df1a268e4ce47f56acbfe6f | b6d196d72ce443ccfbdb5a640f5645a7ade742092fddde65d73755c4eba89a1d | Winpython64-3.12.10.0dot.exe | 23 291 575 Bytes | 785f61ee3821d772bdbff037f86a4229d707c97d97f2508e8cdd03f81c1a8436 +431e37ef366ebe9ae30fa7fb162bb314 | 32965a55a8bc119b96875c542d9a08c6f4ed9b75 | bcb2a87ef210076ff4507a4a644bfb82daa0c2361e7945e5cb7de161450460f6 | Winpython64-3.12.10.0dot.zip | 38 334 544 Bytes | ab0b83f09299291a36298754a445429964f610f507b18e484f6bdf572880acbe +6e7131129ff75dd4e8832f7be131dcc3 | 4d6c5b10d4b3044b9a70597fcd4fd34cd5e2b2a8 | 294c287c4a9918c730d26188e2dc34e97a92431c83515165f04c2ea8d33f0c1d | Winpython64-3.12.10.0slim.7z | 624 548 662 Bytes | f0b952a2fe29837783b69dcb4259369ee5c1d40a3220ad0b4dd82b1668322973 +3cefa92f927471aeef6c1fa3b7911166 | 1699db6b9c44b605c9f2031201bb58a46a260f0e | 3ea3368ca0e9182c03e8e0bc38b65c5398dd4f8aee7ccf5ab38d5a9226af6b9a | Winpython64-3.12.10.0slim.exe | 624 763 614 Bytes | 8584e33e01025ce04d0e429f2c08c7fe94576901aabf030341b21e0837ed5966 +95c7326579dbd4a16cb2f5b56a141673 | f28906c1e3e4ba073f0363a4e35326f9e8090ce1 | 13abddd4cc2702be56b672c868d0d1bc085e80748dc7d7e9315ab4080f157f3b | Winpython64-3.13.3.0dot.7z | 24 839 744 Bytes | 1cb42e1ea66116bc0e7804fb44bb519140d5a5acc9bb63c650ef38dc138ca0bb +bccca9b3e79dfbc13d14837e3ba85c9b | 41c805812b778ccaf3781701264b23e6c9908069 | a6b1882b8eff8a44782bfeec7e5228826ebd38c4234e10ba38a52a85860c41d0 | Winpython64-3.13.3.0dot.exe | 25 054 784 Bytes | eea4a48f72d3ca7e784e86883ef2b46cd48a75fd68321c1088e9ed8c11ad47bd +06a5eb8fa4f7447ad63b7e214b126fd7 | 80ab8340798a318c09ffe07a77a920d5d1eda2b7 | f7ef5a6cfe23b7f39f87c128594fc6c7f73f42f9516a0b828dac0da187af68ec | Winpython64-3.13.3.0dot.zip | 39 870 933 Bytes | a4f9a910f55c5efdbb843874384d5295ff3b3a45d27cab63f74d2f215f9d798c +40e207597ddecd78f60e8474d8dc3c81 | 5e4df5e04424a754b33e4a63f4ae31d0a65eb0a5 | 0ee4eaa17ed86fbcb9e861989e08c85dcf13ca1ef067c52f4fc8b68dd7836c46 | Winpython64-3.13.3.0slim.7z | 629 049 097 Bytes | f275d41a374ff5f3b75decbe65cd52a54c1ac8157edeb62f377dfa2278201ccb +312a8e7fa70b5b58e44f69c1066687a8 | 12e992d1e40fb04c0e7fe367a983dc27ef88b151 | 9abfd2a54ba314dfe573792a573ad31a43e63765f7b77c2002849086a1a47c5e | Winpython64-3.13.3.0slim.exe | 629 265 120 Bytes | 87fc9b086fae8a07b234fcced8b428cd0c3367a9ff068cd3c28b661813c94cab +588e3a1a7ddc461f528270a302a3b667 | a77e443c86c1d21c9a177193e69847efa6346373 | 060046dc83030a639d50396f403a28556ebbd87495bb14045b21118e6cff4c4b | requirement_hash.WinPython64-3.12.10..0slim.txt | 78 133 Bytes | 54d3902407c7c935d83681796585e24d80478f68d22d62ff500d4072ab0385b0 +fb5edb31a3f1e0e7f43eb810f5dd4032 | c6c043e8ec9c7af50eb2d297a91c1b87d3bc7074 | 225500ba0b3aea779b24f7b17bece53250b24380390685bac5ae6c5804f68367 | requirement_hash.WinPython64-3.13.3.0slim.txt | 78 125 Bytes | 1b3d8ff70b049c368ae848d69331faf2ceb19ddc6821ec3549e5511ecac7f393 + + ### WinPython 2025-01 release (March 1st, 2025) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From 2438a94a50aa1b75004c63040d83892ce6f356bc Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 28 Jun 2025 13:12:51 +0200 Subject: [PATCH 49/51] WonPython 2025-03 --- index.html | 21 ++++++++++++++++++++- md5_sha1.txt | 22 ++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 0d9227a..3c9712e 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,25 @@

              Recent Releases

              +

              Release 2025-03 of June 28th, 2025

              + +

              Highlights (*): Python-3.12.10, Python-3.13.5, numpy-2.2.6, duckdb-1.3.0, spyder-6.0.7, whl variant with 'to install' standard wheels

              + +

              Release 2025-02 of May 4th, 2025

              Highlights (*): Python-3.12.10, Python-3.13.3, numpy-2.2.4, duckdb-1.2.2, jupyterlab-4.4.1, spyder-6.0.5, a requirement with hash-256

              @@ -40,7 +59,7 @@

              Recent Releases

              WinPython 3.13 Downloads (**) via SourceForge and Github

            • WinPython64-3.13.3.0dot = Python 3.13.3 64bit only : Changelog, Packages
            • -
            • WinPython64-3.13.3.0slim = Python 3.13.3 64bit only : Changelog, Packages
            • +
            • WinPython64-3.13.3.0slim = Python 3.13.3 with PyQt5 + Spyder : Changelog, Packages
            diff --git a/md5_sha1.txt b/md5_sha1.txt index 2ab82bc..6bc9f65 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,25 @@ +### WinPython 2025-03 release (June 28th, 2025) + +MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|----------------------|----------------------------------------------------------------- +6e986d2daa963800ad7deaa7b151c895 | ab9600442433d577f044d3c7604ba8193407bcd4 | 8ec81761447c1c9ff143f4faa7b86351787f8c0314ce249aac260a5972b9edf2 | Winpython64-3.12.10.1dot.exe | 23 422 054 Bytes | 58a57d858663de7ed45c5b53835e73102213c881784aab64635ecfb1fe03565d +97fba9cbd845601843fda825155caac1 | 9607229783d66c505894b4b2547af41891c4f669 | 7a1f004aec39615977b2b245423a50115530d16af3418df77977186a555d0a40 | Winpython64-3.12.10.1dot.zip | 38 519 826 Bytes | 543db8fd8cecba4bf6e72596f55d4cacbf2fe49fb9d397b26024088788cdbfba +b1df445794a2826a7355ae29cfc467d8 | 27a2807265bcd574f0338013311227a4c0b29001 | a320f799843712b0c3aa5bcb0fb472cd36dc74615a1436c976c4bf6e8a4ac29f | Winpython64-3.12.10.1slim.7z | 630 560 365 Bytes | 50a4da7c92586357f8730f3bc7174a409edd7ee4aebb9bc49440b2976d89bcca +0cc2ac82631562ec87d1c608eaab9ef1 | ba69116fc9bd2d728ff15a29f588275995fc94db | 62c935050f1bfe3165f2b0c60f8195bdcbee12e83d0a0f360e7a8f7dc60bf40a | Winpython64-3.12.10.1slim.exe | 630 775 751 Bytes | 62df47ca5c8e3d01ce620ff35d267cf118354380ce116f96d84674d189b01290 +2b97ec540e90243038319bbab4346885 | c2d7bb5d981ab38a621a97b95396bcc06f688f61 | 0c526a46fa72ed78cfa45b5332c491fa476bf41f11b2feab90fa7bd48e90724d | Winpython64-3.12.10.1whl.7z | 669 141 991 Bytes | a81cf5421045ba498e7f810c882d0bfd58f5885bc78a34623a2ed85d4529fe90 +12f60270841f87960ff6ce4e5f72d988 | b2f58a6def515cc63be9adf49071630da2edb1e6 | 9f9488eca6aba8fbe75cccde84457b6753cb100a66a4c6c9116107907c4df096 | Winpython64-3.13.5.0dot.exe | 25 108 248 Bytes | 9e649e6667b632bf4b9dd834d985fd1150aaa56e084f564e8d5fde7411b9b7b4 +7aa09c30d44f49abcb6df551fb604dad | 5cf05836d06c0146b7994003568e2b3187dc86c6 | 2727803b134290dcf8b06447b8c122a04ec4e0c592a481c1b6db1b9fa41a09fc | Winpython64-3.13.5.0dot.zip | 39 977 050 Bytes | 16debf3592081a2a7e03931278365b49b28134501d9faee0b252a0f7ebeee2e1 +cbb360471ca828b7753b0ee20e55a3ad | 8bd495def05b5187075e538be1eff957abcff24d | 12c22b0223fe59da9831ba42d44f042826bc8502e15801b9c26ecc3c77dac8aa | Winpython64-3.13.5.0slim.7z | 635 310 049 Bytes | 8e5dd9adf60dd0765743d98c1f13b0e579177a33975fb3df7e30c3290fe01373 +830ffba4935017c13fa2b36d169c08eb | fad23f5af5f5e5584ff21ba02b31c367762e4813 | 495364ef366806a08e649bcaaa32284252f2d317c0360380d467e4b9a01a5428 | Winpython64-3.13.5.0slim.exe | 635 525 645 Bytes | f410fae1fafe18ff07de184d697ed665dc55cf3ce6f073e26bada38110b1e1e1 +549c1e98f751d78e55b655ced2b37dfb | a17413cb2ebe292baa393a9c39b1445569fbac92 | 21422ba5ad05af2306e4fbea0cf95ed0df2df06ed301c6b6ffa6f8f289be61ff | Winpython64-3.13.5.0whl.7z | 670 983 739 Bytes | 5bfe915c4db5edfd7a5da3b34adb28df8eae2714ffb6835ca4349571bb95f7e9 +957f4ce2220f86f9a0dfd544c1059347 | ac6bff0f2a9d70761f51fccd541a3936a81f79ed | a54b5dc8a1d5dba697d52069349a5d3b4fdd1f78090c3bbd73c5a46ddbe4a536 | Winpython64-3.14.0.0freeb3.exe | 27 604 465 Bytes | 11179b50e8fe98fa5b515db33e66aa08ea84dc4ad05f164f010df11784af7e05 +aa72d902262d409f0d0dd66d1b22a1b5 | 6cf322bf92b8093e95bf64955b8caec7fddd9430 | 23230dad12ebac1dd58043782d8a534143711bbada51e6f0d1f827ba08eb987a | Winpython64-3.14.0.0freeb3.zip | 46 626 549 Bytes | a788f5daee00a97832087a90ac2baea1852f7640fa57f46f250552d09d874886 +49a26ef054a744792de6e50586feeb5f | 2c99b9b9ceafa8c634624a1d0fed3f52e716d770 | db37ea4a33b9dfe618d788776547f0657408fb6b75b5429433990d43be4ac712 | pylock.64-3_12_10_1slim.toml | 190 459 Bytes | da71bf8b4465fd4f2f138606cc9a7e2c5003ef2a0b53b2c1cf1cca3ec4863578 +6c9b240066e3aab4e0489cf60e76653e | 1669cfe258a50ac8bdd34776a2a38ef4489e44e1 | 543fb039c8e01f1d8e38473b0624ce75949d68d92b1fbf738aff18341f8a67d1 | pylock.64-3_13_5_0slim.toml | 190 441 Bytes | 26aac2e1c0a87b392aa203a7d51d6879612738f66b3b06b259fef45fff2f1521 +aa96bb795c6908f28692972f8a64ca13 | 40981f9fb851ac0f46cd39fbbbb1eac07d5154ff | 1b22a3b8e157cac0b8958dd46858130ab7d416b5f01d0664f53ca649c5f5f148 | requir.64-3_12_10_1slim.txt | 52 262 Bytes | 40fd3a79f147a9b3cf5ea65b5e0d8a314bc14bde3b242eadf04a447399c8556b +22dc7e0e65f98bcf03b5ce04f6ac8ebd | a2278e6a4289191eab32b9a94ba96311633a81eb | 8e297bc7c44a717be162877e57f41763ed414b2aa8e76c87077141158786705c | requir.64-3_13_5_0slim.txt | 52 262 Bytes | 986685832cb240e3728af2770c25b0dc07666f21c627453ada41cb201b56d8f4 + + ### WinPython 2025-02 release (May 4th, 2025) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From d384b37189d3ed3355e2cad0f856ad4c9becc134 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sat, 27 Sep 2025 16:56:26 +0200 Subject: [PATCH 50/51] WinPython 2025-04 --- index.html | 18 ++++++++++++++++++ md5_sha1.txt | 25 +++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/index.html b/index.html index 3c9712e..1b0f501 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,24 @@

            Recent Releases

            +

            Release 2025-04 of September 26th, 2025

            + +

            Highlights (*): Python-3.13.7, Python-3.14.0rc3, numpy-2.3.3, duckdb-1.4.0, polars-1.33.1, all published builds are made in Github Actions

            +
              + +

              WinPython 3.13 Downloads (**) via SourceForge and Github

              + +
            • WinPython64-3.13.7.0dot = Python 3.13.7 : Packages
            • +
            • WinPython64-3.13.7.0slim = Python 3.13.7 with pre-installed wheels : Packages
            • +
            • WinPython64-3.13.7.0whl = Python 3.13.7 with ready to installed wheels : Packages
            • + +

              WinPython 3.14 Downloads (**) via SourceForge and Github

              + +
            • WinPython64-3.14.0.1dot = Python 3.14.0rc3 : Packages
            • +
            • WinPython64-3.14.0.1free = Python 3.14.0rc3 free-threading : Packages
            • +
            + +

            Release 2025-03 of June 28th, 2025

            Highlights (*): Python-3.12.10, Python-3.13.5, numpy-2.2.6, duckdb-1.3.0, spyder-6.0.7, whl variant with 'to install' standard wheels

            diff --git a/md5_sha1.txt b/md5_sha1.txt index 6bc9f65..5b21f65 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,28 @@ +### WinPython 2025-04 release (September 26th, 2025) + +MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|----------------------|----------------------------------------------------------------- +408cccc837ec4f9668ac1a7f41932074 | d9bf153e507f41ead98e2472840678b693a4b31a | 75001c40e8507db4c408f298ce8f49d483efb5ebfa9bdfb50a0509d31bd028f5 | WinPython64-3.13.7.0dot.exe | 16 754 267 Bytes | c9ebe8929f7670864fdefbb4406930fdb0e00c6ab169e45ceb081b2650c210fd +2666a08d437933baaab90fe9f0ec5f2c | 7cb457dee1b21d848778e7cf8c5e8161e11b3d8b | c0f3b1a2809106f4a1a2260ba9d7421fe84b820593c51e818fc5da4f475ff54e | WinPython64-3.13.7.0dot.zip | 27 456 595 Bytes | 3eaf13c90dd6e1f3a503778a2f7c5be673b087ce74a156d36edcb27b7a093383 +8d56b5cdfa66ded570efd2ead505512d | 0b87de3914aab555a51a71ca70c2c4fc7feb3b34 | 5adc17d32782637ed7c2aea62fcd43695dfc0e404022a749ec66511807b34a9c | WinPython64-3.13.7.0slim.7z | 627 262 451 Bytes | b52a28758908ab16f2d6f1dc59c1123d68b867335e2b1cb98e068e5c58fae24d +fb0bdb1be73e2cf6d8005f888fd636f8 | f17b5186cbd57369dd1513aee4d0a65787e18590 | 001d225c86c647f78a92a607e1e1c83cc65f913500a5e20d26bf650cd6122f13 | WinPython64-3.13.7.0slim.exe | 627 456 240 Bytes | ac7d420c9d42337990ea76148bfdc52f6cfa7f07f977fea44669c58771ffa576 +30a9dfc21ac881c03867c500b3567660 | 61dd49eb2b194c3614c41524f4d059a46debc7a5 | 99c15de3c2101deaf04cf20e1152b900246802d0bd1a7503897110abc8fa94d4 | WinPython64-3.13.7.0whl.7z | 651 725 342 Bytes | fa8c7fcaa21603255a7f5ec2e30528e2033a6e25863b471a574dcd4513b7f1d6 +a3d5e95e4a6de5dfe138a3bf879d3b96 | 5b773ec367380bfd2f0c6637c300e5212635711a | 064ffc8d2290e5d9c3596766cfad94496067e48d8bfc8a1393e2d6c3c2b9e022 | WinPython64-3.14.0.1dot.exe | 17 523 393 Bytes | 45fec792af583e468850802a7fcc95e91f9345fa01191d8dde2c9921577c7c5c +2466720ea204b48155291385dbf413ec | 296e9e910a146bf7d4bf88968b422b383a5efdb9 | 7c4da002094b653ea1e82fc6894769295b694531fc7bf9a7d9884e5a89a4330e | WinPython64-3.14.0.1dot.zip | 28 622 712 Bytes | a48542d9a3f897600ed238ad87b680f67562b91bc3a029c0290d3631b0d151b4 +919df0ca14a14d285a96ac0e133c8532 | 021a5461d3a29691de39b6ae8001d28d59cd4770 | d46c3f6a8f759e312e321a209a73948187dbea0ae44b4a81b6d9630899489304 | WinPython64-3.14.0.1free.exe | 18 446 863 Bytes | 98f9de1bc60640e769ddad8bbd7e3f89f33ee9bc869e40d245b016aa106632c6 +186bd847ed3b55d79b375178f09a70e9 | 4ecae7333094a23801b46fa3c109ef14bfdeee9c | 74b5050b77d0e00b3165fd04705fed136740dc20e97b952c53fa8e9d62a42387 | WinPython64-3.14.0.1free.zip | 34 011 568 Bytes | fcfd262bd323d4978239d1c32a1f2a229cdf0edb1f5116317b77b68bb5fdd522 +ebf4c96408ed2d627b35ad0080fd7f21 | 640d8a4889e2f6af85bdd1c9800dded201d892a4 | 095feff28919297fc3a34b6366d662b28312ec8fa0069dbb8061a76d1450c0b3 | pylock.64-3_13_7_0dot.toml | 3 446 Bytes | 9b5e065de49026469a5ea56a2ea7aebd59856cecb080b5826dbd16741a3b83cf +765537b43433ab0064d7d00f4a13fcbe | d30e6e895cef94d3dec5f9ac83724d4234e16a93 | c9e1a6a91884c1219106f8aaeceae55c6555a1699760fbb3ea4b5ca047003fd7 | pylock.64-3_13_7_0slim.toml | 193 844 Bytes | 830f9562a889a356f8a201d87c09705182f6aaa3edb7785b6ebfb607add2a8ab +628312ce324cfaa15c7b6c99c112686d | 5ef1f641ba0933d8206d7f629d8936ea5510b284 | 1ff947977a4212dcd1ee8d0fb4e723ce8df65e1abd3d670d8bc105699f5032ad | pylock.64-3_13_7_0whl_wheels.toml | 187 329 Bytes | ab44cea3a118362d942ea73ae204be9d72f34d66e20e9b51a097ef1c10259fb7 +ebf4c96408ed2d627b35ad0080fd7f21 | 640d8a4889e2f6af85bdd1c9800dded201d892a4 | 095feff28919297fc3a34b6366d662b28312ec8fa0069dbb8061a76d1450c0b3 | pylock.64-3_14_0_1dot.toml | 3 446 Bytes | 9b5e065de49026469a5ea56a2ea7aebd59856cecb080b5826dbd16741a3b83cf +ebf4c96408ed2d627b35ad0080fd7f21 | 640d8a4889e2f6af85bdd1c9800dded201d892a4 | 095feff28919297fc3a34b6366d662b28312ec8fa0069dbb8061a76d1450c0b3 | pylock.64-3_14_0_1free.toml | 3 446 Bytes | 9b5e065de49026469a5ea56a2ea7aebd59856cecb080b5826dbd16741a3b83cf +87bd0e81ef2bd7ac5aee3bbaafe8e561 | 42d9a9208e20e352163b3bccdf4c848f2e589de8 | f2bb627ff670fa0c25995a85b3ecf0c89eafdb5e7f3171889a92bf8734494eb4 | requir.64-3_13_7_0dot.txt | 943 Bytes | 823e5045b2e64f588153523f2306a273b266703ef7b78e5b97f1f865094a100d +1f53e22196a9ecafd62b021c9f321771 | 47dd4e0dc281a340bfda7836c8675cce3ca5444b | 3d7bb0234efceba846fcabb613b4b782208a3163189c2f1e320b248435f14d69 | requir.64-3_13_7_0slim.txt | 53 196 Bytes | e3a17a94b170704c5520b08ef64fe1f5d2a664181f9d39ff077a361e89538e3f +356b62c052e511f8fca3063fdadb3fa9 | 48667d509cbd86ea9cafec6fd0dfc74e442e2129 | ccd3124a8fb25910fdee5d5949e26edb5da24c2610f6efaaadc093824d0f8484 | requir.64-3_13_7_0whl_wheels.txt | 51 400 Bytes | da34898eddbda15f95e1bf71e30ba3fdddab75abf4d9b0aea637caae4d4c65f2 +87bd0e81ef2bd7ac5aee3bbaafe8e561 | 42d9a9208e20e352163b3bccdf4c848f2e589de8 | f2bb627ff670fa0c25995a85b3ecf0c89eafdb5e7f3171889a92bf8734494eb4 | requir.64-3_14_0_1dot.txt | 943 Bytes | 823e5045b2e64f588153523f2306a273b266703ef7b78e5b97f1f865094a100d +87bd0e81ef2bd7ac5aee3bbaafe8e561 | 42d9a9208e20e352163b3bccdf4c848f2e589de8 | f2bb627ff670fa0c25995a85b3ecf0c89eafdb5e7f3171889a92bf8734494eb4 | requir.64-3_14_0_1free.txt | 943 Bytes | 823e5045b2e64f588153523f2306a273b266703ef7b78e5b97f1f865094a100d + + ### WinPython 2025-03 release (June 28th, 2025) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 From 37a3cac0e4cfdab5eea5de1e52f0bc41d0859220 Mon Sep 17 00:00:00 2001 From: stonebig Date: Sun, 28 Dec 2025 11:29:41 +0100 Subject: [PATCH 51/51] WinPython 2025-05 --- index.html | 26 ++++++++++++++++++++++++++ md5_sha1.txt | 22 ++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/index.html b/index.html index 1b0f501..c05a0d3 100644 --- a/index.html +++ b/index.html @@ -27,6 +27,32 @@

            Recent Releases

            +

            Release 2025-05 of December 27th, 2025

            + +

            Highlights (*): Python-3.13.11, Python-3.14.2, Python-3.15.0a3, duckdb-1.4.3, polars-1.36.1, numba-0.63.1, 3.14 free-threading (beta) stack in progress

            +
              + +

              WinPython 3.13 Downloads (**) via SourceForge and Github

              + +
            • WinPython64-3.13.11.0dot = Python 3.13.11 : Packages
            • +
            • WinPython64-3.13.11.0slim = Python 3.13.11 with pre-installed wheels : Packages
            • +
            • WinPython64-3.13.11.0whl = Python 3.13.11 with ready to installed wheels : Packages
            • + +

              WinPython 3.14 Downloads (**) via SourceForge and Github

              + +
            • WinPython64-3.14.2.0dot = Python 3.14.2 : Packages
            • +
            • WinPython64-3.14.2.0slim = Python 3.14.2 : Packages
            • +
            • WinPython64-3.14.2.0whl = Python 3.14.2 : Packages
            • + +
            • WinPython64-3.14.2.0free = Python 3.14.2 free-threading : Packages
            • +
            • WinPython64-3.14.2.0slimf = Python 3.14.2 free-threading : Packages
            • + +

              WinPython 3.15 Downloads (**) via SourceForge and Github

              + +
            • WinPython64-3.15.0.0dot = Python 3.15.0a3 : Packages
            • +
            + +

            Release 2025-04 of September 26th, 2025

            Highlights (*): Python-3.13.7, Python-3.14.0rc3, numpy-2.3.3, duckdb-1.4.0, polars-1.33.1, all published builds are made in Github Actions

            diff --git a/md5_sha1.txt b/md5_sha1.txt index 5b21f65..e75d255 100644 --- a/md5_sha1.txt +++ b/md5_sha1.txt @@ -1,3 +1,25 @@ +### WinPython 2025-05 release (December 27th, 2025) + +MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256 +---------------------------------|------------------------------------------|------------------------------------------------------------------|-----------------------------------|----------------------|----------------------------------------------------------------- +b024b94c2b71efe83449a0ce5187c738 | 661e56d6b1eef07f35e89e61391ca82a8c76e922 | 6aa266700f7221c26b368d30214e87b5c1739b152a25835bf1d8b5b7bea889de | WinPython64-3.13.11.0dot.exe | 17 102 170 Bytes | c57c0273da1b873306aabf584d49bf8460ddf31e610e3e10f52cdde99e0b28ec +643296ada08e09ab9c0aef26a96a018e | e11c71bd99e6bbb3397d4e94bdf54a40feebc755 | b16e28f9c4694ff2687475fdd42a0a88c41cfa2131f9752888a5effe938bab6d | WinPython64-3.13.11.0dot.zip | 27 924 172 Bytes | 7122a18c73181a690787381bacca9eb9c9f2ef52c2793226587ae70ad80eaf70 +f82a95af92230a9c469ac7fdb8e25689 | 2b0e90953d66e76b6bdacf9a527a6c887a285026 | d177f8cb1c65b140c600660a5150a3076d6c9683e0ed248d8765e7cc87de4f7c | WinPython64-3.13.11.0slim.7z | 652 827 504 Bytes | 249e953a312a55a1ac603f2eef7a356c402036f4ae148a1e664d245fd6a6cac5 +4cf78db45447012fa28df784f193f465 | eb13fa9ffb372cbee3976980da5138d05c07108f | beef5086c728a93f16b63e72cb036904efc8b8f290d42a340876aeaaa0d228f6 | WinPython64-3.13.11.0slim.exe | 653 041 917 Bytes | fce53ff056953c3f8d2b2f8604219438a9ee0e6d6be18557dd5e0be8a5bc5562 +e315e41352f3eac7fb6bf2c6d0377ca8 | 665efe9364326778d7fcd126634259f95b9def14 | e11dba9049331996a45ab49a13ff400a216ebf9dad5f96578be1526ccafe1bf3 | WinPython64-3.13.11.0whl.7z | 682 180 032 Bytes | 07fed883a4530172673a06461418ec2eaa1c1fa4cde7af6669f82ffa6fddab2f +ba0b65a0ddc95fcad152c55353d4c845 | 447c2af9663da0f9864644b2a65e7cfa018b3164 | 2e171c3ffff57a248a4169711d06e9e18d668254e831259e0abeb3826352deec | WinPython64-3.14.2.0dot.exe | 17 550 857 Bytes | f5f800515d552779a8c0579bfd3b0133310308cf971810416889fe24b950770e +02a650909cff927352239de8d9ca0362 | 07e464c3259e5be0d139dbe110f4baf6d3fd8ec7 | cc7b8945c5a83b82ba5b521acd49974d6c13c775e48ba2214223ff1e0c4a71cf | WinPython64-3.14.2.0dot.zip | 28 534 934 Bytes | f96a25950a64478845f4fcb71d00dfe3bb07c6b10c53d79a6acad03526959eaf +c3ab8e8db3850c2af664b40e20cd4ee9 | 32345e35962d5bc7f26808bc30785acd2d9ce817 | 16c5ce9bf81b465da7d9ef459da8b231449aed17e58c75f7d69b61cd0c1684c8 | WinPython64-3.14.2.0free.exe | 35 879 390 Bytes | cd6dd227382be83c62c3ac8f684cc92a9f1e788f11889b55c15068afa8513210 +2c161da507a9c2dc13eebadeb366c8dd | ec4bb578efa541f79c3da58115ccf96223039bbb | 56104765d1652a24a78e052710028807ad13bb49a0088e9176e2158e1f5ed535 | WinPython64-3.14.2.0free.zip | 63 333 518 Bytes | 0c5b694bd31cc5027a2ed79cc3fee4c27bb4b038eeab5d5de1ec16ad74f188e6 +7542393b5d5c562492b4b83f1add4956 | afe365a5b82fbdfef7cae5e67a0ffc8633b889cd | c669b79ae00e463070cee551f30a58ba64d19450ff1f8506b4a9593b638b4d1c | WinPython64-3.14.2.0slim.7z | 629 942 261 Bytes | b019bda7069d4423d5efe5ddc48a6e403ac5a4dc55d66fbc5ea8ec2069bcd869 +fb9845177149b1182bf0265f482d6d4c | 1aae7aba2dd172aeb8c60ac4ef10ee6fc324a73b | e3cedbca7e4a93c61669d6977981b8b9bed051303e2ab05398af7572d0e40d94 | WinPython64-3.14.2.0slim.exe | 630 156 450 Bytes | c9556d2369dd868f447177c1a51ae1ac82a7a775edf0e02fd2ae0830990ae15c +236d09c310456b8a8bd97cfc4b944265 | f8279fea1b4f458e228724b21c2457b725c5b799 | ccd3f03357e70cc8f1a59dda56abd07c5fbd8a71a37f2c7f9e3bbac066de5ba4 | WinPython64-3.14.2.0slimf.exe | 401 231 921 Bytes | 0ceefd31ebb0c7a6cf39af217bb448f97f0f489d8980436ce6cbf6410f9faec8 +55f4f78e56021824ae4711be21b1a752 | 0dd73e21deb33816b75dfb1fe7ba10fa284ea3db | 8a7064e1faab997354d95aeb942144e516e7a4bc65773cbcacb308fbb7740e3f | WinPython64-3.14.2.0slimf.zip | 709 112 336 Bytes | af5b18e503128947a78a0cbbe097387ebb95331027a08ff303354cbbfcfff4fc +1b2139fc266249d95bd5065a83ff6929 | c5ef282d26a1327f6e0cb2a715ff896747d19647 | eb6c672f289c37087d9c666c9346bb82b8e7aea62c6c1e80104adde703f8dc88 | WinPython64-3.14.2.0whl.7z | 623 600 790 Bytes | adb21905ae2019bf5e680c64fb61c7bef51925b698e31987f2d66c4e13148587 +7fd74d6158a8abe0b4e64b08212800fb | cc4957d57e34bc05d3a828b20a77982441368616 | c0d3d8944795bdff5862b4e5ccf8030be6fc4f72a7c7c9330a56783a990f4b0a | WinPython64-3.15.0.0dot.exe | 18 032 419 Bytes | bbc7d9c5204393e8a806bb97b7a34f7e21b4bdb2033440506c1a5fd2bf264317 +15e39f06c22addf7c3f594324fda69c0 | 9e03e202a66796372631da43a4bdf2f3f03ec123 | e87f313de3c7d89e70cda3160a62f34083d4ed49888302e9b10f94169fda386c | WinPython64-3.15.0.0dot.zip | 29 178 554 Bytes | a94ce6551081c762172348612ff75561af6471febd6b9374388f1172e7e2bcef + + ### WinPython 2025-04 release (September 26th, 2025) MD5 | SHA-1 | SHA-256 | Binary | Size | blake2b-256